亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

在具有卸載的布隆過(guò)濾器的智能存儲(chǔ)器中利用協(xié)同并行過(guò)濾的哈希聯(lián)接的制作方法

文檔序號(hào):6408317閱讀:302來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):在具有卸載的布隆過(guò)濾器的智能存儲(chǔ)器中利用協(xié)同并行過(guò)濾的哈希聯(lián)接的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理,更具體地說(shuō),涉及存儲(chǔ)器方參與聯(lián)接操作 (joinoperation)0
背景技術(shù)
本節(jié)中說(shuō)明的方法是可以推行的方法,不過(guò)不一定是以前已構(gòu)想出或推行的方法。于是,除非另有說(shuō)明,否則不應(yīng)僅僅因?yàn)榘诒竟?jié)中,而把本節(jié)中描述的任意方法視為現(xiàn)有技術(shù)。數(shù)據(jù)庫(kù)服務(wù)器通常,諸如數(shù)據(jù)庫(kù)服務(wù)器之類(lèi)的服務(wù)器是集成的軟件組件與計(jì)算資源(比如存儲(chǔ)器,節(jié)點(diǎn),和節(jié)點(diǎn)上的執(zhí)行所述集成的軟件組件的進(jìn)程)的分配的組合,軟件和計(jì)算資源的組合專(zhuān)用于代表服務(wù)器的客戶端提供特定種類(lèi)的功能。通過(guò)處理客戶端訪問(wèn)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器管理和促進(jìn)對(duì)所述一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的訪問(wèn)。數(shù)據(jù)庫(kù)包含數(shù)據(jù)和元數(shù)據(jù)。從較高的層次來(lái)說(shuō),所述數(shù)據(jù)和元數(shù)據(jù)是例如按照關(guān)系和/或?qū)ο?關(guān)系數(shù)據(jù)庫(kù)構(gòu)造,保存在邏輯結(jié)構(gòu)中的。數(shù)據(jù)庫(kù)元數(shù)據(jù)定義數(shù)據(jù)庫(kù)對(duì)象,比如表、對(duì)象表、視圖或者復(fù)合類(lèi)型。SQL數(shù)據(jù)定義語(yǔ)言(“DDL”)指令被發(fā)給數(shù)據(jù)庫(kù)服務(wù)器, 以創(chuàng)建或配置數(shù)據(jù)庫(kù)對(duì)象。通常,在數(shù)據(jù)庫(kù)內(nèi),數(shù)據(jù)被邏輯地構(gòu)造成一個(gè)或多個(gè)數(shù)據(jù)容器。每個(gè)容器包含記錄。每條記錄內(nèi)的數(shù)據(jù)被組織成一個(gè)或多個(gè)字段。在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)容器一般被稱(chēng)為表,記錄被稱(chēng)為行,字段被稱(chēng)為列。在面向?qū)ο蟮臄?shù)據(jù)庫(kù)中,數(shù)據(jù)容器一般被稱(chēng)為對(duì)象類(lèi)型或?qū)ο箢?lèi),記錄被稱(chēng)為對(duì)象,字段被稱(chēng)為屬性。其它數(shù)據(jù)庫(kù)體系結(jié)構(gòu)可以使用其它術(shù)語(yǔ)。實(shí)現(xiàn)本發(fā)明的系統(tǒng)并不局限于任何特定種類(lèi)的數(shù)據(jù)容器或數(shù)據(jù)庫(kù)體系結(jié)構(gòu)。不過(guò),為了便于說(shuō)明,這里使用的例子和術(shù)語(yǔ)一般與關(guān)系或?qū)ο?關(guān)系數(shù)據(jù)庫(kù)關(guān)聯(lián)。從而在這里,術(shù)語(yǔ)“表”、“行”和“列”應(yīng)被用于分別表示數(shù)據(jù)容器、記錄和字段。存儲(chǔ)系統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器把數(shù)據(jù)庫(kù)的基本數(shù)據(jù)保存在一個(gè)或多個(gè)持久的存儲(chǔ)系統(tǒng)中。這些存儲(chǔ)系統(tǒng)一般向數(shù)據(jù)庫(kù)服務(wù)器提供其中可保存所述基本數(shù)據(jù)的大容量的持久的非易失性存儲(chǔ)器,所述存儲(chǔ)器通常呈一個(gè)或多個(gè)存儲(chǔ)設(shè)備,比如硬盤(pán)的形式。這種存儲(chǔ)系統(tǒng)的一個(gè)例子是存儲(chǔ)器陣列。利用軟件或硬件邏輯優(yōu)化許多存儲(chǔ)系統(tǒng),以便完成低級(jí)的專(zhuān)門(mén)數(shù)據(jù)管理功能,比如存儲(chǔ)設(shè)備備份、存儲(chǔ)設(shè)備優(yōu)化、多個(gè)單獨(dú)的存儲(chǔ)設(shè)備間的分散存儲(chǔ)、共用數(shù)據(jù)訪問(wèn)、塊緩存等等。因此,數(shù)據(jù)庫(kù)服務(wù)器通常依賴(lài)存儲(chǔ)系統(tǒng)提供這樣的低級(jí)功能,使得數(shù)據(jù)庫(kù)服務(wù)器能夠把它們的資源用于其它任務(wù),比如查詢(xún)編譯和執(zhí)行、數(shù)據(jù)分析,和與客戶端的通信。在許多實(shí)施例中,數(shù)據(jù)庫(kù)服務(wù)器使用的存儲(chǔ)系統(tǒng)只不過(guò)構(gòu)成一個(gè)或多個(gè)簡(jiǎn)單的、 線性尋址的、分塊的持久存儲(chǔ)設(shè)備。因而,存儲(chǔ)系統(tǒng)不在意它們保存的基本數(shù)據(jù)所代表的邏輯結(jié)構(gòu)。此外,數(shù)據(jù)庫(kù)服務(wù)器和存儲(chǔ)系統(tǒng)之間的交互作用局限于從磁盤(pán)讀取或向磁盤(pán)寫(xiě)入一系列字節(jié)的簡(jiǎn)單輸入/輸出(I/O)請(qǐng)求。從而,盡管數(shù)據(jù)庫(kù)服務(wù)器以如上所述的邏輯結(jié)構(gòu)的形式,把數(shù)據(jù)庫(kù)數(shù)據(jù)提供給客戶端,不過(guò)數(shù)據(jù)庫(kù)的基本數(shù)據(jù)可按不同的更簡(jiǎn)單的結(jié)構(gòu)被保存在存儲(chǔ)系統(tǒng)。例如,為了使數(shù)據(jù)庫(kù)服務(wù)器得以把數(shù)據(jù)保存在常規(guī)硬盤(pán),數(shù)據(jù)庫(kù)服務(wù)器構(gòu)建所述數(shù)據(jù)以符合硬盤(pán)支持的塊結(jié)構(gòu)。從而,盡管大多數(shù)客戶端向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出借助對(duì)諸如表和列之類(lèi)邏輯結(jié)構(gòu)的引用來(lái)引用數(shù)據(jù)的指令或查詢(xún),不過(guò),數(shù)據(jù)庫(kù)服務(wù)器實(shí)際上是按原始?jí)K的形式,從存儲(chǔ)系統(tǒng)取回所述數(shù)據(jù)的。通過(guò)利用各種保存的元數(shù)據(jù)、索引和報(bào)頭,數(shù)據(jù)庫(kù)服務(wù)器能夠把從存儲(chǔ)系統(tǒng)取回的結(jié)構(gòu)內(nèi)的數(shù)據(jù)解讀成邏輯表、行和列。為了方便起見(jiàn),下面將把在存儲(chǔ)系統(tǒng)保存數(shù)據(jù)庫(kù)的“原始”或者基本數(shù)據(jù)的結(jié)構(gòu)稱(chēng)為數(shù)據(jù)塊或數(shù)據(jù)單元。關(guān)于數(shù)據(jù)塊或數(shù)據(jù)單元說(shuō)明的技術(shù)應(yīng)被理解成同樣適用于在存儲(chǔ)系統(tǒng)保存原始數(shù)據(jù)的其它結(jié)構(gòu)。例如,當(dāng)數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行需要訪問(wèn)數(shù)據(jù)庫(kù)中的邏輯結(jié)構(gòu)的命令時(shí),數(shù)據(jù)庫(kù)服務(wù)器可利用映射數(shù)據(jù)以識(shí)別在存儲(chǔ)系統(tǒng)中的保存該邏輯結(jié)構(gòu)的基本數(shù)據(jù)的一個(gè)數(shù)據(jù)塊或一系列數(shù)據(jù)塊。數(shù)據(jù)庫(kù)服務(wù)器隨后向存儲(chǔ)系統(tǒng)發(fā)送對(duì)被映射數(shù)據(jù)塊的讀取請(qǐng)求。響應(yīng)所述請(qǐng)求,存儲(chǔ)系統(tǒng)可從存儲(chǔ)器讀取識(shí)別的數(shù)據(jù)塊,并把這些數(shù)據(jù)塊發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器隨后可把數(shù)據(jù)塊解讀成表的邏輯行和列。數(shù)據(jù)庫(kù)服務(wù)器根據(jù)它把數(shù)據(jù)塊解讀成邏輯行和列的結(jié)果,執(zhí)行所述命令。向存儲(chǔ)系統(tǒng)請(qǐng)求和取回?cái)?shù)據(jù)塊所需的時(shí)間代表數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行數(shù)據(jù)庫(kù)命令所需的相當(dāng)大量的時(shí)間。遺憾的是,在許多操作中,從存儲(chǔ)系統(tǒng)取回的某些數(shù)據(jù)塊中的一些或者甚至全部數(shù)據(jù)塊可能與數(shù)據(jù)庫(kù)命令的執(zhí)行無(wú)關(guān)。例如,客戶端可能僅僅請(qǐng)求表的某一特定列的數(shù)據(jù)。由于在存儲(chǔ)系統(tǒng)保存所述表的基本數(shù)據(jù)塊結(jié)構(gòu)的緣故,可能要求數(shù)據(jù)庫(kù)服務(wù)器請(qǐng)求由并不僅僅被請(qǐng)求列,而且還有其它各列的數(shù)據(jù)構(gòu)成的數(shù)據(jù)塊。數(shù)據(jù)庫(kù)服務(wù)器隨后將丟棄非請(qǐng)求列的數(shù)據(jù)。從而,非請(qǐng)求列的數(shù)據(jù)的傳送是不必要的。作為另一個(gè)例子,查詢(xún)可包括使數(shù)據(jù)庫(kù)服務(wù)器從結(jié)果集中過(guò)濾數(shù)據(jù)的某些謂詞條件。例如,查詢(xún)可請(qǐng)求其“color”列值為“red”的所有行。遺憾的是,在不取回表的所有基本數(shù)據(jù)的情況下,數(shù)據(jù)庫(kù)服務(wù)器沒(méi)有辦法知道哪些行滿足這樣的謂詞。例如,在一個(gè)100000 行的列中,可能只有1行滿足該謂詞。雖然如此,為了找出該行,數(shù)據(jù)庫(kù)服務(wù)器必須從存儲(chǔ)系統(tǒng)取回該表的每個(gè)數(shù)據(jù)塊,即使它們中的大多數(shù)與該查詢(xún)無(wú)關(guān)。聯(lián)接操作數(shù)據(jù)庫(kù)服務(wù)器通常接收要求執(zhí)行一類(lèi)稱(chēng)為“聯(lián)接操作”的操作的命令。一般來(lái)說(shuō), 聯(lián)接操作包含合并第一個(gè)表中的每一行和第二個(gè)表中與某些聯(lián)接標(biāo)準(zhǔn)相符的每一行。對(duì)聯(lián)接操作中所涉及的每個(gè)表來(lái)說(shuō),聯(lián)接操作指定稱(chēng)為聯(lián)接列或聯(lián)接屬性的一個(gè)或多個(gè)列的子集。聯(lián)接標(biāo)準(zhǔn)可包括比較第一個(gè)表中的聯(lián)接列和第二個(gè)表中的聯(lián)接列。聯(lián)接標(biāo)準(zhǔn)還可包括一個(gè)或多個(gè)條件。這些條件通常被表述成謂詞,從而聯(lián)接標(biāo)準(zhǔn)可被稱(chēng)為聯(lián)接謂詞?!暗戎德?lián)接”操作是一種常見(jiàn)類(lèi)型的聯(lián)接操作,其中只有當(dāng)?shù)谝粋€(gè)表的行A中的聯(lián)接列的值與第二個(gè)表中的行B中的聯(lián)接列的值相等時(shí),才合并行A和行B。例如,下面的SQL 語(yǔ)句規(guī)定其中合并名為“employee”的表中的每一行和名為“d印artment”的表中的每一行,不過(guò)只有當(dāng)這兩行各自的“DepartmentlD”列具有相同的值時(shí)才進(jìn)行所述合并的等值聯(lián)接。
9
權(quán)利要求
1.一種方法,包括數(shù)據(jù)庫(kù)服務(wù)器向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送a)對(duì)數(shù)據(jù)的請(qǐng)求,所述請(qǐng)求識(shí)別保存在數(shù)據(jù)存儲(chǔ)子系統(tǒng)中的一個(gè)或多個(gè)數(shù)據(jù)單元,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是數(shù)據(jù)存儲(chǔ)系統(tǒng)保存第一個(gè)表的數(shù)據(jù)的數(shù)據(jù)單元;和b)描述第二個(gè)表的一個(gè)或多個(gè)特性的元數(shù)據(jù);其中所述請(qǐng)求是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)從存儲(chǔ)器取回所述一個(gè)或多個(gè)數(shù)據(jù)單元的通信;其中所述元數(shù)據(jù)是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)根據(jù)取回的一個(gè)或多個(gè)數(shù)據(jù)單元和在所述元數(shù)據(jù)中描述的第二個(gè)表的一個(gè)或多個(gè)特性,產(chǎn)生過(guò)濾后的數(shù)據(jù)的元數(shù)據(jù);和響應(yīng)所述請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器從數(shù)據(jù)存儲(chǔ)系統(tǒng)接收過(guò)濾后的數(shù)據(jù); 其中所述方法由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行。
2.按照權(quán)利要求1所述的方法,還包括在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生哈希表; 其中所述一個(gè)或多個(gè)特性包含所述哈希表。
3.按照權(quán)利要求1所述的方法,還包括在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生哈希表; 在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生布隆過(guò)濾器;其中所述一個(gè)或多個(gè)特性中的至少一個(gè)特性以所述布隆過(guò)濾器為基礎(chǔ)。
4.按照權(quán)利要求3所述的方法,還包括在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)所述布隆過(guò)濾器產(chǎn)生至少一個(gè)謂詞; 其中所述一個(gè)或多個(gè)特性包含所述至少一個(gè)謂詞。
5.按照權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是原始數(shù)據(jù)單元,其中識(shí)別所述一個(gè)或多個(gè)數(shù)據(jù)單元包含識(shí)別保存所述原始數(shù)據(jù)單元的一個(gè)或多個(gè)位置。
6.按照權(quán)利要求5所述的方法,其中過(guò)濾后的數(shù)據(jù)包括一個(gè)或多個(gè)原始數(shù)據(jù)單元。
7.按照權(quán)利要求1所述的方法,還包括向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送指示第一個(gè)表的邏輯結(jié)構(gòu)的至少一部分的元數(shù)據(jù)。
8.按照權(quán)利要求1所述的方法,還包括數(shù)據(jù)庫(kù)服務(wù)器根據(jù)過(guò)濾后的數(shù)據(jù),對(duì)第一個(gè)表和第二個(gè)表進(jìn)行第一聯(lián)接操作。
9.按照權(quán)利要求8所述的方法,其中所述元數(shù)據(jù)還描述第三個(gè)表的一個(gè)或多個(gè)特性;其中所述元數(shù)據(jù)是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)還根據(jù)在所述元數(shù)據(jù)中描述的第三個(gè)表的一個(gè)或多個(gè)特性,產(chǎn)生過(guò)濾后的數(shù)據(jù)的元數(shù)據(jù);所述方法還包括數(shù)據(jù)庫(kù)服務(wù)器根據(jù)第一聯(lián)接操作的結(jié)果,對(duì)第一個(gè)表、第二個(gè)表和第三個(gè)表進(jìn)行第二聯(lián)接操作。
10.一種進(jìn)行聯(lián)接操作的方法,所述方法包括 數(shù)據(jù)庫(kù)服務(wù)器向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送a)對(duì)數(shù)據(jù)的請(qǐng)求,所述請(qǐng)求識(shí)別保存在數(shù)據(jù)存儲(chǔ)子系統(tǒng)中的一個(gè)或多個(gè)數(shù)據(jù)單元,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是數(shù)據(jù)存儲(chǔ)系統(tǒng)保存第一個(gè)表的數(shù)據(jù)的數(shù)據(jù)單元;和 b) 一個(gè)或多個(gè)聯(lián)接過(guò)濾條件;其中所述請(qǐng)求是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)從存儲(chǔ)器取回所述一個(gè)或多個(gè)數(shù)據(jù)單元;使得數(shù)據(jù)存儲(chǔ)系統(tǒng)通過(guò)對(duì)取回的一個(gè)或多個(gè)數(shù)據(jù)單元應(yīng)用所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件,產(chǎn)生過(guò)濾后的數(shù)據(jù)的通信;和響應(yīng)所述請(qǐng)求,所述數(shù)據(jù)庫(kù)服務(wù)器從數(shù)據(jù)存儲(chǔ)系統(tǒng)接收過(guò)濾后的數(shù)據(jù); 根據(jù)過(guò)濾后的數(shù)據(jù),進(jìn)行聯(lián)接操作; 其中所述方法由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行。
11.按照權(quán)利要求10所述的方法,還包括在把所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件發(fā)給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生哈希表;在把所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件發(fā)給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生布隆過(guò)濾器;其中所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件中的至少一個(gè)聯(lián)接過(guò)濾條件以布隆過(guò)濾器為基礎(chǔ)。
12.按照權(quán)利要求11所述的方法,還包括在把所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件發(fā)給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)布隆過(guò)濾器,產(chǎn)生至少一個(gè)謂詞;其中所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件包含所述至少一個(gè)謂詞。
13.按照權(quán)利要求10所述的方法,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是原始數(shù)據(jù)單元,其中識(shí)別所述一個(gè)或多個(gè)數(shù)據(jù)單元包含識(shí)別保存所述原始數(shù)據(jù)單元的一個(gè)或多個(gè)位置。
14.按照權(quán)利要求13所述的方法,其中過(guò)濾后的數(shù)據(jù)包括一個(gè)或多個(gè)原始數(shù)據(jù)單元。
15.按照權(quán)利要求10所述的方法,還包括向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送指示第一個(gè)表的邏輯結(jié)構(gòu)的至少一部分的元數(shù)據(jù)。
16.一種包括數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行下述步驟的方法接收取回?cái)?shù)據(jù)的請(qǐng)求,其中所述請(qǐng)求識(shí)別在數(shù)據(jù)存儲(chǔ)系統(tǒng)保存被請(qǐng)求數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)單元的一個(gè)或多個(gè)位置;接收元數(shù)據(jù),所述元數(shù)據(jù)描述要關(guān)于被請(qǐng)求數(shù)據(jù)執(zhí)行的聯(lián)接操作的一個(gè)或多個(gè)過(guò)濾條件;響應(yīng)所述請(qǐng)求,從所述一個(gè)或多個(gè)位置讀取所述一個(gè)或多個(gè)數(shù)據(jù)單元; 根據(jù)所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件,從所述一個(gè)或多個(gè)數(shù)據(jù)單元中過(guò)濾數(shù)據(jù),從而產(chǎn)生過(guò)濾后的數(shù)據(jù);響應(yīng)所述請(qǐng)求,其中響應(yīng)包括過(guò)濾后的數(shù)據(jù); 其中所述方法由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行。
17.按照權(quán)利要求16所述的方法,其中所述一個(gè)或多個(gè)過(guò)濾條件包括哈希表。
18.按照權(quán)利要求16所述的方法,其中所述一個(gè)或多個(gè)過(guò)濾條件包括布隆過(guò)濾器。
19.按照權(quán)利要求16所述的方法,其中所述一個(gè)或多個(gè)過(guò)濾條件包括基于布隆過(guò)濾器的謂詞。
20.按照權(quán)利要求16所述的方法,還包括數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行下述步驟接收元數(shù)據(jù),所述元數(shù)據(jù)指示其數(shù)據(jù)被保存在所述一個(gè)或多個(gè)數(shù)據(jù)單元中的表的邏輯結(jié)構(gòu)的至少一部分;和根據(jù)所述邏輯結(jié)構(gòu)的至少一部分,識(shí)別由所述一個(gè)或多個(gè)數(shù)據(jù)單元代表的一個(gè)或多個(gè)屬性值;其中從所述一個(gè)或多個(gè)數(shù)據(jù)單元中過(guò)濾數(shù)據(jù)還基于把所述一個(gè)或多個(gè)過(guò)濾條件應(yīng)用于識(shí)別出的一個(gè)或多個(gè)屬性值。
21.按照權(quán)利要求16所述的方法,其中所述響應(yīng)還包括所述一個(gè)或多個(gè)數(shù)據(jù)單元中的至少一個(gè)數(shù)據(jù)單元,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元中的所述至少一個(gè)數(shù)據(jù)單元不被過(guò)濾。
22.一種包括數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行下述步驟的方法 從數(shù)據(jù)庫(kù)服務(wù)器接收對(duì)數(shù)據(jù)的請(qǐng)求;其中所述請(qǐng)求包括聯(lián)接數(shù)據(jù),所述聯(lián)接數(shù)據(jù)指示聯(lián)接保存在數(shù)據(jù)存儲(chǔ)系統(tǒng)的數(shù)據(jù)單元中的數(shù)據(jù)行的操作; 響應(yīng)于所述請(qǐng)求 從存儲(chǔ)器讀取多個(gè)數(shù)據(jù)單元;產(chǎn)生響應(yīng)數(shù)據(jù),其中產(chǎn)生響應(yīng)數(shù)據(jù)包括通過(guò)根據(jù)聯(lián)接數(shù)據(jù)至少過(guò)濾所述多個(gè)數(shù)據(jù)單元,以排除對(duì)所指示的操作將不被聯(lián)接的一行或多行,來(lái)產(chǎn)生響應(yīng)數(shù)據(jù); 把響應(yīng)數(shù)據(jù)發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器。
23.按照權(quán)利要求22所述的方法,其中產(chǎn)生響應(yīng)數(shù)據(jù)還包括通過(guò)至少聯(lián)接第一數(shù)據(jù)單元的一行或多行與第二數(shù)據(jù)單元的一行或多行,從而產(chǎn)生將在響應(yīng)數(shù)據(jù)中返回給數(shù)據(jù)庫(kù)服務(wù)器的一個(gè)或多個(gè)聯(lián)接行,來(lái)產(chǎn)生響應(yīng)數(shù)據(jù)。
24.保存指令的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令導(dǎo)致下述步驟的執(zhí)行數(shù)據(jù)庫(kù)服務(wù)器向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送a)對(duì)數(shù)據(jù)的請(qǐng)求,所述請(qǐng)求識(shí)別保存在數(shù)據(jù)存儲(chǔ)子系統(tǒng)中的一個(gè)或多個(gè)數(shù)據(jù)單元,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是數(shù)據(jù)存儲(chǔ)系統(tǒng)保存第一個(gè)表的數(shù)據(jù)的數(shù)據(jù)單元;和b)描述第二個(gè)表的一個(gè)或多個(gè)特性的元數(shù)據(jù);其中所述請(qǐng)求是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)從存儲(chǔ)器取回所述一個(gè)或多個(gè)數(shù)據(jù)單元的通信;其中所述元數(shù)據(jù)是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)根據(jù)取回的一個(gè)或多個(gè)數(shù)據(jù)單元,和在元數(shù)據(jù)中描述的第二個(gè)表的一個(gè)或多個(gè)特性,產(chǎn)生過(guò)濾后的數(shù)據(jù)的元數(shù)據(jù); 和響應(yīng)所述請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器從數(shù)據(jù)存儲(chǔ)系統(tǒng)接收過(guò)濾后的數(shù)據(jù); 其中所述方法由一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行。
25.按照權(quán)利要求M所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生哈希表; 其中所述一個(gè)或多個(gè)特性包含所述哈希表。
26.按照權(quán)利要求M所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生哈希表;在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生布隆過(guò)濾器;其中所述一個(gè)或多個(gè)特性中的至少一個(gè)特性以所述布隆過(guò)濾器為基礎(chǔ)。
27.按照權(quán)利要求沈所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致在把元數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)所述布隆過(guò)濾器,產(chǎn)生至少一個(gè)謂詞;其中所述一個(gè)或多個(gè)特性包含所述至少一個(gè)謂詞。
28.按照權(quán)利要求M所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是原始數(shù)據(jù)單元,其中識(shí)別所述一個(gè)或多個(gè)數(shù)據(jù)單元包含識(shí)別保存所述原始數(shù)據(jù)單元的一個(gè)或多個(gè)位置。
29.按照權(quán)利要求觀所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中過(guò)濾后的數(shù)據(jù)包括一個(gè)或多個(gè)原始數(shù)據(jù)單元。
30.按照權(quán)利要求M所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送指示第一個(gè)表的邏輯結(jié)構(gòu)的至少一部分的元數(shù)據(jù)。
31.按照權(quán)利要求M所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還使數(shù)據(jù)庫(kù)服務(wù)器根據(jù)過(guò)濾后的數(shù)據(jù),對(duì)第一個(gè)表和第二個(gè)表進(jìn)行第一聯(lián)接操作。
32.按照權(quán)利要求31所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述元數(shù)據(jù)還描述第三個(gè)表的一個(gè)或多個(gè)特性;其中所述元數(shù)據(jù)是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)還根據(jù)在所述元數(shù)據(jù)中描述的第三個(gè)表的所述一個(gè)或多個(gè)特性,產(chǎn)生過(guò)濾后的數(shù)據(jù)的元數(shù)據(jù);其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還使數(shù)據(jù)庫(kù)服務(wù)器根據(jù)第一聯(lián)接操作的結(jié)果,對(duì)第一個(gè)表、第二個(gè)表和第三個(gè)表進(jìn)行第二聯(lián)接操作。
33.保存指令的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令導(dǎo)致聯(lián)接操作的執(zhí)行,其中聯(lián)接操作的執(zhí)行包括數(shù)據(jù)庫(kù)服務(wù)器向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送a)對(duì)數(shù)據(jù)的請(qǐng)求,所述請(qǐng)求識(shí)別保存在數(shù)據(jù)存儲(chǔ)子系統(tǒng)中的一個(gè)或多個(gè)數(shù)據(jù)單元,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是數(shù)據(jù)存儲(chǔ)系統(tǒng)保存第一個(gè)表的數(shù)據(jù)的數(shù)據(jù)單元;和b)一個(gè)或多個(gè)聯(lián)接過(guò)濾條件;其中所述請(qǐng)求是當(dāng)被數(shù)據(jù)存儲(chǔ)系統(tǒng)解讀時(shí),使數(shù)據(jù)存儲(chǔ)系統(tǒng)從存儲(chǔ)器取回所述一個(gè)或多個(gè)數(shù)據(jù)單元;數(shù)據(jù)存儲(chǔ)系統(tǒng)通過(guò)對(duì)取回的一個(gè)或多個(gè)數(shù)據(jù)單元應(yīng)用所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件,產(chǎn)生過(guò)濾后的數(shù)據(jù)的通信;和響應(yīng)所述請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器從數(shù)據(jù)存儲(chǔ)系統(tǒng)接收過(guò)濾后的數(shù)據(jù);根據(jù)過(guò)濾后的數(shù)據(jù),進(jìn)行聯(lián)接操作。
34.按照權(quán)利要求33所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致在把所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件發(fā)給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生哈希表;在把所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件發(fā)給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)第二個(gè)表的一個(gè)或多個(gè)屬性產(chǎn)生布隆過(guò)濾器;其中所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件中的至少一個(gè)聯(lián)接過(guò)濾條件以布隆過(guò)濾器為基礎(chǔ)。
35.按照權(quán)利要求34所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致在把所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件發(fā)給數(shù)據(jù)存儲(chǔ)系統(tǒng)之前,根據(jù)布隆過(guò)濾器產(chǎn)生至少一個(gè)謂詞;其中所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件包含所述至少一個(gè)謂詞。
36.按照權(quán)利要求33所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述一個(gè)或多個(gè)數(shù)據(jù)單元是原始數(shù)據(jù)單元,其中識(shí)別所述一個(gè)或多個(gè)數(shù)據(jù)單元包含識(shí)別保存所述原始數(shù)據(jù)單元的一個(gè)或多個(gè)位置。
37.按照權(quán)利要求36所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中過(guò)濾后的數(shù)據(jù)包括一個(gè)或多個(gè)原始數(shù)據(jù)單元。
38.按照權(quán)利要求33所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還導(dǎo)致向數(shù)據(jù)存儲(chǔ)系統(tǒng)發(fā)送指示第一個(gè)表的邏輯結(jié)構(gòu)的至少一部分的元數(shù)據(jù)。
39.保存指令的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令導(dǎo)致在數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行下述步驟接收取回?cái)?shù)據(jù)的請(qǐng)求,其中所述請(qǐng)求識(shí)別在數(shù)據(jù)存儲(chǔ)系統(tǒng)保存被請(qǐng)求數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)單元的一個(gè)或多個(gè)位置;接收元數(shù)據(jù),所述元數(shù)據(jù)描述要關(guān)于被請(qǐng)求數(shù)據(jù)執(zhí)行的聯(lián)接操作的一個(gè)或多個(gè)過(guò)濾條件;響應(yīng)所述請(qǐng)求,從所述一個(gè)或多個(gè)位置讀取所述一個(gè)或多個(gè)數(shù)據(jù)單元; 根據(jù)所述一個(gè)或多個(gè)聯(lián)接過(guò)濾條件,從所述一個(gè)或多個(gè)數(shù)據(jù)單元過(guò)濾數(shù)據(jù),從而產(chǎn)生過(guò)濾后的數(shù)據(jù);響應(yīng)所述請(qǐng)求,其中所述響應(yīng)包括過(guò)濾后的數(shù)據(jù)。
40.按照權(quán)利要求39所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述一個(gè)或多個(gè)過(guò)濾條件包括哈希表。
41.按照權(quán)利要求39所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述一個(gè)或多個(gè)過(guò)濾條件包括布隆過(guò)濾器。
42.按照權(quán)利要求39所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述一個(gè)或多個(gè)過(guò)濾條件包括基于布隆過(guò)濾器的謂詞。
43.按照權(quán)利要求39所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令還使數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行下述步驟接收元數(shù)據(jù),所述元數(shù)據(jù)指示其數(shù)據(jù)被保存在所述一個(gè)或多個(gè)數(shù)據(jù)單元中的表的邏輯結(jié)構(gòu)的至少一部分;和根據(jù)所述邏輯結(jié)構(gòu)的至少一部分,識(shí)別由所述一個(gè)或多個(gè)數(shù)據(jù)單元代表的一個(gè)或多個(gè)屬性值;其中從所述一個(gè)或多個(gè)數(shù)據(jù)單元中過(guò)濾數(shù)據(jù)還基于把所述一個(gè)或多個(gè)過(guò)濾條件應(yīng)用于識(shí)別出的一個(gè)或多個(gè)屬性值。
44.按照權(quán)利要求39所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中所述響應(yīng)還包括所述一個(gè)或多個(gè)數(shù)據(jù)單元中的至少一個(gè)數(shù)據(jù)單元,其中所述一個(gè)或多個(gè)數(shù)據(jù)單元中的所述至少一個(gè)數(shù)據(jù)單元不被過(guò)濾。
45.保存指令的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),當(dāng)被一個(gè)或多個(gè)計(jì)算設(shè)備執(zhí)行時(shí),所述指令導(dǎo)致在數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行下述步驟從數(shù)據(jù)庫(kù)服務(wù)器接收對(duì)數(shù)據(jù)的請(qǐng)求;其中所述請(qǐng)求包括聯(lián)接數(shù)據(jù),所述聯(lián)接數(shù)據(jù)指示聯(lián)接保存在數(shù)據(jù)存儲(chǔ)系統(tǒng)的數(shù)據(jù)單元中的數(shù)據(jù)行的操作;響應(yīng)所述請(qǐng)求從存儲(chǔ)器讀取多個(gè)數(shù)據(jù)單元;產(chǎn)生響應(yīng)數(shù)據(jù),其中產(chǎn)生響應(yīng)數(shù)據(jù)包括通過(guò)根據(jù)聯(lián)接數(shù)據(jù)至少過(guò)濾所述多個(gè)數(shù)據(jù)單元,以排除對(duì)于所指示的操作將不被聯(lián)接的一行或多行,來(lái)產(chǎn)生響應(yīng)數(shù)據(jù);把響應(yīng)數(shù)據(jù)發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器。
46.按照權(quán)利要求45所述的一個(gè)或多個(gè)存儲(chǔ)介質(zhì),其中產(chǎn)生響應(yīng)數(shù)據(jù)還包括通過(guò)至少聯(lián)接第一數(shù)據(jù)單元的一行或多行與第二數(shù)據(jù)單元的一行或多行,從而產(chǎn)生將在響應(yīng)數(shù)據(jù)中返回給數(shù)據(jù)庫(kù)服務(wù)器的一個(gè)或多個(gè)聯(lián)接行,來(lái)產(chǎn)生響應(yīng)數(shù)據(jù)。
全文摘要
用于數(shù)據(jù)庫(kù)服務(wù)器的存儲(chǔ)系統(tǒng)處的處理資源被用于執(zhí)行按照慣例本應(yīng)由數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行的聯(lián)接操作的各個(gè)方面。當(dāng)向存儲(chǔ)系統(tǒng)請(qǐng)求一系列的數(shù)據(jù)單元時(shí),數(shù)據(jù)庫(kù)服務(wù)器包括描述為其請(qǐng)求數(shù)據(jù)的聯(lián)接操作的各個(gè)方面的聯(lián)接元數(shù)據(jù)。例如,聯(lián)接元數(shù)據(jù)可以是布隆過(guò)濾器。存儲(chǔ)系統(tǒng)正常地從磁盤(pán)讀取被請(qǐng)求的數(shù)據(jù)。不過(guò),在把被請(qǐng)求的數(shù)據(jù)回送給存儲(chǔ)系統(tǒng)之前,存儲(chǔ)系統(tǒng)根據(jù)聯(lián)接元數(shù)據(jù)分析原始數(shù)據(jù),排除保證與聯(lián)接操作無(wú)關(guān)的一定量的數(shù)據(jù)。存儲(chǔ)系統(tǒng)隨后把過(guò)濾后的數(shù)據(jù)返回給數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)系統(tǒng)從而避免某些數(shù)據(jù)在存儲(chǔ)系統(tǒng)和數(shù)據(jù)庫(kù)服務(wù)器之間的不必要傳送。
文檔編號(hào)G06F17/30GK102203773SQ200980142596
公開(kāi)日2011年9月28日 申請(qǐng)日期2009年9月18日 優(yōu)先權(quán)日2008年9月19日
發(fā)明者D·伯托波夫, H·雅克布森, P·庫(kù)瑪, U·潘查克沙拉雅, Y·W·勞 申請(qǐng)人:甲骨文國(guó)際公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1