一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置,涉及數(shù)據(jù)處理領(lǐng)域,解決了現(xiàn)有技術(shù)中列存儲(chǔ)數(shù)據(jù)庫訪問特定幾列時(shí)查詢效率較低,難以與行存儲(chǔ)數(shù)據(jù)庫的優(yōu)點(diǎn)相兼容等問題。該方法包括:數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表SQL語句后,創(chuàng)建與目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的數(shù)個(gè)列表,將該表SQL語句中包括的分組標(biāo)識(shí)符所指示的多個(gè)列創(chuàng)建在同一列表中,并創(chuàng)建對(duì)應(yīng)數(shù)個(gè)列表的統(tǒng)一視圖;當(dāng)數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對(duì)行存儲(chǔ)數(shù)據(jù)庫中的目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求時(shí),數(shù)據(jù)庫系統(tǒng)根據(jù)所請(qǐng)求處理的目標(biāo)數(shù)據(jù)表所對(duì)應(yīng)的統(tǒng)一視圖,對(duì)相應(yīng)列表中的數(shù)據(jù)進(jìn)行相應(yīng)處理。本發(fā)明主要用于數(shù)據(jù)處理。
【專利說明】一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別涉及一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置。
【背景技術(shù)】
[0002]行存儲(chǔ)方式是目前主流的關(guān)系數(shù)據(jù)庫存儲(chǔ)技術(shù)實(shí)現(xiàn)方式,其基本思路是:將數(shù)據(jù)按照行為單位進(jìn)行存儲(chǔ),并通過索引技術(shù)提高查詢的效率。該方式很適合OLTP (On-LineTransaction Processing,聯(lián)機(jī)事務(wù)處理)的場景,在頻繁的插入、刪除、更新操作,以及小數(shù)據(jù)量(若干行)的查詢方面優(yōu)勢(shì)較為突出。但是,隨著PB (PetaByte,千萬億字節(jié))級(jí)別的超大型數(shù)據(jù)倉庫的出現(xiàn),行存儲(chǔ)方式的不足逐漸顯現(xiàn)。
[0003]由于傳統(tǒng)的數(shù)據(jù)倉庫產(chǎn)品是以行為單位進(jìn)行存儲(chǔ)的,且數(shù)據(jù)倉庫查詢操作多而更新和插入操作較少,而多數(shù)查詢分析都是基于某些特定列進(jìn)行操作。因此,通過行存儲(chǔ)方式實(shí)現(xiàn)的數(shù)據(jù)倉庫不可避免的會(huì)帶來非必要的IO (Input/Output,輸出/輸入)操作。同時(shí),行存儲(chǔ)方式實(shí)現(xiàn)的數(shù)據(jù)倉庫存儲(chǔ)單元中的數(shù)據(jù)的共性較少,不利于數(shù)據(jù)壓縮。
[0004]正是針對(duì)上述行存儲(chǔ)數(shù)據(jù)倉庫的不足,列存儲(chǔ)數(shù)據(jù)倉庫應(yīng)運(yùn)而生。其基本實(shí)現(xiàn)思路是將數(shù)據(jù)按照列為單位進(jìn)行存儲(chǔ),并通過鏈接表示不同的列值之間的關(guān)系。因?yàn)樗腔诹羞M(jìn)行存儲(chǔ)的,可以很好的克服上述行存儲(chǔ)數(shù)據(jù)倉庫的缺陷。但是,列存儲(chǔ)數(shù)據(jù)倉庫同樣也有不足:首先,雖然數(shù)據(jù)倉庫的多數(shù)OLAP操作是針對(duì)某些特定的列而非全部列,但是多數(shù)的操作是針對(duì)某幾列而非某一列,因此往往需要訪問某幾個(gè)列才能得到分析結(jié)果,這些操作在以單個(gè)列為單位進(jìn)行存儲(chǔ)的列存儲(chǔ)數(shù)據(jù)倉庫產(chǎn)品中,必然會(huì)增加更多的查詢開銷。其次,由于列存儲(chǔ)數(shù)據(jù)倉庫出現(xiàn)的時(shí)間較短,雖然基本的數(shù)據(jù)倉庫功能已經(jīng)很好的滿足,但是很多傳統(tǒng)的行存儲(chǔ)數(shù)據(jù)倉庫功能比如存儲(chǔ)過程等,還無法兼容,這增加了用戶遷移數(shù)據(jù)倉庫系統(tǒng)的難度。另外,讓用戶放棄多年的數(shù)據(jù)倉庫產(chǎn)品投資,而轉(zhuǎn)向全新的列存儲(chǔ)數(shù)據(jù)倉庫產(chǎn)品,本身也是一個(gè)艱難的抉擇。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有技術(shù)中列存儲(chǔ)數(shù)據(jù)庫訪問特定幾列時(shí)查詢效率較低,難以與行存儲(chǔ)數(shù)據(jù)庫的優(yōu)點(diǎn)相兼容等問題,本發(fā)明的提出一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法及裝置。
[0006]一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法,包括:
[0007]數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句后,創(chuàng)建與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的數(shù)個(gè)列表,其中,所述建表SQL語句中包括分組標(biāo)識(shí)符;
[0008]數(shù)據(jù)庫系統(tǒng)將所述分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,并創(chuàng)建對(duì)應(yīng)所述數(shù)個(gè)列表的統(tǒng)一視圖;
[0009]當(dāng)所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求時(shí),所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請(qǐng)求處理的目標(biāo)數(shù)據(jù)表所對(duì)應(yīng)的統(tǒng)一視圖,對(duì)相應(yīng)列表中的數(shù)據(jù)進(jìn)行相應(yīng)處理。
[0010]一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,包括:
[0011]接收模塊,用于接收用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句以及對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求,該建表SQL語句中包括分組標(biāo)識(shí)符;
[0012]模擬器模塊,用于當(dāng)所述接收模塊接收到用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句后,創(chuàng)建與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的數(shù)個(gè)列表,將所述分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,并創(chuàng)建對(duì)應(yīng)所述數(shù)個(gè)列表的統(tǒng)一視圖;
[0013]處理模塊,用于當(dāng)所述接收模塊接收到用戶提交的對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求時(shí),所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請(qǐng)求處理的目標(biāo)數(shù)據(jù)表所對(duì)應(yīng)的統(tǒng)一視圖,對(duì)相應(yīng)列表中的數(shù)據(jù)進(jìn)行相應(yīng)處理。
[0014]本申請(qǐng)?zhí)岢龅姆桨甘且环N基于行存儲(chǔ)數(shù)據(jù)庫的列存儲(chǔ)模擬器,并且在現(xiàn)有的標(biāo)準(zhǔn)SQL語言里增加了分組標(biāo)識(shí)符功能,該功能允許用戶自由組合將哪些列存儲(chǔ)在一個(gè)列表中。通過這種自由組合,將那些分析統(tǒng)計(jì)中經(jīng)常同時(shí)訪問的列放在同一個(gè)列表中,不需再對(duì)幾個(gè)列表進(jìn)行外連接就可進(jìn)行分析統(tǒng)計(jì),可以有效提升多數(shù)查詢分析的效率,更好的發(fā)揮列存儲(chǔ)模擬器的作用。
【專利附圖】
【附圖說明】
[0015]附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0016]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1為本發(fā)明實(shí)施例1中提供的具體的創(chuàng)建列表語句格式的事例框圖;
[0018]圖2為本發(fā)明實(shí)施例1中提供的數(shù)據(jù)庫系統(tǒng)的工作原理示意圖;
[0019]圖3-4為本發(fā)明實(shí)施例1中提供的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法的流程示意圖;
[0020]圖5為本發(fā)明實(shí)施例2中提供的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]針對(duì)現(xiàn)有技術(shù)中行存儲(chǔ)技術(shù)和列存儲(chǔ)技術(shù)各自的缺陷,本發(fā)明實(shí)施例提供了一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理的技術(shù)方案,在現(xiàn)有行存儲(chǔ)數(shù)據(jù)庫的基礎(chǔ)上,模擬列存儲(chǔ)數(shù)據(jù)庫,并提供可將任意幾列存放在同一列表中的功能,以使行存儲(chǔ)數(shù)據(jù)庫產(chǎn)品用戶無需進(jìn)行存儲(chǔ)數(shù)據(jù)庫產(chǎn)品更換即可獲得列存儲(chǔ)技術(shù)的優(yōu)點(diǎn),同時(shí)在多次查詢相同幾列的情況下,效果尤其顯著。
[0022]為了實(shí)現(xiàn)基于行存儲(chǔ)數(shù)據(jù)庫的列存儲(chǔ)技術(shù),本發(fā)明實(shí)施例提供的技術(shù)方案通過在現(xiàn)有的行存儲(chǔ)數(shù)據(jù)庫系統(tǒng)(以下簡稱“數(shù)據(jù)庫系統(tǒng)”)中設(shè)置列存儲(chǔ)模擬器(以下簡稱“模擬器”)的同時(shí),提供允許用戶自由組合某些列存儲(chǔ)在同一列表中的功能(需要說明的是:本發(fā)明主要用于描述“提供允許用戶自由組合某些列存儲(chǔ)在同一列表中的功能”的實(shí)現(xiàn)過程。因此,對(duì)于在現(xiàn)有的行存儲(chǔ)數(shù)據(jù)庫系統(tǒng)中設(shè)置列存儲(chǔ)模擬器的具體實(shí)施過程,下述實(shí)施例若有描述有不詳盡的地方,請(qǐng)參考本 申請(qǐng)人:的另一專利申請(qǐng)201110447629.7),并且通過該模擬器對(duì)數(shù)據(jù)庫系統(tǒng)接收到的建表/刪表SQL語句進(jìn)行相應(yīng)的處理,實(shí)現(xiàn)行存儲(chǔ)數(shù)據(jù)庫中的列表創(chuàng)建和刪除,以及對(duì)某些列的高效訪問。
[0023]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。并且,以下各實(shí)施例均為本發(fā)明的可選方案,實(shí)施例的排列順序及實(shí)施例的編號(hào)與其優(yōu)選執(zhí)行的順序無關(guān)。
[0024]實(shí)施例1
[0025]與標(biāo)準(zhǔn)建表SQL的語句(如圖1左邊框圖)相比,本實(shí)施例提供的模擬器的建表SQL語句(如圖1右邊框圖)增加了若干可以由用戶自由選擇的分組標(biāo)識(shí)符,如圖1中的括號(hào)“(”和“)”(需要說明的是,該分組標(biāo)識(shí)符包括但不限于“(”和“)”,也可以為【和】、《和》,甚至也是無需成對(duì)的符合,如@、#和*均可,本實(shí)施例中僅以“(”和“)”為例進(jìn)行描述),標(biāo)識(shí)那幾列需要集中存放在同一列表中。具體的Create Table語句格式可以如圖1所示。
[0026]模擬器接收到用戶輸入的建表SQL后,解析建表SQL中的括號(hào)分組情況,自動(dòng)創(chuàng)建相應(yīng)的列表;同時(shí)模擬器創(chuàng)建對(duì)應(yīng)的統(tǒng)一視圖,這樣用戶對(duì)該表的訪問就跟傳統(tǒng)的行存儲(chǔ)完全一樣。用戶訪問和更新在視圖上操作,跟原來的行存儲(chǔ)完全一樣;而用戶的刪除表的操作,跟創(chuàng)建表的過程基本類似。整個(gè)列存儲(chǔ)的轉(zhuǎn)換和訪問對(duì)用戶完全透明,使對(duì)訪問該表的應(yīng)用所造成的影響降低到最低。
[0027]如圖2所示,為本`發(fā)明實(shí)施例中提供的數(shù)據(jù)庫系統(tǒng)的工作原理示意圖,其中:
[0028]通過利用本發(fā)明實(shí)施例提供的數(shù)據(jù)庫系統(tǒng)中設(shè)置的模擬器,DBA (DatabaseAdministrator,數(shù)據(jù)庫管理員)只需要直接輸入標(biāo)準(zhǔn)的建表/刪表SQL(Structured QueryLanguage,結(jié)構(gòu)化查詢語言)語句即可實(shí)現(xiàn)列表的創(chuàng)建和刪除。例如:若要以id、Name、Rank和Salary為列名創(chuàng)建列表,其中,Rank和Salary列創(chuàng)建到同一列表中,則建表SQL語句如圖1 所不,可為 Create t (id, Name, (Rank, Salary)) ? 其中 Rank 前的“(”和 Salary 后的“)”即為本實(shí)施例中的分組標(biāo)識(shí)符,要?jiǎng)?chuàng)建的目標(biāo)數(shù)據(jù)表表名為t。
[0029]其中,當(dāng)數(shù)據(jù)庫系統(tǒng)接收到建表SQL語句時(shí),通過模擬器將其分解為相應(yīng)的列表創(chuàng)建SQL語句,并根據(jù)該列表創(chuàng)建SQL語句創(chuàng)建相應(yīng)的列表(如列表1、列表2和列表3);同時(shí),模擬器根據(jù)接收到的建表SQL創(chuàng)建對(duì)應(yīng)的統(tǒng)一視圖。其中,統(tǒng)一視圖即為對(duì)應(yīng)建表SQL語句的數(shù)據(jù)表的虛擬映射表,該統(tǒng)一視圖與現(xiàn)有行存儲(chǔ)數(shù)據(jù)庫中的數(shù)據(jù)表的形式一樣。通過統(tǒng)一視圖,用戶可以使用現(xiàn)有行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)操作和訪問方式實(shí)現(xiàn)對(duì)上述列表的操作和訪問。
[0030]相應(yīng)地,當(dāng)數(shù)據(jù)庫系統(tǒng)接收到刪表SQL語句時(shí),可以通過模擬器根據(jù)該刪表SQL語句刪除相應(yīng)的統(tǒng)一視圖;同時(shí),模擬器對(duì)接收到的刪表SQL進(jìn)行解析,將其分解為相應(yīng)的列表刪除SQL語句,并根據(jù)該列表刪除SQL語句刪除相應(yīng)的列表。[0031]在本發(fā)明實(shí)施例中,當(dāng)接收到建表SQL語句時(shí),模擬器通常先創(chuàng)建列表后建立統(tǒng)一視圖;當(dāng)接收到刪表SQL語句時(shí),模擬器通常先刪除統(tǒng)一視圖后刪除列表。
[0032]當(dāng)列表創(chuàng)建后,用戶可以直接根據(jù)統(tǒng)一視圖對(duì)相應(yīng)的列表進(jìn)行操作(包括插入數(shù)據(jù)、刪除數(shù)據(jù)和更新數(shù)據(jù))和訪問(包括查詢數(shù)據(jù))。由于模擬器對(duì)用戶輸入的標(biāo)準(zhǔn)SQL語句的轉(zhuǎn)換對(duì)用戶(或管理員)來說是完全透明的,用戶對(duì)表的操作和訪問與傳統(tǒng)對(duì)行存儲(chǔ)數(shù)據(jù)庫產(chǎn)品的訪問一樣,對(duì)訪問相應(yīng)的表的應(yīng)用所造成的影響較低。
[0033]基于上述數(shù)據(jù)庫系統(tǒng)的工作原理,本發(fā)明實(shí)施例提供了一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法,如圖3所示,可以包括以下步驟:
[0034]步驟101,數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句,該建表SQL語句中包括分組標(biāo)識(shí)符。
[0035]具體的,用戶可以在模擬器的輸入界面上輸入建表SQL語句,并根據(jù)實(shí)際情況選擇目標(biāo)行存儲(chǔ)數(shù)據(jù)庫的類型。其中,目標(biāo)行存儲(chǔ)數(shù)據(jù)庫類型可以包括目標(biāo)行存儲(chǔ)數(shù)據(jù)庫產(chǎn)品的型號(hào)和版本。
[0036]步驟102,數(shù)據(jù)庫系統(tǒng)創(chuàng)建與目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的數(shù)個(gè)列表,將分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,并創(chuàng)建對(duì)應(yīng)數(shù)個(gè)列表的統(tǒng)一視圖。
[0037]其中,上述將分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,具體為:
[0038]所數(shù)據(jù)庫系統(tǒng)將分組標(biāo)識(shí)符指示的用于存放在同一列表中的多個(gè)列歸為一組,并統(tǒng)計(jì)分組的組數(shù);數(shù)據(jù)庫系統(tǒng)根據(jù)組數(shù)生成將多個(gè)列創(chuàng)建在同一列表中的數(shù)個(gè)列建表SQL語句;根據(jù)數(shù)個(gè)列建表SQL語句建立對(duì)應(yīng)的數(shù)個(gè)列表。
[0039]具體而與,包括:模擬器接到新型建表SQL語句,并解析建表SQL語句中的括號(hào)分組情況,確定哪些列要組合存放,模擬器再根據(jù)分組情況,生成對(duì)應(yīng)的創(chuàng)建列表的建表SQL語句(即列建表SQL語句)。模擬器按照創(chuàng)建列表的建表SQL建立相應(yīng)的列表,并且生成統(tǒng)一視圖創(chuàng)建語句,并創(chuàng)建統(tǒng)一視圖。
[0040]本實(shí)施例中根據(jù)分組標(biāo)識(shí)符將多個(gè)列存放在同一列表是本實(shí)施例的關(guān)鍵技術(shù)之一,其是根據(jù)用戶添加的括號(hào)得出各列的分組情況,因此,上述數(shù)據(jù)庫系統(tǒng)將分組標(biāo)識(shí)符指不的用于存放在同一列表中的多個(gè)列歸為一組具體包括:
[0041]數(shù)據(jù)庫系統(tǒng)對(duì)建表SQL語句中列名定義字段進(jìn)行掃描;當(dāng)掃描到分組標(biāo)識(shí)符的起始指示時(shí),記錄起始指示關(guān)聯(lián)到的每個(gè)列的列名,直到掃描到分組標(biāo)識(shí)符的終止指示時(shí)停止記錄;將從起始指示開始到終止指示為止的所有掃描到的列名作為存放在同一列表中的多個(gè)列。
[0042]例如可采用如下算法:模擬器解析建表SQL語句中列名定義字段,從而獲取列名定義部分;定義新分組標(biāo)識(shí)符newGroup=true ;并對(duì)列名定義字段每列進(jìn)行循環(huán),包括:a)如果newGroup=true,則添加一個(gè)新分組,b)
[0043]將當(dāng)前列加入新分組;c)如果在列名定義之前有則newGroup=false ;d)如果在列名定義之前有“)”,則newGroup=true ;4)如果newGroup=false,則報(bào)錯(cuò)“括號(hào)分組沒有正常結(jié)束”;然后對(duì)每一個(gè)分組,生成列建表SQL語句,并創(chuàng)建列表,其中表名為“列名1_列名_2....列名N”,列名為每個(gè)分組里邊的列名。
[0044]下面就是本實(shí)施例提供的一個(gè)將一個(gè)簡單的建表SQL語句分解成若干列表的建表SQL (即列建表SQL語句)以及統(tǒng)一視圖創(chuàng)建SQL的例子。[0045]管理原輸入的建表SQL語句為:
[0046]
【權(quán)利要求】
1.一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理方法,其特征在于,包括: 數(shù)據(jù)庫系統(tǒng)接收到用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句后,創(chuàng)建與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的數(shù)個(gè)列表,其中,所述建表SQL語句中包括分組標(biāo)識(shí)符; 數(shù)據(jù)庫系統(tǒng)將所述分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,并創(chuàng)建對(duì)應(yīng)所述數(shù)個(gè)列表的統(tǒng)一視圖; 當(dāng)所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求時(shí),所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請(qǐng)求處理的目標(biāo)數(shù)據(jù)表所對(duì)應(yīng)的統(tǒng)一視圖,對(duì)相應(yīng)列表中的數(shù)據(jù)進(jìn)行相應(yīng)處理。
2.如權(quán)利要求1所述的方法,其特征在于,所述將所述分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,具體為: 所述數(shù)據(jù)庫系統(tǒng)將所述分組標(biāo)識(shí)符指示的用于存放在同一列表中的多個(gè)列歸為一組,并統(tǒng)計(jì)分組的組數(shù); 數(shù)據(jù)庫系統(tǒng)根據(jù)所述組數(shù)生成將所述多個(gè)列創(chuàng)建在同一列表中的數(shù)個(gè)列建表SQL語句; 根據(jù)所述數(shù)個(gè)列建表SQL語句建立對(duì)應(yīng)的數(shù)個(gè)列表。
3.根據(jù)權(quán)利要求 2所述的方法,其特征在于,所述數(shù)據(jù)庫系統(tǒng)將所述分組標(biāo)識(shí)符指示的用于存放在同一列表中的多個(gè)列歸為一組具體包括: 所述數(shù)據(jù)庫系統(tǒng)對(duì)所述建表SQL語句中列名定義字段進(jìn)行掃描; 當(dāng)掃描到分組標(biāo)識(shí)符的起始指示時(shí),記錄所述起始指示關(guān)聯(lián)到的每個(gè)列的列名,直到掃描到分組標(biāo)識(shí)符的終止指示時(shí)停止記錄; 將從起始指示開始到終止指示為止的所有掃描到的列名作為存放在同一列表中的多個(gè)列。
4.如權(quán)利要求1所述的方法,其特征在于,還包括: 所述數(shù)據(jù)庫系統(tǒng)接收到用戶提交的刪除行存儲(chǔ)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表的刪表SQL語句后,刪除對(duì)應(yīng)的統(tǒng)一視圖,并刪除行存儲(chǔ)數(shù)據(jù)庫中與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的列表。
5.如權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)庫系統(tǒng)刪除行存儲(chǔ)數(shù)據(jù)庫中與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的列表,具體為: 所述數(shù)據(jù)庫系統(tǒng)通過解析所述刪表SQL語句,得到目標(biāo)數(shù)據(jù)表的表名,并根據(jù)所述目標(biāo)數(shù)據(jù)表的表名獲取對(duì)應(yīng)的列名; 所述數(shù)據(jù)庫系統(tǒng)根據(jù)所述目標(biāo)數(shù)據(jù)表的表名刪除對(duì)應(yīng)的統(tǒng)一視圖,并根據(jù)所述列名刪除所述行存儲(chǔ)數(shù)據(jù)庫中所述列名對(duì)應(yīng)的列表。
6.如權(quán)利要求1-5之一所述的方法,其特征在于,所述對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求包括: 數(shù)據(jù)查詢請(qǐng)求、數(shù)據(jù)插入請(qǐng)求、數(shù)據(jù)刪除請(qǐng)求或數(shù)據(jù)更新請(qǐng)求。
7.一種基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于,包括: 接收模塊,用于接收用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句以及對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求,該建表SQL語句中包括分組標(biāo)識(shí)符;模擬器模塊,用于當(dāng)所述接收模塊接收到用戶提交的在行存儲(chǔ)數(shù)據(jù)庫中創(chuàng)建目標(biāo)數(shù)據(jù)表的建表結(jié)構(gòu)化查詢語言SQL語句后,創(chuàng)建與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的數(shù)個(gè)列表,將所述分組標(biāo)識(shí)符指示的多個(gè)列創(chuàng)建在同一列表中,并創(chuàng)建對(duì)應(yīng)所述數(shù)個(gè)列表的統(tǒng)一視圖; 處理模塊,用于當(dāng)所述接收模塊接收到用戶提交的對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求時(shí),所述數(shù)據(jù)庫系統(tǒng)根據(jù)所請(qǐng)求處理的目標(biāo)數(shù)據(jù)表所對(duì)應(yīng)的統(tǒng)一視圖,對(duì)相應(yīng)列表中的數(shù)據(jù)進(jìn)行相應(yīng)處理。
8.如權(quán)利要求7所述的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于,所述模擬器模塊具體用于,將所述分組標(biāo)識(shí)符指示的用于存放在同一列表中的多個(gè)列歸為一組,并統(tǒng)計(jì)分組的組數(shù),再根據(jù)所述組數(shù)生成將所述多個(gè)列創(chuàng)建在同一列表中的數(shù)個(gè)列建表SQL語句,根據(jù)所述數(shù)個(gè)列建表SQL語句建立對(duì)應(yīng)的數(shù)個(gè)列表。
9.如權(quán)利要求8所述的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于, 所述模擬器模塊具體用于,對(duì)所述建表SQL語句中列名定義字段進(jìn)行掃描;當(dāng)掃描到分組標(biāo)識(shí)符的起始指示時(shí),記錄所述起始指示關(guān)聯(lián)到的每個(gè)列的列名,直到掃描到分組標(biāo)識(shí)符的終止指示時(shí)停止記錄;將從起始指示開始到終止指示為止的所有掃描到的列名作為存放在同一列表中的多個(gè)列。
10.如權(quán)利要求7所述的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于,所述模擬器模塊還用于,當(dāng)所述接收模塊接收到用戶提交的刪除行存儲(chǔ)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表的刪表SQL語句后,刪除對(duì)應(yīng)的統(tǒng)一視圖,并刪除行存儲(chǔ)數(shù)據(jù)庫中與所述目標(biāo)數(shù)據(jù)表對(duì)應(yīng)的列表。
11.如權(quán)利要求10所述的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于,所述模擬器模塊具體用于,所 述數(shù)據(jù)庫系統(tǒng)通過解析所述刪表SQL語句,得到目標(biāo)數(shù)據(jù)表的表名,并根據(jù)所述目標(biāo)數(shù)據(jù)表的表名獲取對(duì)應(yīng)的列名; 所述數(shù)據(jù)庫系統(tǒng)根據(jù)所述目標(biāo)數(shù)據(jù)表的表名刪除對(duì)應(yīng)的統(tǒng)一視圖,并根據(jù)所述列名刪除所述行存儲(chǔ)數(shù)據(jù)庫中所述列名對(duì)應(yīng)的列表。
12.如權(quán)利要求7-11任一項(xiàng)所述的基于行存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)處理裝置,其特征在于,所述接收模塊接收到的對(duì)所述行存儲(chǔ)數(shù)據(jù)庫中的所述目標(biāo)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行處理的請(qǐng)求包括:數(shù)據(jù)查詢請(qǐng)求、數(shù)據(jù)插入請(qǐng)求、數(shù)據(jù)刪除請(qǐng)求或數(shù)據(jù)更新請(qǐng)求。
【文檔編號(hào)】G06F17/30GK103810219SQ201210459226
【公開日】2014年5月21日 申請(qǐng)日期:2012年11月15日 優(yōu)先權(quán)日:2012年11月15日
【發(fā)明者】隋琪, 袁向陽 申請(qǐng)人:中國移動(dòng)通信集團(tuán)公司