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

一種分布式關(guān)系數(shù)據(jù)庫(kù)及其建立、查詢(xún)方法和裝置的制作方法

文檔序號(hào):6445169閱讀:195來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種分布式關(guān)系數(shù)據(jù)庫(kù)及其建立、查詢(xún)方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種分布式關(guān)系數(shù)據(jù)庫(kù)及其建立、查詢(xún)方法和裝置。
背景技術(shù)
連接(join)查詢(xún)操作是關(guān)系數(shù)據(jù)庫(kù)的主要特點(diǎn),也是關(guān)系數(shù)據(jù)庫(kù)區(qū)別于其他類(lèi)型數(shù)據(jù)庫(kù)的一個(gè)標(biāo)志,通過(guò)連接運(yùn)算符,可以對(duì)連接數(shù)據(jù)庫(kù)中的多個(gè)數(shù)據(jù)表進(jìn)行查詢(xún)。在關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)表建立時(shí),各個(gè)數(shù)據(jù)表之間的關(guān)系不必確定,通常將一個(gè)實(shí)體的所有信息存儲(chǔ)在一個(gè)數(shù)據(jù)表中。當(dāng)檢索數(shù)據(jù)時(shí),通過(guò)連接查詢(xún)操作查詢(xún)出存放在多個(gè)數(shù)據(jù)表中的不同實(shí)體的信息。連接查詢(xún)操作給用戶(hù)帶來(lái)很大的靈活性,他們可以在任何時(shí)候增加新的數(shù)據(jù)類(lèi)型。為不同實(shí)體創(chuàng)建新的數(shù)據(jù)表,爾后通過(guò)連接進(jìn)行查詢(xún)。分布式數(shù)據(jù)庫(kù)與傳統(tǒng)數(shù)據(jù)庫(kù)不同的是,分布式數(shù)據(jù)庫(kù)將數(shù)據(jù)表分布式地存儲(chǔ)在多個(gè)節(jié)點(diǎn)上。例如,假設(shè)現(xiàn)在有A表和B表,分布式數(shù)據(jù)庫(kù)集群中2個(gè)節(jié)點(diǎn),分別為節(jié)點(diǎn)I和節(jié)點(diǎn)2,則A表的數(shù)據(jù)可以分布在節(jié)點(diǎn)I和節(jié)點(diǎn)2上,而B(niǎo)表的數(shù)據(jù)也可以分布在節(jié)點(diǎn)I和節(jié)點(diǎn)2上。對(duì)于分布式關(guān)系數(shù)據(jù)庫(kù),當(dāng)執(zhí)行連接查詢(xún)操作時(shí),如果需要連接的數(shù)據(jù)表不在一個(gè)節(jié)點(diǎn)上,目前通常采用的方法是:將數(shù)據(jù)量較小的數(shù)據(jù)表裝入所有節(jié)點(diǎn)的內(nèi)容,然后針對(duì)連接條件,與其他需要連接的數(shù)據(jù)表進(jìn)行逐一比對(duì)??紤]A、B兩個(gè)數(shù)據(jù)表執(zhí)行連接查詢(xún)操作的情況,假定較小的數(shù)據(jù)表的數(shù)據(jù)量很少,則將數(shù)據(jù)表的復(fù)制和傳輸開(kāi)銷(xiāo)尚可忍受,但若A、B兩個(gè)數(shù)據(jù)表的規(guī)模差異不大,都是數(shù)據(jù)量較大的表,或者A、B兩個(gè)數(shù)據(jù)表中較小的數(shù)據(jù)表的數(shù)據(jù)量也較大,例如超過(guò)10GB,則數(shù)據(jù)表的復(fù)制和傳輸開(kāi)銷(xiāo)就非常大了,而且還很可能導(dǎo)致節(jié)點(diǎn)的內(nèi)存溢出??梢?jiàn),現(xiàn)有的分布式關(guān)系數(shù)據(jù)庫(kù),存在以下的技術(shù)問(wèn)題:在執(zhí)行帶有連接查詢(xún)操作的信息查詢(xún)時(shí),數(shù)據(jù)表的復(fù)制和傳輸開(kāi)銷(xiāo)較大;而且可能造成節(jié)點(diǎn)內(nèi)存溢出,最終導(dǎo)致連接查詢(xún)操作失敗,數(shù)據(jù)庫(kù)可能停止服務(wù)。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種分布式關(guān)系數(shù)據(jù)庫(kù)及其建立、查詢(xún)方法和裝置,以便降低數(shù)據(jù)表的復(fù)制和傳輸開(kāi)銷(xiāo)、以及內(nèi)存消耗。本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的:—種分布式關(guān)系數(shù)據(jù)庫(kù)的建立方法,該方法包括:將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。一種分布式關(guān)系數(shù)據(jù)庫(kù)的建立裝置,該裝置包括數(shù)據(jù)提取模塊和寫(xiě)入模塊;所述數(shù)據(jù)提取模塊,用于將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù);
所述寫(xiě)入模塊,用于將從兩個(gè)以上的數(shù)據(jù)表中提取的、目標(biāo)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。一種分布式關(guān)系數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)包括兩個(gè)以上的存儲(chǔ)節(jié)點(diǎn),在單個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)有從兩個(gè)以上的數(shù)據(jù)表中提取的、目標(biāo)列的取值相同的各行數(shù)據(jù),其中,所述目標(biāo)列是未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列。—種分布式關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)方法,該方法包括:根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,查詢(xún)每個(gè)存儲(chǔ)節(jié)點(diǎn),將從每個(gè)存儲(chǔ)節(jié)點(diǎn)中取得的查詢(xún)結(jié)果取并集,得到對(duì)兩個(gè)以上的數(shù)據(jù)表的所述數(shù)據(jù)列執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果;其中,所述兩個(gè)以上的數(shù)據(jù)表中所述數(shù)據(jù)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。一種分布式關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)裝置,該裝置包括存儲(chǔ)節(jié)點(diǎn)查詢(xún)模塊和結(jié)果合并模塊;所述存儲(chǔ)節(jié)點(diǎn)查詢(xún)模塊,用于根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,查詢(xún)每個(gè)存儲(chǔ)節(jié)點(diǎn);所述結(jié)果合并模塊,用于將從每個(gè)存儲(chǔ)節(jié)點(diǎn)中取得的查詢(xún)結(jié)果取并集,得到對(duì)兩個(gè)以上的數(shù)據(jù)表的所述數(shù)據(jù)列執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果;其中,所述兩個(gè)以上的數(shù)據(jù)表中所述數(shù)據(jù)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。由上述技術(shù)方案可見(jiàn),本發(fā)明通過(guò)將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi),使得對(duì)所述兩個(gè)以上的數(shù)據(jù)表中的所述目標(biāo)列執(zhí)行連接查詢(xún)操作時(shí),由于所述目標(biāo)列的取值相同的數(shù)據(jù)列存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi),因此不需要在不同存儲(chǔ)節(jié)點(diǎn)之間傳輸數(shù)據(jù)表,從而降低了數(shù)據(jù)表的復(fù)制和傳輸開(kāi)銷(xiāo),也降低了內(nèi)存消耗。


圖1是本發(fā)明提供的分布式關(guān)系數(shù)據(jù)庫(kù)的建立方法流程圖。圖2是本發(fā)明提供的分布式關(guān)系數(shù)據(jù)庫(kù)的建立裝置結(jié)構(gòu)圖。圖3是本發(fā)明提供的分布式關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)裝置結(jié)構(gòu)圖。
具體實(shí)施例方式本申請(qǐng)?jiān)诜植际疥P(guān)系數(shù)據(jù)庫(kù)的建立階段,需要針對(duì)存在連接需求的表,根據(jù)連接的目標(biāo)列,在創(chuàng)建數(shù)據(jù)表時(shí)進(jìn)行一定的配置,從而將需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)預(yù)先安排在相同的節(jié)點(diǎn)上,使得在連接查詢(xún)操作發(fā)生時(shí)產(chǎn)生的數(shù)據(jù)傳輸開(kāi)銷(xiāo)得到優(yōu)化,避免了連接查詢(xún)操作時(shí)大量數(shù)據(jù)拷貝開(kāi)銷(xiāo)和內(nèi)存溢出的可能。具體地,本發(fā)明將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。其中,實(shí)際應(yīng)用中,可以采用多種方法從兩個(gè)以上的數(shù)據(jù)表中提取出目標(biāo)列的取值相同的各行數(shù)據(jù)。例如,按照預(yù)定的映射規(guī)則,從兩個(gè)以上的數(shù)據(jù)表中提取出目標(biāo)列的取值相同的各行數(shù)據(jù),典型地,可以利用哈希函數(shù),將兩個(gè)以上的數(shù)據(jù)表中目標(biāo)列的取值相同的各行數(shù)據(jù)映射到同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。所述哈希函數(shù)有很多種,例如,可以是對(duì)每個(gè)數(shù)據(jù)表中的目標(biāo)列的取值進(jìn)行模η取余操作,從所述兩個(gè)以上的數(shù)據(jù)表中提取出對(duì)目標(biāo)列的取值進(jìn)行模η取余操作結(jié)果相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)其中,η是不小于2的整數(shù)。再例如,對(duì)每個(gè)數(shù)據(jù)表中的目標(biāo)列的取值進(jìn)行模η取整操作,從兩個(gè)以上的數(shù)據(jù)表中提取出對(duì)目標(biāo)列的取值進(jìn)行模η取整操作結(jié)果相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi),其中,η是不小于2的整數(shù)。比如,當(dāng)η取值為6時(shí),在目標(biāo)列的取值為O 5時(shí),模6取整的結(jié)果均為0,所以可以將目標(biāo)列的取值為O 5的各行數(shù)據(jù)都存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi),目標(biāo)列的取值為6 11時(shí),模6取整的結(jié)果均為1,所以可以將目標(biāo)列的取值為6 11的各行數(shù)據(jù)都存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi),以此類(lèi)推。為了能夠提高執(zhí)行連接查詢(xún)操作時(shí)的數(shù)據(jù)掃描速度,即提高執(zhí)行連接查詢(xún)操作時(shí)對(duì)數(shù)據(jù)進(jìn)行順序性查詢(xún)的速度,本發(fā)明還提供了另外一種從兩個(gè)以上的數(shù)據(jù)表中提取出目標(biāo)列的取值相同的各行數(shù)據(jù),并將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)的方法,具體請(qǐng)參見(jiàn)圖1。圖1是本發(fā)明提供的分布式關(guān)系數(shù)據(jù)庫(kù)的建立方法流程圖。如圖1所示,該方法包括:步驟101,將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,按照目標(biāo)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列,得到預(yù)連接數(shù)據(jù)表。步驟102,根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到子表,使得所述兩個(gè)以上的數(shù)據(jù)表中目標(biāo)列的取值相同的各行數(shù)據(jù)在同一個(gè)子表內(nèi)。步驟103,將切分出的不同子表,存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)內(nèi)。其中,在對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分時(shí),可以根據(jù)單個(gè)存儲(chǔ)節(jié)點(diǎn)中的當(dāng)前可用存儲(chǔ)空間,從所述預(yù)連接數(shù)據(jù)表中切分出不大于所述當(dāng)前可用存儲(chǔ)空間的子表,將該子表存儲(chǔ)在該單個(gè)存儲(chǔ)節(jié)點(diǎn)中。作為極限情況,如果該單個(gè)存儲(chǔ)節(jié)點(diǎn)中的當(dāng)前可用存儲(chǔ)空間很大,足以容納整個(gè)預(yù)連接數(shù)據(jù)表,則所述子表可以就是該整個(gè)預(yù)連接數(shù)據(jù)表,即可以將該整個(gè)預(yù)連接數(shù)據(jù)表存儲(chǔ)在該單個(gè)存儲(chǔ)節(jié)點(diǎn)中。通常,可以將預(yù)連接數(shù)據(jù)表切分成兩個(gè)以上的子表,并將不同的子表存儲(chǔ)在不同的存儲(chǔ)節(jié)點(diǎn)中。采用本發(fā)明方法建立分布式關(guān)系數(shù)據(jù)庫(kù)以后,在對(duì)所述分布式關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)時(shí),根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,查詢(xún)每個(gè)存儲(chǔ)節(jié)點(diǎn),將從每個(gè)存儲(chǔ)節(jié)點(diǎn)中取得的查詢(xún)結(jié)果取并集,得到對(duì)兩個(gè)以上的數(shù)據(jù)表的所述數(shù)據(jù)列執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果;其中,所述兩個(gè)以上的數(shù)據(jù)表中所述數(shù)據(jù)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。其中,采用圖1所示方法建立分布式關(guān)系數(shù)據(jù)庫(kù)以后,對(duì)所述分布式關(guān)系數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)時(shí),可以根據(jù)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列信息,從每個(gè)存儲(chǔ)節(jié)點(diǎn)中查詢(xún)以所述數(shù)據(jù)列作為目標(biāo)列得到的預(yù)連接數(shù)據(jù)表的子表,從所述子表中取得查詢(xún)結(jié)果,將從所述預(yù)連接數(shù)據(jù)表的所有子表中取得的查詢(xún)結(jié)果取并集,得到對(duì)組成所述預(yù)連接數(shù)據(jù)表的兩個(gè)以上的數(shù)據(jù)表執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果。其中,所述預(yù)連接數(shù)據(jù)表,通過(guò)按照所述目標(biāo)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列得到,所述子表,通過(guò)根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到。可見(jiàn),通過(guò)根據(jù)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列,從每個(gè)存儲(chǔ)節(jié)點(diǎn)中查詢(xún)根據(jù)所述數(shù)據(jù)列得到的預(yù)連接數(shù)據(jù)表的子表,從所述子表中取得查詢(xún)結(jié)果,實(shí)現(xiàn)了可以直接從單個(gè)存儲(chǔ)節(jié)點(diǎn)中查詢(xún)結(jié)果,將從多個(gè)單個(gè)存儲(chǔ)節(jié)點(diǎn)中查詢(xún)出的結(jié)果取并集,就可以得到對(duì)預(yù)連接數(shù)據(jù)表的查詢(xún)結(jié)果、即得到對(duì)組成所述預(yù)連接數(shù)據(jù)表的兩個(gè)以上的數(shù)據(jù)表執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果。下面舉兩個(gè)具體的例子對(duì)本發(fā)明進(jìn)行示例性說(shuō)明。首先,以名稱(chēng)分別為iubcdr表和iucscdr表的兩個(gè)表為例闡述本發(fā)明技術(shù)方案。假定未來(lái)可能對(duì)iubcdr表和iucscdr表以(imsi)和(imsi, starttime)為條件進(jìn)行連接查詢(xún)操作,則iubcdr表的建表語(yǔ)句可以為:
權(quán)利要求
1.一種分布式關(guān)系數(shù)據(jù)庫(kù)的建立方法,其特征在于,該方法包括: 將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)包括: 按照預(yù)定的映射規(guī)則,從兩個(gè)以上的數(shù)據(jù)表中提取出目標(biāo)列的取值相同的各行數(shù)據(jù),并將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)包括: 按照目標(biāo)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列,得到預(yù)連接數(shù)據(jù)表; 根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到子表,使得所述兩個(gè)以上的數(shù)據(jù)表中目標(biāo)列的取值相同的各行數(shù)據(jù)在同一個(gè)子表內(nèi),將切分出的不同子表,存儲(chǔ)在不同的存儲(chǔ) 節(jié)點(diǎn)內(nèi)。
4.根據(jù)權(quán)利要求3所述的建立方法,其特征在于,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分包括: 根據(jù)單個(gè)存儲(chǔ)節(jié)點(diǎn)中的當(dāng)前可用存儲(chǔ)空間,從所述預(yù)連接數(shù)據(jù)表中切分出不大于所述當(dāng)前可用存儲(chǔ)空間的子表。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分包括: 將所述預(yù)連接數(shù)據(jù)表切分成兩個(gè)以上的子表。
6.一種分布式關(guān)系數(shù)據(jù)庫(kù)的建立裝置,其特征在于,該裝置包括數(shù)據(jù)提取模塊和寫(xiě)入模塊; 所述數(shù)據(jù)提取模塊,用于將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù); 所述寫(xiě)入模塊,用于將從兩個(gè)以上的數(shù)據(jù)表中提取的、目標(biāo)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述數(shù)據(jù)提取模塊,用于按照預(yù)定的映射規(guī)則,從兩個(gè)以上的數(shù)據(jù)表中提取出目標(biāo)列的取值相同的各行數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)提取模塊包括預(yù)連接模塊和切分模塊; 所述預(yù)連接模塊,用于將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,按照目標(biāo)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列,得到預(yù)連接數(shù)據(jù)表; 所述切分模塊,用于根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到子表,使得所述兩個(gè)以上的數(shù)據(jù)表中目標(biāo)列的取值相同的各行數(shù)據(jù)在同一個(gè)子表內(nèi); 所述寫(xiě)入模塊,用于將所述切分模塊切分出的不同子表,寫(xiě)入到不同的存儲(chǔ)節(jié)點(diǎn)內(nèi)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述切分模塊,用于根據(jù)單個(gè)存儲(chǔ)節(jié)點(diǎn)中的當(dāng)前可用存儲(chǔ)空間,從所述預(yù)連接數(shù)據(jù)表中切分出不大于所述當(dāng)前可用存儲(chǔ)空間的子表。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述切分模塊,用于將所述預(yù)連接數(shù)據(jù)表切分成兩個(gè)以上的子表。
11.一種分布式關(guān)系數(shù)據(jù)庫(kù),其特征在于,該數(shù)據(jù)庫(kù)包括兩個(gè)以上的存儲(chǔ)節(jié)點(diǎn),在單個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)有從兩個(gè)以上的數(shù)據(jù)表中提取的、目標(biāo)列的取值相同的各行數(shù)據(jù),其中,所述目標(biāo)列是未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)庫(kù),其特征在于,在單個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)有從兩個(gè)以上的數(shù)據(jù)表中提取的、目標(biāo)列的取值相同的各行數(shù)據(jù)包括: 在單個(gè)存儲(chǔ)節(jié)點(diǎn)中存儲(chǔ)有從預(yù)連接數(shù)據(jù)表中劃分出的子表; 其中,所述預(yù)連接數(shù)據(jù)表,通過(guò)按照未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列得到,所述子表,通過(guò)根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)庫(kù),其特征在于, 在兩個(gè)以上的存儲(chǔ)節(jié)點(diǎn)中,分別存儲(chǔ)有從同一個(gè)預(yù)連接數(shù)據(jù)表中劃分出的不同子表。
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)庫(kù),其特征在于,在存儲(chǔ)節(jié)點(diǎn)中包括查詢(xún)模塊; 所述查詢(xún)模塊,用于接收?qǐng)?zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,根據(jù)所述數(shù)據(jù)列的信息查詢(xún)預(yù)連接數(shù)據(jù)表的子表,返回從所述子表中取得的查詢(xún)結(jié)果。
15.—種分布式關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)方法,其特征在于,該方法包括: 根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,查詢(xún)每個(gè)存儲(chǔ)節(jié)點(diǎn),將從每個(gè)存儲(chǔ)節(jié)點(diǎn)中取得的查詢(xún)結(jié)果取并集,得到對(duì)兩個(gè)以上的數(shù)據(jù)表的所述數(shù)據(jù)列執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果; 其中,所述兩個(gè)以上的數(shù)據(jù)表中所述數(shù)據(jù)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述查詢(xún)每個(gè)存儲(chǔ)節(jié)點(diǎn)包括: 根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,從每個(gè)存儲(chǔ)節(jié)點(diǎn)中查詢(xún)以所述數(shù)據(jù)列作為目標(biāo)列得到的預(yù)連接數(shù)據(jù)表的子表,從所述子表中取得查詢(xún)結(jié)果; 其中,所述預(yù)連接數(shù)據(jù)表,通過(guò)按照所述目標(biāo)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列得到,所述子表,通過(guò)根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到。
17.—種分布式關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)裝置,其特征在于,該裝置包括存儲(chǔ)節(jié)點(diǎn)查詢(xún)模塊和結(jié)果合并模塊; 所述存儲(chǔ)節(jié)點(diǎn)查詢(xún)模塊,用于根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,查詢(xún)每個(gè)存儲(chǔ)節(jié)點(diǎn); 所述結(jié)果合并模塊,用于將從每個(gè)存儲(chǔ)節(jié)點(diǎn)中取得的查詢(xún)結(jié)果取并集,得到對(duì)兩個(gè)以上的數(shù)據(jù)表的所述數(shù)據(jù)列執(zhí)行連接查詢(xún)操作時(shí)的查詢(xún)結(jié)果; 其中,所述兩個(gè)以上的數(shù)據(jù)表中所述數(shù)據(jù)列的取值相同的各行數(shù)據(jù),存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于, 所述存儲(chǔ)節(jié)點(diǎn)查詢(xún)模塊,用于根據(jù)執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列的信息,從每個(gè)存儲(chǔ)節(jié)點(diǎn)中查詢(xún)以所述數(shù)據(jù)列作為目標(biāo)列得到的預(yù)連接數(shù)據(jù)表的子表,從所述子表中取得查詢(xún)結(jié)果;其中,所述預(yù)連接數(shù)據(jù)表,通過(guò)按照所述目標(biāo)列的取值,將兩個(gè)以上的數(shù)據(jù)表進(jìn)行整體排列得到,所述子表,通過(guò)根據(jù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的當(dāng)前可用存儲(chǔ)空間,對(duì)所述預(yù)連接數(shù)據(jù)表進(jìn)行切分得到。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種分布式關(guān)系數(shù)據(jù)庫(kù)及其建立、查詢(xún)方法和裝置。該方法包括將未來(lái)需要執(zhí)行連接查詢(xún)操作的數(shù)據(jù)列作為目標(biāo)列,從兩個(gè)以上的數(shù)據(jù)表中,提取出目標(biāo)列的取值相同的各行數(shù)據(jù),將所述各行數(shù)據(jù)存儲(chǔ)在同一個(gè)存儲(chǔ)節(jié)點(diǎn)內(nèi)。應(yīng)用本發(fā)明能夠降低數(shù)據(jù)表的復(fù)制和傳輸開(kāi)銷(xiāo)、以及內(nèi)存消耗。
文檔編號(hào)G06F17/30GK103186651SQ201110461308
公開(kāi)日2013年7月3日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者齊驥, 錢(qián)嶺, 郭磊濤, 周大 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
无锡市| 二手房| 眉山市| 济宁市| 鄂托克前旗| 天等县| 康保县| 石楼县| 弋阳县| 富川| 广元市| 镇赉县| 南郑县| 怀柔区| 汉沽区| 赫章县| 噶尔县| 奇台县| 德格县| 上思县| 朔州市| 静乐县| 九龙坡区| 靖西县| 开化县| 江山市| 台北县| 鹤峰县| 正定县| 佳木斯市| 连城县| 崇阳县| 吉安县| 德昌县| 屏山县| 南昌县| 湟中县| 上思县| 东乡族自治县| 宁国市| 资兴市|