專利名稱::用于快速刪除物理群集數(shù)據(jù)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明一般涉及管理數(shù)據(jù)庫中的數(shù)據(jù)和資源。更具體地,本發(fā)明涉及一種計(jì)算機(jī)實(shí)現(xiàn)的方法和計(jì)算機(jī)可用程序代碼,其用于快速刪除數(shù)據(jù)庫的行而以日志記錄有關(guān)對(duì)行的刪除的細(xì)節(jié)。
背景技術(shù):
:數(shù)據(jù)庫最大的層次結(jié)構(gòu)是表格。當(dāng)用戶創(chuàng)建表格的時(shí)候,該表格是空的。之后,用戶可以向表格添加一行或多行。行是至少一個(gè)值。數(shù)據(jù)庫管理系統(tǒng)將值安排在字段中。字段是開放的存儲(chǔ)空間,其足夠大,以便容納所期望的數(shù)據(jù)。字段常常限于特定的類型,例如日期,或者負(fù)數(shù)值,或者字母數(shù)字串,連同其它類型的數(shù)據(jù)或信息。數(shù)據(jù)庫管理系統(tǒng)組織不同行內(nèi)的字段。數(shù)據(jù)庫管理系統(tǒng)將對(duì)于一組行來說代表相同類型數(shù)據(jù)的每個(gè)字段組織成一列該相同類型的數(shù)據(jù)。周期性地,用戶可以從數(shù)據(jù)庫移除大量的數(shù)據(jù),通常是通過從該數(shù)據(jù)庫刪除多行數(shù)據(jù)。從數(shù)據(jù)庫刪除大量數(shù)據(jù)的原因是不同的。例如,用戶刪除數(shù)據(jù)以消除廢棄的數(shù)據(jù)。有時(shí)用戶刪除數(shù)據(jù)是響應(yīng)于當(dāng)數(shù)據(jù)庫中的空閑空間或存儲(chǔ)器耗盡時(shí)接收到新的數(shù)據(jù)。該策略通常比起添加更多的磁盤存儲(chǔ)器來容納新數(shù)據(jù)的策略更為可取。從數(shù)據(jù)庫刪除數(shù)據(jù)的另一情況發(fā)生在公司停止從事某一領(lǐng)域內(nèi)的業(yè)務(wù)的時(shí)候。例如,數(shù)據(jù)庫可以包括具有關(guān)于區(qū)域A的一片數(shù)據(jù)的行。公司可能停止從事區(qū)域A中的業(yè)務(wù)。因此,用戶可能希望刪除區(qū)域字段對(duì)應(yīng)于“區(qū)域A”的所有的行。用于刪除數(shù)據(jù)庫記錄的現(xiàn)有方法包括數(shù)據(jù)庫管理系統(tǒng)刪除行的步驟。接下來,該數(shù)據(jù)庫管理系統(tǒng)將刪除步驟的細(xì)節(jié)記入刪除日志(deletelog)。該日志記錄即使對(duì)于批量操作也是繼續(xù)的,在該批量操作中,通過公共請(qǐng)求(commonrequest)刪除了很多行。因此,可以創(chuàng)建大量的刪除日志。管理大量的刪除日志是繁重的,這是因?yàn)樾枰瞧谕康臅r(shí)間來管理刪除日志,以及因?yàn)榉瞧谕康拇鎯?chǔ)空間可能用于存儲(chǔ)刪除日志。當(dāng)用戶試圖恢復(fù)先前所刪除的數(shù)據(jù)的時(shí)候,冗長的刪除日志還可能使過程減慢。當(dāng)不必要的大的刪除日志用于恢復(fù)先前所刪除的數(shù)據(jù)的時(shí)候,數(shù)據(jù)庫管理系統(tǒng)操作更慢。用于刪除數(shù)據(jù)庫記錄以及以日志記錄對(duì)該記錄的刪除的現(xiàn)有方法的例子如下。用戶命令數(shù)據(jù)庫管理系統(tǒng)刪除數(shù)據(jù)。該用戶將命令編寫成包括刪除請(qǐng)求的事務(wù)。刪除請(qǐng)求包括這樣的條件,即其基于行是否具有存儲(chǔ)了滿足該條件的值的列或字段而準(zhǔn)許數(shù)據(jù)庫管理系統(tǒng)使該行取得資格。當(dāng)該行中的字段滿足此條件時(shí),該行取得資格。在常規(guī)方法中,測(cè)試每行中所選擇的字段。數(shù)據(jù)庫管理系統(tǒng)繼續(xù)以這種方式測(cè)試隨后的行。對(duì)于每行的各資格測(cè)試,數(shù)據(jù)庫管理系統(tǒng)都刪除取得資格的行,并且以日志記錄對(duì)刪除日志的改變。
發(fā)明內(nèi)容本文所描述的方法和設(shè)備提供了一種用于刪除數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法和計(jì)算機(jī)可用程序代碼。多維群集處理器接收刪除一組多維群集數(shù)據(jù)的請(qǐng)求。所述多維群集處理器確定是否所有的多維群集數(shù)據(jù)都位于塊中。響應(yīng)于所有的多維群集數(shù)據(jù)都取得刪除資格,所述多維群集處理器刪除所述塊中的所有數(shù)據(jù)來刪除所述多維群集數(shù)據(jù)集。所附權(quán)利要求中陳述了被認(rèn)為是本發(fā)明的特色的新穎性特征。然而,在結(jié)合附圖閱讀時(shí),通過參照以下對(duì)說明性實(shí)施例的詳細(xì)描述,將最好地理解本發(fā)明本身及其優(yōu)選的使用模式、更多的目的和優(yōu)點(diǎn),其中圖1是依照說明性實(shí)施例的數(shù)據(jù)處理系統(tǒng);圖2是依照說明性實(shí)施例的數(shù)據(jù)處理系統(tǒng)的框圖;圖3示出了依照說明性實(shí)施例的處理器系統(tǒng)的數(shù)據(jù)流示圖;圖4示出了依照說明性實(shí)施例的結(jié)構(gòu)中的關(guān)系的數(shù)據(jù)結(jié)構(gòu);圖5A示出了依照說明性實(shí)施例,對(duì)塊狀態(tài)數(shù)據(jù)結(jié)構(gòu)的一連串修正;圖5B示出了依照說明性實(shí)施例的頁狀態(tài)數(shù)據(jù)結(jié)構(gòu);圖6是示出了依照說明性實(shí)施例刪除數(shù)據(jù)庫記錄的流程圖;圖7是示出了依照可選的說明性實(shí)施例刪除數(shù)據(jù)庫記錄的流程圖;圖8示出了依照說明性實(shí)施例,用于限定行或塊的條件的一組例子;圖9是示出了依照說明性實(shí)施例插入數(shù)據(jù)的流程圖;以及圖10是示出了依照說明性實(shí)施例插入數(shù)據(jù)的流程圖。具體實(shí)施例方式現(xiàn)參照附圖并且特別參照?qǐng)D1,其圖形表示了可以在其中實(shí)現(xiàn)說明性實(shí)施例的數(shù)據(jù)處理系統(tǒng)。所描述的計(jì)算機(jī)100包括系統(tǒng)單元102、視頻顯示終端104、鍵盤106、存儲(chǔ)設(shè)備108(其可以包括軟盤驅(qū)動(dòng)器和其它類型的永久和可移動(dòng)存儲(chǔ)介質(zhì)),以及鼠標(biāo)110。個(gè)人計(jì)算機(jī)100可以包括附加的輸入設(shè)備,舉例來說,諸如操縱桿、觸摸板、觸摸屏、跟蹤球、擴(kuò)音器等。可以使用任何合適的計(jì)算機(jī)來實(shí)現(xiàn)計(jì)算機(jī)100,例如位于紐約Armonk的國際商業(yè)機(jī)器公司的產(chǎn)品IBMeServer計(jì)算機(jī)或IntelliStation計(jì)算機(jī)。盡管繪圖表示示出了計(jì)算機(jī),然而可以在諸如網(wǎng)絡(luò)計(jì)算機(jī)的其它類型的數(shù)據(jù)處理系統(tǒng)中實(shí)現(xiàn)其它的實(shí)施例。計(jì)算機(jī)100還優(yōu)選地包括圖形用戶接口(GUI),其可以借助駐留于在計(jì)算機(jī)100內(nèi)操作的計(jì)算機(jī)可讀介質(zhì)的系統(tǒng)軟件來實(shí)現(xiàn)。圖2示出了可以在其中實(shí)現(xiàn)實(shí)施例的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)200是諸如圖1的計(jì)算機(jī)100的計(jì)算機(jī)的例子,可以在其中安置實(shí)現(xiàn)說明性實(shí)施例過程的代碼或指令。在所描述的例子中,數(shù)據(jù)處理系統(tǒng)200采用包括北橋和存儲(chǔ)控制器集線器(MCH)202以及南橋和輸入/輸出(I/O)控制器集線器(ICH)204的集線器體系結(jié)構(gòu)。處理器206、主存儲(chǔ)器208以及圖形處理器210連接至北橋和存儲(chǔ)控制器集線器202。舉例來說,圖形處理器210通過加速圖形端口(AGP)連接至MCH。在所描述的例子中,局域網(wǎng)(LAN)適配器212連接至南橋和I/O控制器集線器204,并且音頻適配器216、鍵盤和鼠標(biāo)適配器220、調(diào)制解調(diào)器222、只讀存儲(chǔ)器(ROM)224、硬磁盤驅(qū)動(dòng)器(HDD)226、CD-ROM驅(qū)動(dòng)器230、通用串行總線(USB)端口和其它通信端口232,以及PCI/PCIe設(shè)備234通過總線238和總線240連接至南橋和I/O控制器集線器204。PCI/PCIe設(shè)備可以包括,例如以太網(wǎng)適配器、附加卡(add-incards)以及用于筆記本計(jì)算機(jī)的PC卡。PCI使用卡式總線控制器,而PCIe并不使用。ROM224可以是,例如閃速二進(jìn)制輸入/輸出系統(tǒng)(BIOS)。硬磁盤驅(qū)動(dòng)器226和CD-ROM驅(qū)動(dòng)器230可以使用,例如,集成驅(qū)動(dòng)器電子電路(IDE)或串行高級(jí)技術(shù)配件(SATA)接口。超級(jí)I/O(SIO)設(shè)備236連接至南橋和I/O控制器集線器204。操作系統(tǒng)在處理器206上運(yùn)行,并且協(xié)調(diào)和提供對(duì)圖2中數(shù)據(jù)處理系統(tǒng)200內(nèi)的各種組件的控制。操作系統(tǒng)可以是市場上可獲得的操作系統(tǒng),例如MicrosoftWindowsXP。Microsoft和Windows是微軟公司在美國、其它國家或二者的商標(biāo)。面向?qū)ο蟮木幊滔到y(tǒng),例如JavaTM編程系統(tǒng),可以結(jié)合操作系統(tǒng)運(yùn)行并且從在數(shù)據(jù)處理系統(tǒng)200上執(zhí)行的Java程序或應(yīng)用向操作系統(tǒng)提供調(diào)用。Java是Sun微系統(tǒng)公司在美國、其它國家或二者的商標(biāo)。用于操作系統(tǒng)的指令、面向?qū)ο蟮木幊滔到y(tǒng),以及應(yīng)用或程序位于諸如硬磁盤驅(qū)動(dòng)器226的存儲(chǔ)設(shè)備,并且可以被加載到主存儲(chǔ)器208給處理器206執(zhí)行。說明性實(shí)施例的過程是由處理器206使用計(jì)算機(jī)實(shí)現(xiàn)的指令來執(zhí)行的,舉例來說,其可以位于諸如主存儲(chǔ)器208、只讀存儲(chǔ)器224的存儲(chǔ)器中,或者位于一個(gè)或多個(gè)外圍設(shè)備中。本領(lǐng)域的普通技術(shù)人員可以理解,圖1至圖2中的硬件可以取決于實(shí)現(xiàn)而變化。除了圖1至圖2中所描述的硬件之外,或者代替圖1至圖2中所描述的硬件,可以使用其它的內(nèi)部硬件或外圍設(shè)備,例如閃速存儲(chǔ)器、等效非易失性存儲(chǔ)器或光盤驅(qū)動(dòng)器等。此外,說明性實(shí)施例的過程可以應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。在一些說明性的例子中,數(shù)據(jù)處理系統(tǒng)200可以是個(gè)人數(shù)字助理(PDA),其被配置具有閃速存儲(chǔ)器,以提供用于存儲(chǔ)操作系統(tǒng)文件和/或用戶產(chǎn)生的數(shù)據(jù)的非易失性存儲(chǔ)器??偩€系統(tǒng)可以包括一個(gè)或多個(gè)總線,例如系統(tǒng)總線、I/O總線和PCI總線。當(dāng)然,可以使用在依附于構(gòu)造或體系結(jié)構(gòu)的不同組件或設(shè)備之間提供數(shù)據(jù)傳遞的任何類型的通信構(gòu)造或體系結(jié)構(gòu)來實(shí)現(xiàn)總線系統(tǒng)。通信單元可以包括用于發(fā)送和接收數(shù)據(jù)的一個(gè)或多個(gè)設(shè)備,例如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。存儲(chǔ)器可以是,例如主存儲(chǔ)器208,或是諸如在北橋和存儲(chǔ)控制器集線器202中找到的高速緩存。處理單元可以包括一個(gè)或多個(gè)處理器或CPU。圖1至圖2中所描述的例子以及上述例子并不意味著暗示結(jié)構(gòu)限制。例如,數(shù)據(jù)處理系統(tǒng)200除了采取PDA的形式之外,還可以是平板計(jì)算機(jī)(tabletcomputer)、膝上型計(jì)算機(jī)或電話設(shè)備。說明性實(shí)施例提供了一種用于快速刪除數(shù)據(jù)庫數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法以及計(jì)算機(jī)可用程序代碼。刪除包括將多行標(biāo)記為空閑。將數(shù)據(jù)庫行的分片和其它分組統(tǒng)一成存儲(chǔ)器的公用塊(commonblock)。說明性實(shí)施例識(shí)別出在刪除規(guī)則或條件下行的共同元素何時(shí)取得資格。說明性實(shí)施例通過將塊標(biāo)記為已刪除或用別的方式已轉(zhuǎn)出來刪除行的片區(qū)(tract),而不是逐段刪除行。圖3示出了依照說明性實(shí)施例的處理器系統(tǒng)的數(shù)據(jù)流示圖。請(qǐng)求計(jì)算機(jī)301可以是代理計(jì)算機(jī),例如,圖2的數(shù)據(jù)處理系統(tǒng)200。用戶常常通過向數(shù)據(jù)庫管理系統(tǒng)發(fā)送事務(wù)來控制數(shù)據(jù)庫管理系統(tǒng)。事務(wù)包括一個(gè)或多個(gè)請(qǐng)求,例如,刪除請(qǐng)求。用戶將請(qǐng)求302發(fā)送至多維群集處理器303。多維群集處理器可以是數(shù)據(jù)庫管理系統(tǒng),例如,圖2的數(shù)據(jù)處理系統(tǒng)200的實(shí)例。多維群集處理器303可以是運(yùn)作于數(shù)據(jù)處理系統(tǒng)(例如,圖2的數(shù)據(jù)處理系統(tǒng)200)的第二實(shí)例上的數(shù)據(jù)庫管理系統(tǒng)。事務(wù)是順序提供給多維群集處理器的一組請(qǐng)求。事務(wù)可以包括,例如,刪除請(qǐng)求。多維群集處理器303可以將事務(wù)標(biāo)識(shí)符分派給請(qǐng)求。事務(wù)標(biāo)識(shí)符是與特定事務(wù)關(guān)聯(lián)的唯一標(biāo)識(shí)。事務(wù)標(biāo)識(shí)符在多維群集處理器執(zhí)行響應(yīng)于該事務(wù)中的請(qǐng)求的步驟期間維持標(biāo)識(shí)符。事務(wù)標(biāo)識(shí)符準(zhǔn)許跟蹤來自不同實(shí)體的活動(dòng)以及來自相同計(jì)算機(jī)的分離事務(wù)間的活動(dòng)。多維群集處理器303通過插入數(shù)據(jù)、刪除數(shù)據(jù)、更新數(shù)據(jù),以及對(duì)多維群集數(shù)據(jù)305和關(guān)聯(lián)的多維群集元數(shù)據(jù)307進(jìn)行其它改變來對(duì)數(shù)據(jù)庫進(jìn)行改變。多維群集數(shù)據(jù)庫中的多維群集數(shù)據(jù)305被安排為一個(gè)或多個(gè)表格中的行值和列值。一組多維群集數(shù)據(jù)是兩行或多行,各行在相應(yīng)的行或記錄的至少一列或至少一個(gè)屬性中具有相同的值。字段是行中的列值的特定實(shí)例。值是可以存儲(chǔ)在行或記錄的字段中的任意比特表示。行包括至少兩個(gè)值。多維群集元數(shù)據(jù)是描述或修改數(shù)據(jù)庫中第一組數(shù)據(jù)的第二組數(shù)據(jù)。數(shù)據(jù)庫中的數(shù)據(jù)是行的內(nèi)容,有時(shí)稱為值。例如,用戶可以在多維群集數(shù)據(jù)庫內(nèi)定義表格。用戶以比特或字節(jié)建立特定的頁大小。用戶建立特定數(shù)目的頁來作為分派給表格的塊。當(dāng)創(chuàng)建、擴(kuò)展和收縮表格的時(shí)候,多維群集處理器跟蹤塊標(biāo)識(shí)符、頁標(biāo)識(shí)符以及其它單元標(biāo)識(shí)符,以便以均衡的方式來組織對(duì)存儲(chǔ)器、處理器時(shí)間以及存儲(chǔ)裝置的分配。因?yàn)閿?shù)據(jù)庫管理系統(tǒng)使用塊、頁以及狀態(tài)比特來組織數(shù)據(jù)庫的表格,因此可以將塊、頁以及狀態(tài)比特特征化為元數(shù)據(jù)。圖4示出了依照說明性實(shí)施例的結(jié)構(gòu)中的關(guān)系的數(shù)據(jù)結(jié)構(gòu)。圖4中所示出的數(shù)據(jù)結(jié)構(gòu)可以在數(shù)據(jù)處理系統(tǒng)(例如圖1中所示出的數(shù)據(jù)處理系統(tǒng)100或圖2中所示出的數(shù)據(jù)處理系統(tǒng)200)中實(shí)現(xiàn)。另外,圖4中所示出的數(shù)據(jù)結(jié)構(gòu)可以針對(duì)圖3中所描述的數(shù)據(jù)流使用。填充的(populated)表格400是這樣的表格,即其具有包括與“國家”、“項(xiàng)目ID”和“年份”有關(guān)的數(shù)據(jù)的列。示出了兩個(gè)塊塊A401和塊B411,其為包括多維群集數(shù)據(jù)的行分配空間。塊是存儲(chǔ)分配,并且包括為了維持?jǐn)?shù)據(jù)庫完整性而規(guī)定了存儲(chǔ)分配的各方面的元數(shù)據(jù)。例如,塊可以包括存儲(chǔ)了值的比特,該值指示塊在使用中并且不應(yīng)當(dāng)在一段時(shí)間內(nèi)被編輯。存儲(chǔ)分配是有限數(shù)量的存儲(chǔ)器中的地址。地址對(duì)于塊是唯一的。塊大小是由操作系統(tǒng)建立的若干比特。存儲(chǔ)分配包括整數(shù)個(gè)塊,每一個(gè)的大小便是塊大小。還可以按整數(shù)個(gè)頁來表示塊大小。頁是固定數(shù)目的比特。因而,塊圖可以包括諸如塊標(biāo)題的元數(shù)據(jù)。在表格開端處,塊標(biāo)題包括用于至少一頁一直到有限集合的狀態(tài)比特。此外,塊標(biāo)題可以具有用于事務(wù)標(biāo)識(shí)符的字段。除了塊標(biāo)題以外,塊本身可以與一個(gè)或多個(gè)狀態(tài)比特關(guān)聯(lián)。狀態(tài)比特包括,例如,“保留”、“使用中”、“空閑”以及“轉(zhuǎn)出”。這樣的狀態(tài)比特可以通過將給出的比特設(shè)置為邏輯1來指示。數(shù)據(jù)庫可以將一行或多行插入公用塊,其中所有的行在相同的字段都具有共同值。頁是相連存儲(chǔ)的單位。塊中所涉及的頁在物理上相鄰于該塊中的至少另一頁。根據(jù)用戶的喜好,可以通過將給出的比特設(shè)置為邏輯0來指示狀態(tài)比特。在圖4中所示出的說明性例子中,塊A401包括四頁頁1403、頁2405、頁3407以及頁4409。多維群集數(shù)據(jù)庫以多種方式組織多維群集數(shù)據(jù)。塊A401含有多維群集數(shù)據(jù)。多維群集數(shù)據(jù)庫將公用塊中的空間分配成兩行或多行。另外,多維群集數(shù)據(jù)庫保證任何剩余的行(同樣分配給了該塊)在相同的至少一列或至少一個(gè)屬性中具有相同的值。因此,塊中所有的數(shù)據(jù)都是多維群集數(shù)據(jù)。圖5A示出了依照說明性實(shí)施例,對(duì)塊圖或塊狀態(tài)數(shù)據(jù)結(jié)構(gòu)的一連串修正。塊圖可以存儲(chǔ)在塊的第一頁中,例如,圖4中的塊A401的頁1403。塊圖包括與塊關(guān)聯(lián)的狀態(tài)比特。舉例來說,狀態(tài)比特是轉(zhuǎn)出比特(roll-outbit)。轉(zhuǎn)出比特(如果設(shè)置的話)指示塊和關(guān)聯(lián)的頁以及記錄被刪除,但卻可能是可恢復(fù)的??梢詫?duì)狀態(tài)比特進(jìn)行分組以形成狀態(tài)字段。因而,狀態(tài)字段是對(duì)狀態(tài)比特的擴(kuò)展。使用中狀態(tài)比特確定塊要么可用要么不可用。例如,用戶可以選擇‘1’比特來指示塊在使用中,并且因而對(duì)于存儲(chǔ)新的數(shù)據(jù)來說不可用。類似地,用戶可以選擇‘0’比特來指示塊當(dāng)前并未在使用中,并且因而對(duì)于存儲(chǔ)新的數(shù)據(jù)來說是可用的。響應(yīng)于接收到請(qǐng)求,多維群集處理器,例如圖3的群集處理器301,在塊中搜索并且改變塊圖。在第一時(shí)間,圖5A將改變示為第一時(shí)間塊圖500。保存在其中的塊的狀態(tài)比特如下塊1501是保留的。塊2503在使用中。塊3505在使用中。塊4507在使用中。在第二時(shí)間,多維群集處理器可以將塊圖改變成第二時(shí)間塊圖510。多維群集處理器可以選擇塊4517并且將使用中比特重置為可用狀態(tài)。在這種情況下,多維群集處理器使轉(zhuǎn)出比特未改變。在第三時(shí)間,多維群集處理器將第三時(shí)間塊圖520中的轉(zhuǎn)出比特改變成1。在該例中,塊4527是“已轉(zhuǎn)出的”。圖5B示出了依照說明性實(shí)施例的頁狀態(tài)數(shù)據(jù)結(jié)構(gòu)。單個(gè)頁狀態(tài)數(shù)據(jù)結(jié)構(gòu)與各塊關(guān)聯(lián)。存在許多頁狀態(tài)比特,其對(duì)應(yīng)于在表格初始時(shí)間所建立的每塊頁的比率(theratioofpagesperblock)。在該例中,頁狀態(tài)數(shù)據(jù)結(jié)構(gòu)530分配空間來存儲(chǔ)事務(wù)標(biāo)識(shí)符533、頁1狀態(tài)535、頁2狀態(tài)537、頁3狀態(tài)539,以及頁4狀態(tài)541。取決于為各塊所建立的頁的數(shù)目,可以給出更少或更多的頁狀態(tài)。圖6是示出了依照說明性實(shí)施例刪除數(shù)據(jù)庫記錄的流程圖。多維群集處理器,例如圖3的多維群集處理器303,可以實(shí)現(xiàn)圖6的步驟。最初,多維群集處理器接收包括刪除請(qǐng)求的事務(wù)(步驟600)。刪除請(qǐng)求指定了條件。條件是由關(guān)系所聯(lián)系的值。關(guān)系可以是以數(shù)據(jù)庫軟件解釋該值這樣的方式隱含的。例如,數(shù)據(jù)庫軟件可以解釋到僅包括值的條件意味著該條件對(duì)于與該值匹配的每個(gè)字段都是成立的。關(guān)系可以包括數(shù)學(xué)關(guān)系或排序關(guān)系。接下來,多維群集處理器為事務(wù)分派事務(wù)標(biāo)識(shí)符(步驟601)。多維群集處理器獲得第一行(步驟602)。多維群集處理器檢查數(shù)據(jù)庫的行(步驟603)。多維群集處理器確定是否取盡了所有的行(步驟604)。當(dāng)多維群集處理器檢查了每一行,或者多維群集處理器找到含有每一行的塊時(shí),所有的行便取盡。如果取盡了所有的行,那么處理終止。然而,如果沒有取盡所有的行,那么多維群集處理器確定是否塊中的所有多維群集數(shù)據(jù)都取得刪除資格。多維群集處理器通過確定當(dāng)前行是否取得資格(步驟605)來開始這一確定。限定資格是這樣的動(dòng)作,即多維群集處理器著手確定行中的字段滿足條件。例如,多維群集處理器可以通過確定用于“國家”的字段與值“墨西哥”匹配來使行取得資格。資格或者取得資格的行的狀態(tài)可以基于關(guān)聯(lián)從行擴(kuò)展到存儲(chǔ)該行的塊。在這樣的情況下,如果行取得資格,那么所關(guān)聯(lián)的塊也取得資格。如果行取得資格,則多維群集處理器在與取得資格的行相同的片中查找塊(步驟606)。例如,多維群集處理器可以找到圖4的塊A401。當(dāng)值或關(guān)鍵值在表格中沿特定的列在多行中是相同的時(shí)候,便出現(xiàn)維或片。片是具有相同值的所有的行。片的更為有限的形式是單元。單元是滿足多維條件的行的分組。因而,單元是由行所共享的至少兩列。因此,單元具有第一值和第二值。多維群集處理器確定對(duì)于該單元是否取盡了所有的塊(步驟607)。當(dāng)多維群集處理器通過測(cè)試每一塊來完成對(duì)塊的搜索時(shí),塊便取盡,例如,如在步驟606的重復(fù)執(zhí)行期間所實(shí)現(xiàn)的。當(dāng)多維群集處理器查找塊時(shí),多維群集處理器已經(jīng)完成確定是否塊中的所有多維群集數(shù)據(jù)都取得了刪除資格。步驟607的否定出口使得多維群集處理器雙態(tài)切換與該塊關(guān)聯(lián)的使用中比特(步驟609)。例如,多維群集處理器將使用中比特設(shè)置為‘1’。如以上所解釋的,如果將使用中比特設(shè)置為‘1’,那么該塊就在“使用中”并且不可用于存儲(chǔ)新的數(shù)據(jù)。接下來,多維群集處理器在塊圖中為找到的塊設(shè)置轉(zhuǎn)出比特,并且在塊標(biāo)題中設(shè)置事務(wù)標(biāo)識(shí)符(步驟611)。多維群集處理器在塊中獲得頁(步驟613)。例如,多維群集處理器獲得圖4的頁1403。多維群集處理器確定是否發(fā)現(xiàn)頁(步驟615)。如果發(fā)現(xiàn)頁,則多維群集處理器為頁控制信息書寫日志記錄(logrecord)。日志記錄包括在刪除之前以及之后的、對(duì)頁控制信息的描述。因此可以將日志記錄特征化以包括“之前描述”和“之后描述”(步驟617)。接下來,多維群集處理器清空該頁(步驟619)。多維群集處理器通過重復(fù)執(zhí)行步驟613來繼續(xù)在塊中獲得更多的頁。最后,多維群集處理器確定并未發(fā)現(xiàn)新的頁(步驟615)。在該例中,多維群集處理器確定已根據(jù)步驟617和619處理了所有的頁。在這樣的情況下,多維群集處理器通過重復(fù)執(zhí)行步驟606來繼續(xù)查找更多的塊。返回到步驟607,一旦所有的塊對(duì)于特定的單元都取盡時(shí),多維群集處理器便搜尋出下一行(步驟621)。此外,當(dāng)在步驟605所控制的流程圖循環(huán)內(nèi)處理器在行之中尋找的時(shí)候,多維群集處理器繼續(xù)在步驟621搜尋出下一行。最后,多維群集處理器取盡最后的塊中所有的行。過程由此終止。圖7是示出了依照可選的說明性實(shí)施例刪除數(shù)據(jù)庫記錄的流程圖。多維群集處理器,例如圖3的多維群集處理器303,可以實(shí)現(xiàn)圖7的步驟。最初,多維群集處理器接收刪除一組多維群集數(shù)據(jù)的請(qǐng)求(步驟701)。接下來,多維群集處理器確定是否塊中所有的多維群集數(shù)據(jù)都取得了刪除資格(步驟703)。在肯定的確定之后,多維群集處理器刪除取得刪除資格的所有數(shù)據(jù)。多維群集處理器通過刪除塊中所有的數(shù)據(jù)來刪除取得資格的數(shù)據(jù)。因而,多維群集處理器刪除了多維群集數(shù)據(jù)集(步驟705)。處理由此終止。圖8示出了依照說明性實(shí)施例用于限定行或塊的條件的一組例子。項(xiàng)目“事務(wù)日期”801描述了表格的行中的字段。項(xiàng)目803“小于”描述了數(shù)學(xué)關(guān)系。項(xiàng)目“小于”可以將值與考慮用于測(cè)試的字段相耦合。項(xiàng)目805“當(dāng)前日期”是這樣的變量,其存儲(chǔ)了存在于多維群集處理器操作功能時(shí)的當(dāng)前日期。項(xiàng)目800“條件”對(duì)于事務(wù)日期小于當(dāng)前日期之前六個(gè)月的所有的行表示為真值。在項(xiàng)目820“條件”中,項(xiàng)目821“國家”描述了表格的行中的字段。項(xiàng)目823“相等”描述了這樣的關(guān)系,即日期相同。項(xiàng)目825“墨西哥”描述了項(xiàng)目823“相等”所測(cè)試的數(shù)據(jù)串。因而,如果將國家字段設(shè)置為墨西哥,則項(xiàng)目820“條件”對(duì)于行測(cè)試得真。在項(xiàng)目830“條件”中,項(xiàng)目831“年份”描述了表格的行中的字段。項(xiàng)目833“相等”描述了這樣的關(guān)系,即日期相同。項(xiàng)目835“1997”描述了可以將行的字段與之比較的年份。因而,如果將年份字段設(shè)置為1997,則項(xiàng)目830“條件”對(duì)于行測(cè)試得真。以上所描述的字段僅僅是字段的例子。很多其它的字段和字段類型可以受控滿足條件。例如,基于含有整數(shù)、浮點(diǎn)值或串的字段,字段可以與值相關(guān)。此外,可以將條件表示為與布爾算子(例如‘AND(與)’和‘OR(或)’)鏈接的組合。還可以將條件描述如下“在年份<2000并且國家=墨西哥的情況下”。圖9是示出了依照說明性實(shí)施例插入數(shù)據(jù)的流程圖。多維群集處理器接收插入請(qǐng)求(步驟901)。多維群集處理器確定群集處理器是否可以在單元的現(xiàn)有塊中為行找到空間(步驟902)。否定的確定使得多維群集處理器進(jìn)入這樣的循環(huán),即在候選塊之中尋找合適的塊。候選塊是這樣的塊,即其不具有用于行插入的空間。多維群集處理器獲得第一候選塊(步驟903)。多維群集處理器確定是否取盡了一組候選塊(步驟904)。多維群集處理器確定是否可以使用候選塊(步驟905)。多維群集處理器通過確定“使用中”比特是否設(shè)置為零來進(jìn)行這一確定。如果步驟905的結(jié)果是肯定的,則多維群集處理器確定候選決是否并不沖突。如果轉(zhuǎn)出比特對(duì)于候選塊設(shè)置為零,則候選塊并不沖突。此外,如果候選塊的事務(wù)標(biāo)識(shí)符區(qū)別于當(dāng)前事務(wù)的事務(wù)標(biāo)識(shí)符,則候選塊并不沖突。相反,如果轉(zhuǎn)出比特對(duì)于候選塊設(shè)置為1并且與候選塊關(guān)聯(lián)的事務(wù)標(biāo)識(shí)符和分派給該事務(wù)的當(dāng)前事務(wù)標(biāo)識(shí)符是相同的,則候選塊是有沖突的。在步驟907或909,多維群集處理器進(jìn)行該確定。例如,多維群集處理器確定是否設(shè)置了轉(zhuǎn)出比特(步驟907)。否定的確定指示候選塊并不沖突,并且處理在步驟915繼續(xù)。然而,肯定的確定使得多維群集處理器確定與候選塊關(guān)聯(lián)的事務(wù)標(biāo)識(shí)符是否和當(dāng)前事務(wù)標(biāo)識(shí)符是相同的(步驟909)。否定的確定指示候選塊并不沖突,并且處理在步驟915繼續(xù)。多維群集處理器對(duì)新的行使用候選塊(步驟915)。多維群集處理器將候選塊標(biāo)記為使用中(步驟925)。處理由此終止。如果候選塊有沖突,即如果步驟907和909都是肯定的,那么多維群集處理器獲得下一候選塊(步驟911)。倘若候選塊具有設(shè)置為1的使用中比特,如在步驟905所確定的,則執(zhí)行步驟911。如果在步驟904取盡了所有的候選塊,則多維群集處理器利用新的塊擴(kuò)展表格。多維群集處理器確定是否可以使用候選塊(步驟905)。多維群集處理器通過確定“使用中”比特是否設(shè)置為零來進(jìn)行這一確定。如果步驟905的結(jié)果是肯定的,則多維群集處理器確定候選塊是否并不沖突。如果轉(zhuǎn)出比特對(duì)于候選塊設(shè)置為零,或者與候選塊關(guān)聯(lián)的事務(wù)標(biāo)識(shí)符(如果有的話)不同于當(dāng)前事務(wù)標(biāo)識(shí)符,則候選塊并不沖突。在步驟907或909中,多維群集處理器進(jìn)行該確定。例如,多維群集處理器確定是否設(shè)置了轉(zhuǎn)出比特(步驟907)。否定的確定指示候選塊并不沖突,并且處理在步驟915繼續(xù)。然而,肯定的確定使得多維群集處理器確定與候選塊關(guān)聯(lián)的事務(wù)標(biāo)識(shí)符是否和當(dāng)前事務(wù)標(biāo)識(shí)符是相同的(步驟909)。如果候選塊有沖突,則多維群集處理器獲得下一候選塊(步驟911)。倘若候選塊具有設(shè)置為1的“使用中”比特(確定于步驟905),則執(zhí)行步驟911。如果多維群集處理器確定在步驟904取盡了所有的候選塊,則多維群集處理器利用新的塊擴(kuò)展表格(步驟913)。圖10是示出了依照可選的說明性實(shí)施例將數(shù)據(jù)插入表格的流程圖。多維群集處理器接收插入行的請(qǐng)求(步驟1001)。多維群集處理器確定在現(xiàn)有的塊之中是否存在空間(步驟1003)。否定的確定使得多維群集處理器確定候選塊是否可用(步驟1005)。否定的確定使得該過程終止。然而,肯定的確定使得多維群集處理器確定候選塊是否并不沖突(步驟1007)。如果候選塊并不沖突,則多維群集處理器使用候選塊來存儲(chǔ)與該請(qǐng)求關(guān)聯(lián)的行(步驟1009)。該過程由此終止。類似地,如果在步驟1007的確定是否定的,則該過程終止。因而,說明性實(shí)施例針對(duì)塊提供了一種計(jì)算機(jī)實(shí)現(xiàn)的方法以及計(jì)算機(jī)可用程序代碼,其用于當(dāng)行是完全符合條件的多維群集數(shù)據(jù)時(shí),塊刪除這一塊行。另外,一些說明性實(shí)施例以日志記錄了按這種方式書寫的每個(gè)塊,即其提供了一種用于稍后回退任何刪除的處理的方法。文中所描述的方法和設(shè)備具有若干優(yōu)點(diǎn)。以日志記錄刪除只要求以日志記錄多維群集處理器刪除塊或頁的事實(shí)。此外,合成日志(resultantlog)要比常規(guī)日志更為緊湊。本發(fā)明可以采取全硬件實(shí)施例、全軟件實(shí)施例或者既含有硬件元素又含有軟件元素的實(shí)施例的形式。在優(yōu)選的實(shí)施例中,以軟件實(shí)現(xiàn)本發(fā)明,其包括但不限于固件、常駐軟件、微碼等。此外,本發(fā)明可以采取可訪問于計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供由計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用的或者與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合使用的程序代碼。對(duì)于該描述來說,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是可以容納、存儲(chǔ)、通信、傳播或傳送由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用的或者與指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合使用的程序的任何有形裝置。介質(zhì)可以是電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或者傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的例子包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移動(dòng)計(jì)算機(jī)磁盤、隨機(jī)訪問存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬磁盤和光盤。光盤的當(dāng)前的例子包括壓縮磁盤-只讀存儲(chǔ)器(CD-ROM)、壓縮磁盤-讀/寫(CD-R/W)和DVD。適于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)會(huì)包括通過系統(tǒng)總線直接地或間接地耦合于存儲(chǔ)元件的至少一個(gè)處理器。存儲(chǔ)元件可以包括在程序代碼的實(shí)際執(zhí)行期間所采用的局部存儲(chǔ)器、大容量存儲(chǔ)器,以及為了減少在執(zhí)行期間必須從大容量存儲(chǔ)器檢索代碼的次數(shù)而提供至少一些程序代碼的臨時(shí)存儲(chǔ)的高速緩沖存儲(chǔ)器。輸入/輸出或I/O設(shè)備(包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等)可以直接地或者通過介入I/O控制器耦合于系統(tǒng)。網(wǎng)絡(luò)適配器還可以耦合于系統(tǒng),從而使得數(shù)據(jù)處理系統(tǒng)能夠適于通過介入專用或公用網(wǎng)絡(luò)耦合于其它的數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器和以太網(wǎng)卡僅僅是幾種當(dāng)前可用類型的網(wǎng)絡(luò)適配器。已經(jīng)出于說明和描述的目的給出了本發(fā)明的介紹,但并不旨在以所公開的形式窮舉或限制本發(fā)明。對(duì)本領(lǐng)域的普通技術(shù)人員來說,很多修改和變形會(huì)是顯而易見的。所選擇和描述的實(shí)施例是為了最好地解釋本發(fā)明的原理、實(shí)際應(yīng)用,以及使本領(lǐng)域的普通技術(shù)人員能夠針對(duì)各種實(shí)施例以及適于預(yù)期的特定用途的各種修改來理解本發(fā)明。權(quán)利要求1.一種用于刪除數(shù)據(jù)的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述計(jì)算機(jī)實(shí)現(xiàn)的方法包括接收刪除一組多維群集數(shù)據(jù)的請(qǐng)求,其中,所述多維群集數(shù)據(jù)位于塊中;響應(yīng)于接收到所述請(qǐng)求,確定是否所述塊中的所有的多維群集數(shù)據(jù)都取得了刪除資格;以及響應(yīng)于所有的多維群集數(shù)據(jù)都取得了刪除資格,刪除所述塊中的所有數(shù)據(jù),以便刪除所述多維群集數(shù)據(jù)集。2.根據(jù)權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)的方法,其進(jìn)一步包括查找第二塊;確定所述第二塊是否含有取得刪除資格的一組多維群集數(shù)據(jù);以及響應(yīng)于所述第二塊含有一組多維群集數(shù)據(jù),刪除所述第二塊中的所有數(shù)據(jù),以便刪除所述多維群集數(shù)據(jù)集。3.根據(jù)權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述確定步驟包括確定字段是否滿足條件。4.根據(jù)權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)的方法,其進(jìn)一步包括標(biāo)記所述塊以形成一組已標(biāo)記的塊,其中所述已標(biāo)記的塊的集合不可用于存儲(chǔ)新的數(shù)據(jù)。5.根據(jù)權(quán)利要求4的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述標(biāo)記步驟包括設(shè)置使用中比特;以及設(shè)置轉(zhuǎn)出比特。6.根據(jù)權(quán)利要求5的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述刪除步驟包括清空塊內(nèi)的至少一頁。7.根據(jù)權(quán)利要求6的計(jì)算機(jī)實(shí)現(xiàn)的方法,其進(jìn)一步包括為所述至少一頁書寫日志記錄。8.一種用于在表格中插入行的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述計(jì)算機(jī)實(shí)現(xiàn)的方法包括接收插入行的請(qǐng)求;確定在多個(gè)現(xiàn)有的塊之中是否有空間存在;響應(yīng)于確定不存在空間,確定候選塊是否可用;響應(yīng)于確定所述候選塊可用,確定所述候選塊是否并不沖突;以及響應(yīng)于所述候選塊并不沖突,使用所述候選塊來存儲(chǔ)與所述請(qǐng)求關(guān)聯(lián)的行。9.根據(jù)權(quán)利要求8的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述確定所述候選塊是否并不沖突包括確定轉(zhuǎn)出比特是否復(fù)位。10.根據(jù)權(quán)利要求9的計(jì)算機(jī)實(shí)現(xiàn)的方法,其進(jìn)一步包括將所述候選塊中的比特標(biāo)記為使用中。11.根據(jù)權(quán)利要求8的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述確定所述候選塊是否并不沖突包括確定插入事務(wù)標(biāo)識(shí)符與所述候選塊并無關(guān)聯(lián),其中所述插入事務(wù)標(biāo)識(shí)符與所述請(qǐng)求關(guān)聯(lián)。12.根據(jù)權(quán)利要求11的計(jì)算機(jī)實(shí)現(xiàn)的方法,其進(jìn)一步包括將所述候選塊中的比特標(biāo)記為使用中。13.根據(jù)權(quán)利要求12的計(jì)算機(jī)實(shí)現(xiàn)的方法,其進(jìn)一步包括響應(yīng)于所述候選塊有沖突,利用第二塊擴(kuò)展表格。14.一種用于刪除數(shù)據(jù)的設(shè)備,所述設(shè)備包括接收裝置,所述接收裝置用于接收刪除一組多維群集數(shù)據(jù)的請(qǐng)求,其中,所述多維群集數(shù)據(jù)位于塊中;確定裝置,所述確定裝置用于響應(yīng)于接收到所述請(qǐng)求,確定是否所述塊中的所有的多維群集數(shù)據(jù)都取得了刪除資格;以及刪除裝置,所述刪除裝置用于響應(yīng)于所有的多維群集數(shù)據(jù)都取得了刪除資格,刪除所述塊中的所有數(shù)據(jù),以便刪除所述多維群集數(shù)據(jù)集。15.根據(jù)權(quán)利要求14的設(shè)備,其進(jìn)一步包括查找裝置,所述查找裝置用于查找第二塊;確定裝置,所述確定裝置用于確定所述第二塊是否含有取得刪除資格的一組多維群集數(shù)據(jù);以及刪除裝置,所述刪除裝置用于響應(yīng)于所述第二塊含有一組多維群集數(shù)據(jù),刪除所述第二塊中的所有數(shù)據(jù),以便刪除所述多維群集數(shù)據(jù)集。16.根據(jù)權(quán)利要求14的設(shè)備,其中所述用于確定的裝置包括用于確定日期字段是否滿足條件的裝置。17.根據(jù)權(quán)利要求14的設(shè)備,其進(jìn)一步包括標(biāo)記裝置,所述標(biāo)記裝置用于標(biāo)記所述塊以形成一組已標(biāo)記的塊,其中所述已標(biāo)記的塊的集合不可用于存儲(chǔ)新的數(shù)據(jù)。18.根據(jù)權(quán)利要求17的設(shè)備,其中所述用于標(biāo)記的裝置包括用于設(shè)置使用中比特的裝置;以及用于設(shè)置轉(zhuǎn)出比特的裝置。19.根據(jù)權(quán)利要求18的設(shè)備,其中所述用于刪除的裝置包括用于清空塊內(nèi)的至少一頁的裝置。20.根據(jù)權(quán)利要求19的設(shè)備,其進(jìn)一步包括用于為所述至少一頁書寫日志記錄的裝置。全文摘要一種用于在多維群集數(shù)據(jù)庫中刪除行的計(jì)算機(jī)實(shí)現(xiàn)的方法、裝置以及計(jì)算機(jī)可用程序代碼。多維群集處理器接收刪除一組多維群集數(shù)據(jù)的請(qǐng)求。所述多維群集處理器確定是否所有的多維群集數(shù)據(jù)都位于塊中。響應(yīng)于所有的多維群集數(shù)據(jù)都取得了刪除資格,所述多維群集處理器刪除所述塊中的所有數(shù)據(jù),以便刪除所述多維群集數(shù)據(jù)集。文檔編號(hào)G06F17/30GK101063976SQ200710096420公開日2007年10月31日申請(qǐng)日期2007年4月13日優(yōu)先權(quán)日2006年4月27日發(fā)明者T·R·馬爾克姆斯,M·J·維內(nèi)爾,B·巴塔查爾吉,L·A·布巴克申請(qǐng)人:國際商業(yè)機(jī)器公司