亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法和設備的制作方法

文檔序號:6443725閱讀:521來源:國知局

專利名稱::一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法和設備的制作方法
技術領域
:本發(fā)明涉及互聯(lián)網(wǎng)
技術領域
,尤其涉及一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法和設備。
背景技術
:行存儲方式是目前主流的關系數(shù)據(jù)庫存儲技術實現(xiàn)方式,其基本思路是:將數(shù)據(jù)按照行為單位進行存儲,并通過索引技術提高查詢的效率。該方式很適合OLTP(On-LineTransactionProcessing,聯(lián)機事務處理)的場景,在頻繁的插入、刪除、更新操作,以及小數(shù)據(jù)量(若干行)的查詢方面優(yōu)勢較為突出。但是,隨著PB(PetaByte,千萬億字節(jié))級別的超大型數(shù)據(jù)倉庫的出現(xiàn),行存儲方式的不足逐漸顯現(xiàn)。由于傳統(tǒng)的數(shù)據(jù)倉庫產(chǎn)品是以行為單位進行存儲的,且數(shù)據(jù)倉庫查詢操作多而更新和插入操作較少,而多數(shù)查詢分析都是基于某些特定列進行操作。因此,通過行存儲方式實現(xiàn)的數(shù)據(jù)倉庫不可避免的會帶來非必要的IO(Input/Output,輸出/輸入)操作。同時,行存儲方式實現(xiàn)的數(shù)據(jù)倉庫存儲單元中的數(shù)據(jù)的共性較少,不利于數(shù)據(jù)壓縮。正是針對上述行存儲數(shù)據(jù)倉庫的不足,列存儲數(shù)據(jù)倉庫應運而生。其基本實現(xiàn)思路是將數(shù)據(jù)按照列為單位進行存儲,并通過鏈接表示不同的列值之間的關系。因為它是基于列進行存儲的,可以很好的克服上述行存儲數(shù)據(jù)倉庫的缺陷。但是,列存儲數(shù)據(jù)倉庫同樣也有不足:首先,雖然數(shù)據(jù)倉庫的多數(shù)操作是針對某些特定的列而非全部列,但是多數(shù)的操作是針對某幾列而非某一列,這些操作在以單個列為單位進行存儲的列存儲數(shù)據(jù)倉庫產(chǎn)品中,必然會增加更多的查詢開銷。其次,由于列存儲數(shù)據(jù)倉庫出現(xiàn)的時間較短,雖然基本的數(shù)據(jù)倉庫功能已經(jīng)很好的滿足,但是很多傳統(tǒng)的行存儲數(shù)據(jù)倉庫功能比如存儲過程等,還無法兼容,這增加了用戶遷移數(shù)據(jù)倉庫系統(tǒng)的難度。另外,讓用戶放棄多年的數(shù)據(jù)倉庫產(chǎn)品投資,而轉向全新的列存儲數(shù)據(jù)倉庫產(chǎn)品,本身也是一個艱難的抉擇。
發(fā)明內容本發(fā)明實施例提供一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法和設備,以實現(xiàn)基于行存儲數(shù)據(jù)庫的列存儲技術。為了達到上述目的,本發(fā)明實施例提供一種行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法,包括:數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建對應的統(tǒng)一視圖;其中,所述數(shù)個列表分別與所述目標數(shù)據(jù)表的各列一一對應;當所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。本發(fā)明實施例還提供一種數(shù)據(jù)庫系統(tǒng),包括:接收模塊,用于接收用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句以及對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求;模擬器模塊,用于當所述接收模塊接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建對應的統(tǒng)一視圖;其中,所述數(shù)個列表分別與所述目標數(shù)據(jù)表的各列--對應;處理模塊,用于當所述接收模塊接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。與現(xiàn)有技術相比,本發(fā)明實施例提供的技術方案中,數(shù)據(jù)庫系統(tǒng)根據(jù)接收到在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與目標數(shù)據(jù)表對應的數(shù)個列表;當接收到對行存儲數(shù)據(jù)庫中的目標數(shù)據(jù)表中的數(shù)據(jù)的處理請求時,對相應列表中的數(shù)據(jù)進行相應處理,實現(xiàn)了在現(xiàn)有行存儲數(shù)據(jù)庫產(chǎn)品的基礎上模擬列存儲數(shù)據(jù)庫產(chǎn)品,使用戶在不需要更換數(shù)據(jù)庫產(chǎn)品的前提下獲得列存儲技術的優(yōu)點。圖1為本發(fā)明實施例中提供的數(shù)據(jù)庫系統(tǒng)的工作原理示意圖;圖23為本發(fā)明實施例提供的一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法的流程示意圖;圖4為本發(fā)明實施例提供的一種數(shù)據(jù)庫系統(tǒng)的結構示意圖。具體實施例方式針對現(xiàn)有技術中行存儲技術和列存儲技術各自的缺陷,本發(fā)明實施例提供了一種數(shù)據(jù)處理的技術方案,在現(xiàn)有行存儲數(shù)據(jù)庫的基礎上,模擬列存儲數(shù)據(jù)庫,以使行存儲數(shù)據(jù)庫產(chǎn)品用戶無需進行存儲數(shù)據(jù)庫產(chǎn)品更換即可獲得列存儲技術的優(yōu)點。為了實現(xiàn)基于行存儲數(shù)據(jù)庫的列存儲技術,本發(fā)明實施例提供的技術方案通過在現(xiàn)有的行存儲數(shù)據(jù)庫系統(tǒng)(以下簡稱“數(shù)據(jù)庫系統(tǒng)”)中設置列存儲模擬器(以下簡稱“模擬器”),并通過該模擬器對數(shù)據(jù)庫系統(tǒng)接收到的建表/刪表SQL語句進行相應的處理,實現(xiàn)行存儲數(shù)據(jù)庫中的列表創(chuàng)建和刪除。下面將結合本申請中的附圖,對本申請中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本申請的一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。如圖1所示,為本發(fā)明實施例中提供的數(shù)據(jù)庫系統(tǒng)的工作原理示意圖,其中:通過利用本發(fā)明實施例提供的數(shù)據(jù)庫系統(tǒng)中設置的模擬器,DBA(DatabaseAdministrator,數(shù)據(jù)庫管理員)只需要直接輸入標準的建表/刪表SQL(StructuredQueryLanguage,結構化查詢語言)語句即可實現(xiàn)列表的創(chuàng)建和刪除。其中,當數(shù)據(jù)庫系統(tǒng)接收到建表SQL語句時,通過模擬器將其分解為相應的列表創(chuàng)建SQL語句,并根據(jù)該列表創(chuàng)建SQL語句創(chuàng)建相應的列表;同時,模擬器根據(jù)接收到的建表SQL創(chuàng)建對應的統(tǒng)一視圖。其中,統(tǒng)一視圖即為對應所述建表SQL語句的數(shù)據(jù)表的虛擬映射表,該統(tǒng)一視圖與現(xiàn)有行存儲數(shù)據(jù)庫中的數(shù)據(jù)表的形式一樣。通過統(tǒng)一視圖,用戶可以使用現(xiàn)有行存儲數(shù)據(jù)庫的數(shù)據(jù)操作和訪問方式實現(xiàn)對上述列表的操作和訪問。相應地,當數(shù)據(jù)庫系統(tǒng)接收到刪表SQL語句時,可以通過模擬器根據(jù)該刪表SQL語句刪除相應的統(tǒng)一視圖;同時,模擬器對接收到的刪表SQL進行解析,將其分解為相應的列表刪除SQL語句,并根據(jù)該列表刪除SQL語句刪除相應的列表。在本發(fā)明實施例中,當接收到建表SQL語句時,模擬器通常先創(chuàng)建列表后建立統(tǒng)一視圖;當接收到刪表SQL語句時,模擬器通常先刪除統(tǒng)一視圖后刪除列表。當列表創(chuàng)建后,用戶可以直接根據(jù)統(tǒng)一視圖對相應的列表進行操作(包括插入數(shù)據(jù)、刪除數(shù)據(jù)和更新數(shù)據(jù))和訪問(包括查詢數(shù)據(jù))。由于模擬器對用戶輸入的標準SQL語句的轉換對用戶來說是完全透明的,用戶對表的操作和訪問與傳統(tǒng)對行存儲數(shù)據(jù)庫產(chǎn)品的訪問一樣,對訪問相應的表的應用所造成的影響較低。基于上述數(shù)據(jù)庫系統(tǒng)的工作原理,本發(fā)明實施例提供了一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法,如圖2所示,可以包括以下步驟:步驟201、數(shù)據(jù)庫系統(tǒng)接收用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表SQL語句。具體的,用戶可以在模擬器的輸入界面上輸入建表SQL語句,并根據(jù)實際情況選擇目標行存儲數(shù)據(jù)庫的類型。其中,目標行存儲數(shù)據(jù)庫類型可以包括目標行存儲數(shù)據(jù)庫產(chǎn)品的型號和版本。步驟202、數(shù)據(jù)庫系統(tǒng)在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建統(tǒng)一視圖。具體的,數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,可以通過模擬器對該建表SQL語句進行解析,得到所建表的表名和該表中各列的列名。對于每一個列名,模擬器可以創(chuàng)建一個對應的列表。其中,列表的表名與所建表的表名以及相應列的列名相對應。例如,列表的表名可以為“表名列名”。每個列表至少可以包括兩列,其中一列用于存儲行標識(RowID),另一列用于存儲數(shù)據(jù)表中相應列的數(shù)據(jù)。對應于同一個數(shù)據(jù)表的不同列表(由同一個建表SQL語句分解成的列表創(chuàng)建SQL語句對應的列表)之間通過RowID相互關聯(lián)。例如,數(shù)據(jù)庫系統(tǒng)接收到建立一個20行*4列(分別為id、name、age以及salary)的員工基本信息表(表名為t)的建表SQL語句,數(shù)據(jù)庫系統(tǒng)通過模擬器對該SQL語句進行解析,獲取相應的表名(t)和列名(id、name、age以及salary),并對應每一個列名,分別創(chuàng)建一個列表,即共建立4個列表,分別記載相應20個員工的id、name、age以及salary(表名可以分別為id_t、name_t、age_t以及salary_t)。其中,每一個列表可以包含2列,其中一列用于存儲行標識(row_idl20),另一列用于存儲相應的數(shù)據(jù),對應數(shù)據(jù)表t的4個列表之間通過RowID相互關聯(lián)。同時,數(shù)據(jù)庫系統(tǒng)還可以通過模擬器對建表SQL語句進行解析,生成創(chuàng)建統(tǒng)一視圖SQL語句,并根據(jù)該創(chuàng)建統(tǒng)一視圖SQL語句創(chuàng)建相應的統(tǒng)一視圖。例如,模擬器可以以RowID為連接標識將同一數(shù)據(jù)表的列表進行關聯(lián),并創(chuàng)建對應于該數(shù)據(jù)表的統(tǒng)一視圖。其中,在本發(fā)明實施例中,統(tǒng)一視圖即為對應同一數(shù)據(jù)表的不同列表聯(lián)合映射成的一張?zhí)摂M的表,統(tǒng)一視圖的名字可以為表名。步驟203、當所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。具體的,生成統(tǒng)一視圖后,用戶可以根據(jù)該統(tǒng)一視圖對相應數(shù)據(jù)表中的數(shù)據(jù)發(fā)起處理請求,該數(shù)據(jù)處理請求包括數(shù)據(jù)查詢、數(shù)據(jù)插入、數(shù)據(jù)刪除或數(shù)據(jù)更新。當數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。以數(shù)據(jù)查詢?yōu)槔?,假設一個表有50列,一個匯總查詢的結果集有5萬行,且該數(shù)據(jù)表一行需要3個數(shù)據(jù)塊存儲。如果是傳統(tǒng)的行存儲,那么需要加載50000*3=150000個數(shù)據(jù)塊才能得到匯總結果,而通過使用本發(fā)明實施例提供的技術方案,只需要加載50000個數(shù)據(jù)塊即可,提高了數(shù)據(jù)查詢的效率。由于創(chuàng)建了與數(shù)據(jù)表對應的統(tǒng)一視圖,用戶對數(shù)據(jù)表中數(shù)據(jù)的處理請求都是基于統(tǒng)一視圖上進行,整個列存儲的轉換和訪問對用戶完全透明,對訪問相應數(shù)據(jù)表的應用所造成的影響較低。用戶僅需要使用現(xiàn)有行存儲數(shù)據(jù)庫的相應操作和訪問指令對相應的目標行存儲數(shù)據(jù)庫中的數(shù)據(jù)進行操作和訪問,即可獲得列存儲的技術的優(yōu)點。在本發(fā)明實施例提供的技術方案中,刪除表的過程與創(chuàng)建表的流程相類似,如圖3所示,本發(fā)明實施例提供的數(shù)據(jù)處理方法還可以包括以下步驟:步驟204、數(shù)據(jù)庫系統(tǒng)接收用戶提交的刪除行存儲數(shù)據(jù)庫中目標數(shù)據(jù)表的刪表SQL語句。具體的,用戶可以在模擬器的輸入界面上輸入刪表SQL語句,并選擇目標行存儲數(shù)據(jù)庫的類型。其中,目標行存儲數(shù)據(jù)庫類型可以包括目標行存儲數(shù)據(jù)庫產(chǎn)品的型號和版本。步驟205、數(shù)據(jù)庫系統(tǒng)刪除對應的統(tǒng)一視圖,并刪除行存儲數(shù)據(jù)庫中與所述目標數(shù)據(jù)表對應的列表。具體的數(shù)據(jù)庫系統(tǒng)接收到用戶提交的刪除行存儲數(shù)據(jù)庫中目標數(shù)據(jù)表的刪表SQL語句后,可以通過模擬器解析接收到的刪表請求,生成刪除統(tǒng)一視圖的SQL語句,以刪除相應的統(tǒng)一視圖。同時,數(shù)據(jù)庫系統(tǒng)可以通過模擬器解析刪表SQL語句,得到所刪表的表名,并根據(jù)該表名獲取對應的列名(如根據(jù)表名在數(shù)據(jù)庫的數(shù)據(jù)字典中獲取所有對應的列名),并根據(jù)該表名和列名將刪表SQL語句分解為相應的刪除列表SQL語句,以刪除相應的列表。通過以上描述可以得知,在本發(fā)明實施例提供的技術方案中,通過模擬器對接收到的建表SQL語句進行處理,實現(xiàn)了在現(xiàn)有行存儲數(shù)據(jù)庫產(chǎn)品的基礎上模擬列存儲數(shù)據(jù)庫產(chǎn)品,使用戶在不需要更換數(shù)據(jù)庫產(chǎn)品的前提下獲得列存儲技術的優(yōu)點。同時,由于模擬器對用戶輸入的標準SQL語句的轉換對用戶來說是完全透明的,用戶對數(shù)據(jù)表中相應數(shù)據(jù)的操作和訪問與傳統(tǒng)對行存儲數(shù)據(jù)庫產(chǎn)品的訪問一樣,對訪問相應的表的應用所造成的影響較低。下面以將一個簡單的建表SQL語句分解成若干列表的建表SQL語句和統(tǒng)一視圖創(chuàng)建SQL語句為例對本發(fā)明實施例提供的技術方案進行更加清楚的描述。創(chuàng)建過程:DBA只需輸入如下建表SQL語句:createtablet(idvarchar(10),namevarchar(20),rankvarchar(2),salarydouble(2));模擬器接收到上述建表SQL語句后,將其分解為如下創(chuàng)建列表的SQL語句和統(tǒng)一視圖創(chuàng)建SQL語句:createtableid—t(row_idvarchar(20),idvarchar(lO));createtablename_t(row_idvarchar(20),namevarchar(20));createtablerank_t(row_idvarchar(20),rankvarchar(2));createtablesalary_t(row_idvarchar(20),salarydouble(2));createviewtasselectid,name,rank,salaryformid_t,name_t.rank_t,salary_twhereid_t.rowid—name_t.rowidandname_t.rowid—rank_t.rowidandname_t.rowid=rank_t.rowidandrank_t.rowid—salaryt.rowid;模擬器根據(jù)上述列表創(chuàng)建SQL語句在目標行存儲數(shù)據(jù)庫中創(chuàng)建相應列表,并根據(jù)上述統(tǒng)一視圖創(chuàng)建SQL語句創(chuàng)建相應的統(tǒng)一視圖。刪除過程:當需要刪除上一步創(chuàng)建的表時,DBA只需輸入以下刪表SQL語句:deletetablet;模擬器接收到該刪表SQL語句后,將其分解為:deleteviewt;deletetableid—t;deletetablename—t;deletetablerank—t;deletetablesalary_t;模擬器根據(jù)上述刪除統(tǒng)一視圖SQL語句以及刪除列表SQL語句刪除相應的統(tǒng)一視圖,以及目標行存儲數(shù)據(jù)庫中的相應列表。通過以上描述可以看出,通過本發(fā)明實施例提供的模擬器,數(shù)據(jù)庫管理人員只需要使用標準的建表/刪表SQL語句即可實現(xiàn)在行存儲數(shù)據(jù)庫產(chǎn)品上的列存儲。基于上述方法實施例相同的技術構思,本發(fā)明實施例提供了一種數(shù)據(jù)庫系統(tǒng),可以應用于上述方法流程。如圖4所示,為本發(fā)明實施例提供的一種數(shù)據(jù)庫系統(tǒng)的結構示意圖,可以包括:接收模塊41,用于接收用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句以及對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求;模擬器模塊42,用于當所述接收模塊41接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建對應的統(tǒng)一視圖;其中,所述數(shù)個列表分別與所述目標數(shù)據(jù)表的各列對應;處理模塊43,用于當所述接收模塊41接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。其中,所述模擬器模塊42可以具體用于,通過解析所述建表SQL語句,得到目標數(shù)據(jù)表的表名和該表中各列的列名;在所述行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表的列數(shù)量相同數(shù)量的列表;其中,所述列表至少包括兩列,其中一列用于存儲行標識,另一列用于存儲目標數(shù)據(jù)表的相應列中的數(shù)據(jù);所述列表的表名與所述目標數(shù)據(jù)表的表名以及相應列的列名相對應。其中,所述模擬器模塊42還可以用于,當所述接收模塊41接收到用戶提交的刪除行存儲數(shù)據(jù)庫中目標數(shù)據(jù)表的刪表SQL語句后,刪除對應的統(tǒng)一視圖,并刪除行存儲數(shù)據(jù)庫中與所述目標數(shù)據(jù)表對應的列表。其中,所述模擬器模塊42還可以具體用于,通過解析所述刪表SQL語句,得到目標數(shù)據(jù)表的表名,并根據(jù)所述目標數(shù)據(jù)表的表名獲取對應的列名;刪除所述行存儲數(shù)據(jù)庫中所述列名對應的列表。其中,所述接收模塊41接收到的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求包括:數(shù)據(jù)查詢請求、數(shù)據(jù)插入請求、數(shù)據(jù)刪除請求或數(shù)據(jù)更新請求。通過以上實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。權利要求1.一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法,其特征在于,包括:數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建對應的統(tǒng)一視圖;其中,所述數(shù)個列表分別與所述目標數(shù)據(jù)表的各列一一對應;當所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。2.如權利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫系統(tǒng)在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,具體為:所述數(shù)據(jù)庫系統(tǒng)通過解析所述建表SQL語句,得到目標數(shù)據(jù)表的表名和該表中各列的列名;所述數(shù)據(jù)庫系統(tǒng)在所述行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表的列數(shù)量相同數(shù)量的列表;其中,所述列表至少包括兩列,其中一列用于存儲行標識,另一列用于存儲目標數(shù)據(jù)表的相應列中的數(shù)據(jù);所述列表的表名與所述目標數(shù)據(jù)表的表名以及相應列的列名相對應。3.如權利要求1所述的方法,其特征在于,還包括:所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的刪除行存儲數(shù)據(jù)庫中目標數(shù)據(jù)表的刪表SQL語句后,刪除對應的統(tǒng)一視圖,并刪除行存儲數(shù)據(jù)庫中與所述目標數(shù)據(jù)表對應的列表。4.如權利要求3所述的方法,其特征在于,所述數(shù)據(jù)庫系統(tǒng)刪除行存儲數(shù)據(jù)庫中與所述目標數(shù)據(jù)表對應的列表,具體為:所述數(shù)據(jù)庫系統(tǒng)通過解析所述刪表SQL語句,得到目標數(shù)據(jù)表的表名,并根據(jù)所述目標數(shù)據(jù)表的表名獲取對應的列名;所述數(shù)據(jù)庫系統(tǒng)刪除所述行存儲數(shù)據(jù)庫中所述列名對應的列表。5.如權利要求1-4之一所述的方法,其特征在于,所述對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求包括:數(shù)據(jù)查詢請求、數(shù)據(jù)插入請求、數(shù)據(jù)刪除請求或數(shù)據(jù)更新請求。6.一種數(shù)據(jù)庫系統(tǒng),其特征在于,包括:接收模塊,用于接收用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句以及對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求;模擬器模塊,用于當所述接收模塊接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建對應的統(tǒng)一視圖;其中,所述數(shù)個列表分別與所述目標數(shù)據(jù)表的各列一一對應;處理模塊,用于當所述接收模塊接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。7.如權利要求6所述的數(shù)據(jù)庫系統(tǒng),其特征在于,所述模擬器模塊具體用于,通過解析所述建表SQL語句,得到目標數(shù)據(jù)表的表名和該表中各列的列名;在所述行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表的列數(shù)量相同數(shù)量的列表;其中,所述列表至少包括兩列,其中一列用于存儲行標識,另一列用于存儲目標數(shù)據(jù)表的相應列中的數(shù)據(jù);所述列表的表名與所述目標數(shù)據(jù)表的表名以及相應列的列名相對應。8.如權利要求6所述的數(shù)據(jù)庫系統(tǒng),其特征在于,所述模擬器模塊還用于,當所述接收模塊接收到用戶提交的刪除行存儲數(shù)據(jù)庫中目標數(shù)據(jù)表的刪表SQL語句后,刪除對應的統(tǒng)一視圖,并刪除行存儲數(shù)據(jù)庫中與所述目標數(shù)據(jù)表對應的列表。9.如權利要求8所述的數(shù)據(jù)庫系統(tǒng),其特征在于,所述模擬器模塊具體用于,通過解析所述刪表SQL語句,得到目標數(shù)據(jù)表的表名,并根據(jù)所述目標數(shù)據(jù)表的表名獲取對應的列名;刪除所述行存儲數(shù)據(jù)庫中所述列名對應的列表。10.如權利要求6-9任一項所述的數(shù)據(jù)庫系統(tǒng),其特征在于,所述接收模塊接收到的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求包括:數(shù)據(jù)查詢請求、數(shù)據(jù)插入請求、數(shù)據(jù)刪除請求或數(shù)據(jù)更新請求。全文摘要本發(fā)明公開了一種基于行存儲數(shù)據(jù)庫的數(shù)據(jù)處理方法和設備,該方法包括數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲數(shù)據(jù)庫中創(chuàng)建目標數(shù)據(jù)表的建表結構化查詢語言SQL語句后,在行存儲數(shù)據(jù)庫中創(chuàng)建與所述目標數(shù)據(jù)表對應的數(shù)個列表,并創(chuàng)建對應的統(tǒng)一視圖;其中,所述數(shù)個列表分別與所述目標數(shù)據(jù)表的各列一一對應;當所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對所述行存儲數(shù)據(jù)庫中的所述目標數(shù)據(jù)表中的數(shù)據(jù)進行處理的請求時,所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請求處理的目標數(shù)據(jù)表所對應的統(tǒng)一視圖,對相應列表中的數(shù)據(jù)進行相應處理。在本發(fā)明中,實現(xiàn)了在現(xiàn)有行存儲數(shù)據(jù)庫產(chǎn)品的基礎上模擬列存儲數(shù)據(jù)庫產(chǎn)品,使用戶在不需要更換數(shù)據(jù)庫產(chǎn)品的前提下獲得列存儲技術的優(yōu)點。文檔編號G06F17/30GK103177046SQ201110447629公開日2013年6月26日申請日期2011年12月26日優(yōu)先權日2011年12月26日發(fā)明者隋琪,袁向陽申請人:中國移動通信集團公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1