欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法和設(shè)備的制作方法

文檔序號:6355454閱讀:151來源:國知局
專利名稱:在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明的各實施方式涉及數(shù)據(jù)記錄的處理,并且更具體地涉及在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法、設(shè)備和相關(guān)計算機程序產(chǎn)品。
背景技術(shù)
當前已經(jīng)開發(fā)了許多數(shù)據(jù)管理系統(tǒng)來對數(shù)據(jù)記錄進行有效地訪問和組織。在這些數(shù)據(jù)管理系統(tǒng)中,關(guān)系數(shù)據(jù)庫是企業(yè)級市場中占主導地位的數(shù)據(jù)管理系統(tǒng)。隨著訪問的數(shù)據(jù)量的不斷増加,對該關(guān)系數(shù)據(jù)庫的性能要求也變得越來越高。以大型銀行的銀行卡業(yè)務(wù)為例,由于使用銀行卡的客戶眾多,每天關(guān)系數(shù)據(jù)庫可能需要處理數(shù)以百萬計的在線交易處理(簡稱“0LTP”),例如對賬戶信息的查詢和更新。通過分析這些事務(wù),可以發(fā)現(xiàn)關(guān)系數(shù)據(jù)庫的性能瓶頸通常在于將賬戶信息加載進存儲器(所謂的緩沖池)時的同步I/O操作。因此,如何有效提高緩沖池的命中率以便改進訪問數(shù)據(jù)的效率是克服這ー性能瓶頸的關(guān)鍵。另外,現(xiàn)有的數(shù)據(jù)組織策略是將數(shù)據(jù)記錄以數(shù)據(jù)頁為最小單位進行組織。盡管隨機數(shù)據(jù)訪問通常僅需要讀取或?qū)懭氅`個數(shù)據(jù)記錄,但關(guān)系數(shù)據(jù)庫不得不將整個數(shù)據(jù)頁加載進緩沖池。這樣,可能許多內(nèi)存將被分配給不常被訪問的數(shù)據(jù)記錄,這無疑造成了緩沖池的浪費,從而降低了緩沖池的命中率。為了提高緩沖池的命中率,已經(jīng)提出了如下的多種可能解決方案,其中包括I)數(shù)據(jù)預取機制,該機制將所需的數(shù)據(jù)記錄預先加載到緩沖池中。然而,由于該數(shù)據(jù)預取機制要求數(shù)據(jù)庫的優(yōu)化器預先知道數(shù)據(jù)訪問的模式,而對于如上所述的賬戶信息查詢和更新的數(shù)據(jù)訪問情形來說,由于下一次的數(shù)據(jù)訪問行為(可以稱之為隨機數(shù)據(jù)訪問)很難預測,優(yōu)化器無法預先準確知道數(shù)據(jù)訪問的模式,因此改進此類的隨機數(shù)據(jù)訪問性能仍是ー個巨大的挑戰(zhàn)。2)增加緩沖池大小或優(yōu)化緩沖池。通過增加加載數(shù)據(jù)記錄的緩沖池的大小,更多的數(shù)據(jù)記錄可以被保存在內(nèi)存中。但該解決方案成本較高,此外也不太可能獲得與數(shù)據(jù)表大小相同或接近的內(nèi)存大小。另外,還可以對緩沖池進行優(yōu)化。例如,基于歷史緩沖池命中率趨勢來自動地設(shè)置緩沖池大小(Heuristic automated method forideal bufferpooltuning in a computer database,Scott R. Hayes,2001 system and Method to improveprocessing time of Database by CacheOptimization, Hans-Juergen Bildhaeuser,2006)以及壓縮緩沖池中的數(shù)據(jù)記錄以減小內(nèi)存的使用量。然而,這樣的優(yōu)化解決方案并不直接針對隨機數(shù)據(jù)訪問的屬性-難以預測性。3)改變數(shù)據(jù)結(jié)構(gòu)。例如,一些應(yīng)用從主表將經(jīng)常使用與不經(jīng)常使用的數(shù)據(jù)記錄歸檔到若干個表。然而,該解決方案需要對應(yīng)用進行顯著的改變。同時,類似生成報告的批處理可能會變得復雜,因為數(shù)據(jù)被分配到多個表,這將令應(yīng)用邏輯難以控制。
4)以文件系統(tǒng)或操作系統(tǒng)中組織數(shù)據(jù)的方式來組織數(shù)據(jù)記錄。例如,頻繁使用的數(shù)據(jù)應(yīng)該存儲在快速的存儲設(shè)備中。然而,關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)記錄是按照聚集索引的順序進行存儲的,如文件系統(tǒng)或操作系統(tǒng)的數(shù)據(jù)組織方式將影響數(shù)據(jù)庫中數(shù)據(jù)記錄的順序訪問和插入操作性能。

發(fā)明內(nèi)容
因而需要一種能夠在關(guān)系數(shù)據(jù)庫中高效地組織數(shù)據(jù)記錄的方法、設(shè)備和計算機程序產(chǎn)品,從而有效地提高緩沖池的命中率而不影響對數(shù)據(jù)記錄的順序訪問和插入操作的性倉^:。本發(fā)明的一個實施方式提供了一種用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法。該方法包括為多個數(shù)據(jù)記錄分別建立索引項,其中每個索引項包括計數(shù)器;對于受到隨機訪問的數(shù)據(jù)記錄,更新相應(yīng)索引項中的計數(shù)器的數(shù)值;以及基于多個計數(shù)器的數(shù)值,重組所 述多個數(shù)據(jù)記錄。本發(fā)明的另ー實施方式提供了一種用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的設(shè)備。該設(shè)備包括索引項建立裝置,用于為多個數(shù)據(jù)記錄分別建立索引項,其中每個索引項包括計數(shù)器;索引項更新裝置,用于對于受到隨機訪問的數(shù)據(jù)記錄,更新相應(yīng)索引項中的計數(shù)器的數(shù)值;以及重組裝置,用于基于多個計數(shù)器的數(shù)值,重組所述多個數(shù)據(jù)記錄。根據(jù)本發(fā)明的各實施方式,通過監(jiān)視對數(shù)據(jù)記錄的隨機訪問的次數(shù),井根據(jù)對隨機訪問次數(shù)的歷史性數(shù)據(jù)的分析,將數(shù)據(jù)記錄劃分在不同的物理分區(qū),從而實現(xiàn)了數(shù)據(jù)記錄的高效存儲,有效地提高了緩沖池的命中率,同時沒有影響到數(shù)據(jù)記錄的聚集屬性。


結(jié)合附圖并參考以下詳細說明,本發(fā)明各實施方式的特征、優(yōu)點及其他方面將變得更加明顯,在附圖中圖I示意性示出了根據(jù)本發(fā)明一個實施方式的用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法的流程圖;圖2示意性示出了根據(jù)本發(fā)明一個實施方式所形成的索引結(jié)構(gòu);圖3是示意性示出根據(jù)本發(fā)明一個實施方式的索引項中的計數(shù)器更新的示圖;圖4是示意性示出了根據(jù)本發(fā)明一個實施方式的基于索引項中計數(shù)器的數(shù)值重組多個數(shù)據(jù)記錄的示圖;以及圖5示意性示出了根據(jù)本發(fā)明一個實施方式的用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的系統(tǒng)結(jié)構(gòu)圖。
具體實施例方式本發(fā)明的各實施方式提供了用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法、設(shè)備和計算機程序產(chǎn)品。在一個實施方式中,對用于隨機訪問數(shù)據(jù)記錄的索引項增加計數(shù)器,該計數(shù)器用于在對數(shù)據(jù)記錄進行隨機訪問時對該隨機訪問的行為進行計數(shù)。接著,基于該記錄的計數(shù)器的數(shù)值,重組多個數(shù)據(jù)記錄。在本發(fā)明的各實施方式中,數(shù)據(jù)記錄表示存儲在數(shù)據(jù)頁中的結(jié)構(gòu)化數(shù)據(jù)項(如圖3中示出的數(shù)據(jù)頁中的每條賬戶信息,稍后將描述到),而隨機訪問行為表示在某段時間內(nèi)對數(shù)據(jù)庫的多次訪問行為(例如,查詢、更新或刪除等行為)之間沒有太多的關(guān)聯(lián)性,因而數(shù)據(jù)庫很難預測下次哪些數(shù)據(jù)記錄將被訪問到。這樣的隨機訪問行為不同于對數(shù)據(jù)庫的順序訪問行為,順序訪問行為通常指多次訪問行為之間具有關(guān)聯(lián)性,例如,按特定的順序訪問數(shù)據(jù)庫的報表操作,數(shù)據(jù)庫可以根據(jù)該順序預測哪些數(shù)據(jù)記錄將在未來被訪問到,即而可以執(zhí)行預取操作。本發(fā)明的各實施方式利用各個數(shù)據(jù)記錄受隨機訪問的歷史次數(shù),將各個數(shù)據(jù)記錄分配到不同的物理分區(qū),例如將經(jīng)常受隨機訪問的數(shù)據(jù)記錄存儲在相同或連續(xù)的數(shù)據(jù)頁,從而在被一起加載進緩沖池時,有效地提高了緩沖池的命中率。同吋,由于在分配到不同的物理分區(qū)時,考慮了數(shù)據(jù)記錄的聚集屬性,從而不會對數(shù)據(jù)記錄的例如順序訪問和插入等操作的操作性能造成影響。
附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施方式的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。圖I示意性示出了根據(jù)本發(fā)明一個實施方式的用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法100的流程圖。如圖I所示,方法100開始于步驟SlOl。在步驟S102中,方法100為多個數(shù)據(jù)記錄分別建立索引項,其中每個索引項包括計數(shù)器。下面詳細描述該步驟的具體操作。在本發(fā)明的各實施方式中,建立索引項可以認為是定義ー種隨機訪問行為。還以本說明書背景技術(shù)部分所描述的銀行卡應(yīng)用為例,客戶對賬戶信息(即,具體的數(shù)據(jù)記錄)的訪問可以通過針對“賬號”定義的索引來進行。例如,針對賬戶信息定義名稱為“ACC0UNT_INFO”的表,其創(chuàng)建形式示例性表達如下
CREATE TABLE “ACCOUNT INFO” (
AccountNo INT,
Name VARCHAR(20),
Gender CHAR (I),
OpenDate Date,
…)在該“ACC0UNT_INF0”上定義的聚集索引為“ IX_ACC0UNT_N0”,其創(chuàng)建形式示例性表達如下CREATE INDEX “IX_ACC0UNT_N0” on “ACC0UNT_INF0” (AccountNo,
Name);如果將對數(shù)據(jù)記錄的隨機訪問行為定義為根據(jù)“AccountNo”獲得ー個數(shù)據(jù)記錄,則查詢語句可以示例性表達如下SELECT. · · FROM ACC0UNT_INF0 WHERE AccountNo = 接著可以將對數(shù)據(jù)記錄的隨機訪問行為建模為通過具有匹配列(matchingcolumn,簡稱為 “MATCHC0L”)的“ IX_ACC0UNT_N0” 的相等匹配(equal matching)索引訪問。例如,語句“RAND0MACCESS WITH MATCHC0L = I”可以用于指定該行為。當對數(shù)據(jù)記錄的訪問行為與數(shù)目為I的MATCHC0L匹配時,則認為此次的對數(shù)據(jù)記錄的訪問為一次隨機數(shù)
據(jù)訪問。創(chuàng)建具有該語句的索引項可以示例性地表達如下
CREATE INDEX “IX—ACCOUNT—NO” on “ACCOUNT_INFO’’(AccountNo,
Name)
RANDOM ACCESS WITH MATCHCOL= I可以理解這里的預定限制條件語句“RANDOM ACCESS WITHMATCHCOL = I”僅僅是示例性的,本領(lǐng)域技術(shù)人員可以根據(jù)需要預先設(shè)定其他的限制條件語句。例如,可以將上面的MATCHC0L修改為大于1,例如可以等于2。對于數(shù)目為2的MATCHC0L的情況,如果對數(shù)據(jù)記錄的訪問行為匹配兩列時(如按照前后順序的AccountNo和Name列時),則將此次的對數(shù)據(jù)記錄的訪問行為視為隨機訪問行為而非順序數(shù)據(jù)訪問。這樣,就可以根據(jù)隨機訪問的預定限制條件、在未設(shè)有計數(shù)器的索引項中增加計數(shù)器。増加了計數(shù)器后的索引結(jié)構(gòu)通過圖2示意性示出(將在后文詳述)。在執(zhí)行步驟S102后,方法100前進到步驟S103。在該步驟S103中,方法100對于受到隨機訪問的數(shù)據(jù)記錄,更新相應(yīng)索引項中的計數(shù)器的數(shù)值。下面示例性地描述步驟S103的具體操作。當用戶發(fā)起對數(shù)據(jù)記錄的訪問時,例如使用上面的包括“WHERE AccountNo = ”謂詞的查詢語句對數(shù)據(jù)記錄進行查詢時,關(guān)系數(shù)據(jù)庫中的優(yōu)化器將選擇出針對該訪問行為的索引(即包括如上建立的索引項的索引),并且判斷此次索引訪問行為是否滿足預先定義的MATCHC0L的數(shù)目。如果此次索引訪問行為滿足預先定義的MATCHC0L的數(shù)目,例如相等的MATCHC0L的數(shù)目大于或等于1,則優(yōu)化器認為此次對數(shù)據(jù)記錄的訪問是通過相等匹配索引訪問的一次隨機數(shù)據(jù)訪問,并且將建立的相應(yīng)索引項中的計數(shù)器的數(shù)值增I。圖3(將在后文詳述)示意性示出了當發(fā)生多次對數(shù)據(jù)記錄的隨機訪問后,多個數(shù)據(jù)記錄的各自索引項中的計數(shù)器更新情況。在執(zhí)行步驟S103后,方法100前進到步驟S104,在該步驟S104中,方法100基于多個計數(shù)器的數(shù)值,重組多個數(shù)據(jù)記錄。后文將結(jié)合圖4來具體描述該重組多個數(shù)據(jù)記錄的操作。
在重組多個數(shù)據(jù)記錄后,方法100在步驟S105處結(jié)束。圖2示意性示出了根據(jù)本發(fā)明一個實施方式所形成的索引結(jié)構(gòu)。如圖2中所示,該索引結(jié)構(gòu)包括根頁(或稱為根節(jié)點頁)、兩個非葉節(jié)點頁以及四個索引項(存儲在索引葉節(jié)點頁中)。所示出的每個索引項包括索引關(guān)鍵字(Index Key)、増加的計數(shù)器和行標識符(RID)。正如本領(lǐng)域技術(shù)人員所知,關(guān)系數(shù)據(jù)庫的索引項是由索引關(guān)鍵字和RID構(gòu)成的,其中索引關(guān)鍵字可以是如上所述的“ AccountNo”,而行標識符指示出數(shù)據(jù)記錄的實際物理存儲位置,其并不表達在如前述的CREATE INDEX “IX_ACC0UNT_N0”語句中,而通過增加如前所述的限制條件語句,本發(fā)明在這四個索引項中分別增加計數(shù)器。盡管這里僅僅示出了兩個非葉節(jié)點頁和四個索引項,但本領(lǐng)域技術(shù)人員可以理解實際的索引結(jié)構(gòu)可以在數(shù)量和節(jié)點安排上做出各種改變而不偏離本發(fā)明各實施方式的精神和范圍。
圖3是示意性示出根據(jù)本發(fā)明一個實施方式的索引項中的計數(shù)器更新的示圖。如圖3中所示,在索引根節(jié)點下包括存儲在索引葉節(jié)點頁中的八個索引項,每個索引項包括索引關(guān)鍵字、計數(shù)器和行標識符,這里索引關(guān)鍵字示例性的設(shè)定為賬號,而每個索引項指向存儲在數(shù)據(jù)頁中的ー個數(shù)據(jù)記錄,該數(shù)據(jù)記錄示例性地包括賬號、姓名、性別等。為了簡化的目的,這里的示圖省略了可能存在于索引根節(jié)點和索引葉節(jié)點頁之間的非葉節(jié)點頁(如圖2中所示出的)。另外,這里的索引項、數(shù)據(jù)頁以及數(shù)據(jù)頁中的數(shù)據(jù)記錄的數(shù)量也僅僅是示例性的,實際的索引結(jié)構(gòu)和數(shù)據(jù)記錄可能要比這里示出的更為復雜且數(shù)目更多。從圖3中可以看出,在索引關(guān)鍵字為“0000001”的索引項中,記錄隨機訪問次數(shù)的計數(shù)器的數(shù)值為99次,這表明在預定的時間間隔內(nèi)(例如一周或ー個月)內(nèi),賬號(即索引關(guān)鍵字)為“0000001”,姓名為“John”的男性客戶的數(shù)據(jù)記錄已經(jīng)受到99次隨機訪問,而與賬號為“0000001”的數(shù)據(jù)記錄存儲在同一數(shù)據(jù)頁中的賬號為“0000002”,姓名為“Smith”的男性客戶的數(shù)據(jù)記錄已經(jīng)受到5次隨機訪問。類似地,在賬號為“0000003”的索引項中,計數(shù)器的數(shù)值為0,這表明在與其他的索引項相同的預定時間間隔內(nèi),針對賬號為“0000003”、姓名為“Kate”的女性客戶的數(shù)據(jù)記錄并沒有受到隨機訪問,例如針對該賬號的查詢或更新操作,而與該姓名為“Kate”的女性客戶的數(shù)據(jù)記錄存儲在同一個數(shù)據(jù)頁內(nèi)的賬號為“0000004”、姓名為“Jay”的男性客戶的數(shù)據(jù)記錄則受到了 55次的隨機訪問。從圖3中可以看出,由于將不受隨機訪問的賬號為“0000003”的數(shù)據(jù)記錄和受頻繁隨機訪問的賬號為“0000004”的數(shù)據(jù)記錄存儲在同一個數(shù)據(jù)頁內(nèi)。當對賬號為“0000004”的數(shù)據(jù)記錄進行隨機訪問時,沒有受到過隨機訪問的賬號為“0000003”的數(shù)據(jù)記錄也將被加載到緩沖池中。當類似這樣的情況在數(shù)量眾多的數(shù)據(jù)頁中發(fā)生時,無疑會造成對緩沖池的巨大浪費,因此需要對存儲的數(shù)據(jù)記錄進行重組。圖4示意性示出了根據(jù)本發(fā)明一個實施方式的基于索引項中計數(shù)器的數(shù)值重組多個數(shù)據(jù)記錄。不同于圖3中的數(shù)據(jù)頁,圖4中的多個數(shù)據(jù)頁被劃分為非頻繁使用分區(qū)和頻繁使用分區(qū)兩類。受隨機訪問次數(shù)較多的數(shù)據(jù)記錄存儲在頻繁使用分區(qū),而受隨機訪問次數(shù)較少甚至是沒有受到隨機訪問的數(shù)據(jù)記錄則存儲在非頻繁使用分區(qū)。例如,賬號“0000001”、“0000004”. . . “0000008”的數(shù)據(jù)記錄在相同的預定時間間隔內(nèi)分別受到“99”、“55”. . . “17”次的隨機訪問,因此這些數(shù)據(jù)記錄被重組到屬于頻繁使用分區(qū)的多個數(shù)據(jù)頁。類似地,由于賬號“0000002”、“0000003”和“0000005”的數(shù)據(jù)記錄僅分別受到“5”、“O”和“O”次的隨機訪問,因此這些數(shù)據(jù)記錄被重組到非頻繁使用分區(qū)的多個數(shù)據(jù)頁。盡管這里以預定的時間間隔為例來說明多個計數(shù)器的數(shù)值更新,但本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的實施方式,可以想到定期或者在計數(shù)器的數(shù)值達到預定閾值時,歸檔所述多個計數(shù)器的數(shù)值,以便根據(jù)所述多個計數(shù)器的歷史數(shù)值,重組所述多個數(shù)據(jù)記錄。例如,在到達預定的時間間隔后將多個計數(shù)器中的數(shù)值進行保存,并且在執(zhí)行了預定次數(shù)的保存后或者定期對各個計數(shù)器的數(shù)值進行求和,從而可以得到關(guān)于各個計數(shù)器的歷史數(shù)值。接著根據(jù)這些歷史數(shù)值,可以將數(shù)據(jù)記錄重組到不同的物理分區(qū)。各個計數(shù)器的數(shù)值在每次保存后被清零以便繼續(xù)執(zhí)行后續(xù)的計數(shù)操作。另外,盡管在圖4中將物理分區(qū)劃分成頻繁使用分區(qū)和非頻繁使用分區(qū),但這樣的劃分僅僅是示例性的,本領(lǐng)域技術(shù)人員還可以采用其他的劃分方式。例如,可以將物理分區(qū)劃分成三個部分,分別為頻繁使用分區(qū)、非頻繁使用分區(qū),以及處于頻繁使用分區(qū)和非頻繁使用分區(qū)之間的中間分區(qū),并且對于這三個分區(qū)分別設(shè)置針對計數(shù)器的數(shù)值的不同閾值。例如,當某個數(shù)據(jù)記錄受隨機訪問的次數(shù)(或累加的次數(shù))大于100次,則將該數(shù)據(jù)記錄重組到頻繁使用分區(qū),而當該數(shù)據(jù)記錄受隨機訪問的次數(shù)在100和50次之間時,則將該數(shù)據(jù)記錄重組到中間分區(qū),而當該數(shù)據(jù)記錄受隨機訪問的次數(shù)小于50次時,則將該數(shù)據(jù)記錄重組到非頻繁使用分區(qū)。
另外,根據(jù)本發(fā)明的一個實施方式,還可以針對多個分區(qū)來劃分比例,例如按照計數(shù)器的數(shù)值或多次累加后的數(shù)值(即歷史數(shù)值)對各個數(shù)據(jù)記錄進行排列,然后將30%的受隨機訪問次數(shù)較多的數(shù)據(jù)記錄重組到頻繁使用分區(qū),將30%的受隨機訪問次數(shù)較少的數(shù)據(jù)記錄重組到非頻繁使用分區(qū),而將剩余的40%的受隨機訪問次數(shù)處于中間區(qū)域的數(shù)據(jù)記錄重組到中間分區(qū)。除了上述的基于多個計數(shù)器的至少ー個閾值以及多個計數(shù)器的至少ー個數(shù)值區(qū)間分配比例來重組數(shù)據(jù)記錄以外,本發(fā)明的各實施方式還可以使用合適的聚類算法來重組多個數(shù)據(jù)記錄。例如K平均算法,關(guān)于K平均算法的更多細節(jié)可參考J. A. Hartigan和M.A.Wong 的“A K-Means Clustering Algorithm”,應(yīng)用統(tǒng)計,第 28卷第 I 期第 100-108 頁。從圖4中可以看出,存儲在頻繁使用分區(qū)和非頻繁使用分區(qū)中的數(shù)據(jù)記錄依然保持了聚集索引的屬性。例如,在所示的頻繁使用和非頻繁使用分區(qū)中,各個數(shù)據(jù)記錄依然按照賬號的順序存儲在各個數(shù)據(jù)頁。因此,盡管根據(jù)本發(fā)明的各實施方式重組了各個數(shù)據(jù)記錄,但數(shù)據(jù)記錄的聚集索引屬性并不受到影響,從而也就不會影響針對這些數(shù)據(jù)記錄所執(zhí)行的順序訪問操作和插入操作。圖5是示意性示出根據(jù)本發(fā)明一個實施方式的用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的系統(tǒng)500的結(jié)構(gòu)圖。如圖5中所示,該系統(tǒng)500包括應(yīng)用501、關(guān)系數(shù)據(jù)庫502、包括在該關(guān)系數(shù)據(jù)庫502中的執(zhí)行計劃503和優(yōu)化器504、包括多個索引項的索引505、包括多個數(shù)據(jù)記錄的數(shù)據(jù)506、重組實用程序507以及訪問趨勢數(shù)據(jù)508。在一個實施方式中,索引505是通過ー個索引建立裝置(未示出)預定建立的。在另ー個實施方式中,索引505是對先前建立的索引項進行修改(例如,增加計數(shù)器)而形成的。下面將詳細描述該系統(tǒng)500的操作過程。當應(yīng)用501在步驟S509 (例如如前所述的銀行卡應(yīng)用)發(fā)起對關(guān)系數(shù)據(jù)庫502的訪問時,優(yōu)化器504可以在運行時刻(bind time)識別出此次數(shù)據(jù)訪問是否是隨機訪問。如果此次數(shù)據(jù)訪問是通過相等匹配索引的訪問并且該匹配列數(shù)與預先定義的列相等,如結(jié)合圖I示例性描述的MATCHC0L等于1,則優(yōu)化器504認為此次的訪問是針對某個數(shù)據(jù)記錄的一次隨機訪問,其將在步驟S510生成相應(yīng)的ー個或多個執(zhí)行計劃503。該執(zhí)行計劃503不僅包括對數(shù)據(jù)記錄訪問的操作,還包括對包括在索引項中的計數(shù)器的更新操作。在ー個實施方式中,執(zhí)行計劃503包括ー個索引更新裝置(未示出),用于對于受到隨機訪問的數(shù)據(jù)記錄、更新相應(yīng)索引505中索引項的計數(shù)器的數(shù)值。接著,當應(yīng)用501調(diào)用關(guān)系數(shù)據(jù)庫502在步驟S511運行執(zhí)行計劃時,將對索引505中的相應(yīng)索引項的計數(shù)器進行更新,即計數(shù)器的值增I。由于本發(fā)明的各實施方式可以基于計數(shù)器的數(shù)值的長期歷史數(shù)據(jù)重組數(shù)據(jù)記錄,因此不需要通過鎖定操作來保證計數(shù)器的數(shù)值完全準確。接著,在步驟S512處,關(guān)系數(shù)據(jù)庫502可以通過索引505中的相應(yīng)索引項從包括多個數(shù)據(jù)記錄的數(shù)據(jù)506獲得所需要的數(shù)據(jù)記錄,并且在步驟S516返回給應(yīng)用501。應(yīng)用501在獲得所要求的數(shù)據(jù)記錄后,向客戶返回相應(yīng)的結(jié)果集。 系統(tǒng)500中的重組實用程序507(例如,可以由ー個重組裝置來實現(xiàn))可以在步驟S513訪問多個索引項中的計數(shù)器,從而可以定期或在計數(shù)器的數(shù)值達到預定閾值時(如結(jié)合圖I所描述的)獲得各個索引項中計數(shù)器的數(shù)值,并且在步驟S514中將多個計數(shù)器的數(shù)值保存以形成訪問趨勢數(shù)據(jù)508。接著,重組實用程序507基于訪問趨勢數(shù)據(jù)508中的各個計數(shù)器的數(shù)值,在步驟S515重組數(shù)據(jù)506中的多個數(shù)據(jù)記錄,例如如前所述按照預定的閾值或百分比來對多個數(shù)據(jù)記錄劃分,從而被頻繁隨機訪問的數(shù)據(jù)記錄重組在相同或相近的數(shù)據(jù)頁,同時由于重組實用程序507是按照聚集索引的方式來重組數(shù)據(jù)記錄,因此不影響對重組后的數(shù)據(jù)記錄的順序數(shù)據(jù)訪問和插入操作。盡管在這里為了簡化附圖的目的,以多個單向箭頭示出了系統(tǒng)500的操作,但本領(lǐng)域技術(shù)人員容易理解這里的單向箭頭并不僅僅表示來自單個實體的單方操作,其中也涉及多個實體之間雙向交互的操作,例如從數(shù)據(jù)506向關(guān)系數(shù)據(jù)庫502返回數(shù)據(jù)記錄等。通過上面的詳細描述,本領(lǐng)域技術(shù)人員可以理解本發(fā)明可以采取完全硬件實施方式、完全軟件實施方式或既包含硬件組件又包含軟件組件的實施方式的形式。在優(yōu)選實施方式中,本發(fā)明實現(xiàn)為軟件,其包括但不限于固件、駐留軟件、微代碼等。而且,本發(fā)明還可以采取可從計算機可用或計算機可讀介質(zhì)訪問的計算機程序產(chǎn)品的形式,這些介質(zhì)提供程序代碼以供計算機或任何指令執(zhí)行系統(tǒng)使用或與其結(jié)合使用。出于描述目的,計算機可用或計算機可讀機制可以是任何有形的裝置,其可以包含、存儲、通信、傳播或傳輸程序以由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與其結(jié)合使用。介質(zhì)可以是電的、磁的、光的、電磁的、紅外線的、或半導體的系統(tǒng)(或裝置或器件)或傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導體或固態(tài)存儲器、磁帶、可移動計算機磁盤、隨機訪問存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。目前光盤的例子包括緊湊盤-只讀存儲器(CD-ROM)、壓縮盤-讀/寫(CD-R/W)和DVD。適合與存儲/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少ー個處理器,其直接地或通過系統(tǒng)總線間接地耦合到存儲器元件。存儲器元件可以包括在程序代碼的實際執(zhí)行期間所利用的本地存儲器、大容量存儲器、以及提供至少一部分程序代碼的臨時存儲以便減少執(zhí)行期間從大容量存儲器必須取回代碼的次數(shù)的高速緩沖存儲器。輸入/輸出或I/O設(shè)備(包括但不限于鍵盤、顯示器、指點設(shè)備等等)可以直接地或通過中間I/o控制器耦合到系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合到系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)能夠通過中間的私有或公共網(wǎng)絡(luò)而耦合到其他數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲設(shè)備。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器以及以太網(wǎng)卡僅僅是當前可用的網(wǎng)絡(luò)適配器類型的幾個例子。從上述描述應(yīng)當理解,在不脫離本發(fā)明真實精神的情況下,可以對本發(fā)明各實施方式進行修改和變更。本說明書中的描述僅僅是用于說明性的,而不應(yīng)被認為是限制性的。本發(fā)明的范圍僅受所附、權(quán)利要求書的限制。
權(quán)利要求
1.一種用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法,包括 為多個數(shù)據(jù)記錄分別建立索引項,其中每個索引項包括計數(shù)器; 對于受到隨機訪問的數(shù)據(jù)記錄,更新相應(yīng)索引項中的計數(shù)器的數(shù)值;以及 基于多個計數(shù)器的數(shù)值,重組所述多個數(shù)據(jù)記錄。
2.根據(jù)權(quán)利要求I所述的方法,其中重組所述多個數(shù)據(jù)記錄包括將所述多個數(shù)據(jù)記錄安排到相應(yīng)的物理分區(qū)。
3.根據(jù)權(quán)利要求I所述的方法,還包括根據(jù)隨機訪問的預定限制條件、在未設(shè)有計數(shù)器的索引項中增加計數(shù)器。
4.根據(jù)權(quán)利要求I所述的方法,其中基于多個計數(shù)器的數(shù)值,重組所述多個數(shù)據(jù)記錄還包括定期歸檔所述多個計數(shù)器的數(shù)值,以便根據(jù)所述多個計數(shù)器的歷史數(shù)值,重組所述多個數(shù)據(jù)記錄。
5.根據(jù)權(quán)利要求I所述的方法,其中基于多個計數(shù)器的數(shù)值,重組所述多個數(shù)據(jù)記錄還包括響應(yīng)于所述多個計數(shù)器的數(shù)值達到預定閾值,歸檔所述多個計數(shù)器的數(shù)值,以便根據(jù)所述多個計數(shù)器的歷史數(shù)值,重組所述多個數(shù)據(jù)記錄。
6.根據(jù)權(quán)利要求I到5的任意一項所述的方法,其中重組所述多個數(shù)據(jù)記錄基于以下至少ー項 所述多個計數(shù)器的至少ー個閾值;以及 所述多個計數(shù)器的至少ー個數(shù)值區(qū)間分配比例。
7.根據(jù)權(quán)利要求I到5的任意一項所述的方法,其中重組所述多個數(shù)據(jù)記錄是利用聚類算法進行的。
8.一種用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的設(shè)備,包括 索引項建立裝置,用于為多個數(shù)據(jù)記錄分別建立索引項,其中每個索引項包括計數(shù)器; 索引項更新裝置,用于對于受到隨機訪問的數(shù)據(jù)記錄、更新相應(yīng)索引項中的計數(shù)器的數(shù)值;以及 重組裝置,用于基于多個計數(shù)器的數(shù)值、重組所述多個數(shù)據(jù)記錄。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述重組裝置包括用于將所述多個數(shù)據(jù)記錄安排到相應(yīng)的物理分區(qū)的裝置。
10.根據(jù)權(quán)利要求8所述的設(shè)備,還包括用于根據(jù)隨機訪問的預定限制條件、在未設(shè)有計數(shù)器的索引項中增加計數(shù)器的裝置。
11.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述重組裝置還包括用于定期歸檔所述多個計數(shù)器的數(shù)值的裝置,以便根據(jù)所述多個計數(shù)器的歷史數(shù)值,重組所述多個數(shù)據(jù)記錄。
12.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述重組裝置還包括用于響應(yīng)于所述多個計數(shù)器的數(shù)值達到預定閾值歸檔所述多個計數(shù)器的數(shù)值的裝置,以便根據(jù)所述多個計數(shù)器的歷史數(shù)值,重組所述多個數(shù)據(jù)記錄。
13.根據(jù)權(quán)利要求8到12的任意一項所述的設(shè)備,其中所述重組裝置基于以下至少ー項進行操作 所述多個計數(shù)器的至少ー個閾值;以及 所述多個計數(shù)器的至少ー個數(shù)值區(qū)間分配比例。
14.根據(jù)權(quán)利要求8到12的任意一項所述的設(shè)備,其中所述重組裝置包括聚類算法執(zhí)行裝置。
全文摘要
本發(fā)明的實施方式提供了用于在關(guān)系數(shù)據(jù)庫中組織數(shù)據(jù)記錄的方法和設(shè)備,其中該方法包括為多個數(shù)據(jù)記錄分別建立索引項,其中每個索引項包括計數(shù)器;對于受到隨機訪問的數(shù)據(jù)記錄,更新相應(yīng)索引項中的計數(shù)器的數(shù)值;以及基于多個計數(shù)器的數(shù)值,重組所述多個數(shù)據(jù)記錄。利用本發(fā)明的實施方式的方法和設(shè)備,可以有效地提高加載數(shù)據(jù)記錄的緩沖池的命中率而不影響對數(shù)據(jù)記錄的順序訪問和插入操作的性能。
文檔編號G06F17/30GK102651008SQ20111005162
公開日2012年8月29日 申請日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
發(fā)明者傅毓勤, 周婧, 周祥, 張建偉, 楊新穎, 魏可偉 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石嘴山市| 宝山区| 隆林| 嘉荫县| 余干县| 平远县| 贵南县| 北碚区| 靖江市| 耒阳市| 于都县| 富阳市| 外汇| 涿鹿县| 安庆市| 秭归县| 循化| 宾阳县| 弋阳县| 九龙城区| 三原县| 铜鼓县| 保山市| 兴国县| 嫩江县| 侯马市| 全州县| 丰台区| 友谊县| 武强县| 铜川市| 普安县| 海南省| 平顺县| 望江县| 黄浦区| 华亭县| 蒙阴县| 新野县| 化德县| 都江堰市|