亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)庫集群、數(shù)據(jù)查詢方法、數(shù)據(jù)同步方法和裝置制造方法

文檔序號:6624306閱讀:165來源:國知局
數(shù)據(jù)庫集群、數(shù)據(jù)查詢方法、數(shù)據(jù)同步方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)庫集群、數(shù)據(jù)查詢方法、數(shù)據(jù)同步方法和裝置,屬于數(shù)據(jù)處理【技術(shù)領(lǐng)域】。所述數(shù)據(jù)庫集群包括存儲有相同數(shù)據(jù)的第一分區(qū)集合和第二分區(qū)集合;所述第一分區(qū)集合包括按照主鍵進行分區(qū)的至少一個主鍵分區(qū),每個主鍵分區(qū)中按照主鍵進行數(shù)據(jù)存儲;所述第二分區(qū)集合包括按照全局索引進行分區(qū)的至少一個索引分區(qū),每個索引分區(qū)中按照索引進行數(shù)據(jù)存儲,且具有相同索引的數(shù)據(jù)存儲于同一個索引分區(qū)中。解決了現(xiàn)有技術(shù)中數(shù)據(jù)查詢效率低的問題;達到了根據(jù)查詢語句中的索引字段以及按照索引分區(qū)得到的至少一個索引分區(qū)可以直接查詢到請求的數(shù)據(jù),提高數(shù)據(jù)查詢效率的效果。
【專利說明】數(shù)據(jù)庫集群、數(shù)據(jù)查詢方法、數(shù)據(jù)同步方法和裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,特別涉及一種數(shù)據(jù)庫集群、數(shù)據(jù)查詢方法、數(shù)據(jù)同步方法和裝置。

【背景技術(shù)】
[0002]為了提高數(shù)據(jù)庫的存儲能力,目前通常使用數(shù)據(jù)庫集群來共同提供存儲服務(wù)。數(shù)據(jù)庫集群將原始數(shù)據(jù)表中的數(shù)據(jù)按照主鍵存放到數(shù)據(jù)庫集群中的多個分區(qū),也即在每個分區(qū)中存儲原始數(shù)據(jù)表中的一部分數(shù)據(jù)來實現(xiàn)大數(shù)據(jù)量的數(shù)據(jù)存儲。
[0003]為了實現(xiàn)對數(shù)據(jù)庫集群中存儲的數(shù)據(jù)進行快速查詢,系統(tǒng)還可以在每個分區(qū)中分別創(chuàng)建二級索引,存儲創(chuàng)建的二級索引。此后,當系統(tǒng)接收到基于索引字段的數(shù)據(jù)查詢語句時,系統(tǒng)可以先在各個分區(qū)存儲的二級索引中查詢與數(shù)據(jù)查詢語句中的索引字段匹配的索弓丨,在查詢到的索引所在的分區(qū)中查詢與該索引對應(yīng)的主鍵,然后在分區(qū)中查詢與主鍵對應(yīng)的數(shù)據(jù),最后,將在各個分區(qū)中查詢到的數(shù)據(jù)組合作為查詢結(jié)果。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)上述技術(shù)至少存在以下問題:由于二級索引是對應(yīng)于分區(qū)的索引,如果有100個分區(qū)就有100個二級索引,所以在系統(tǒng)根據(jù)索引進行數(shù)據(jù)查詢時,系統(tǒng)需要遍歷查詢所有分區(qū)中的所有索引,系統(tǒng)的數(shù)據(jù)查詢效率較低。


【發(fā)明內(nèi)容】

[0005]為了解決現(xiàn)有技術(shù)中系統(tǒng)的數(shù)據(jù)查詢效率較低的問題,本發(fā)明實施例提供了一種數(shù)據(jù)庫集群、數(shù)據(jù)查詢方法、數(shù)據(jù)同步方法和裝置。所述技術(shù)方案如下:
[0006]第一方面,提供了一種數(shù)據(jù)庫集群,所述數(shù)據(jù)庫集群包括存儲有相同數(shù)據(jù)的第一分區(qū)集合和第二分區(qū)集合;
[0007]所述第一分區(qū)集合包括按照主鍵進行分區(qū)的至少一個主鍵分區(qū),每個主鍵分區(qū)中按照主鍵進行數(shù)據(jù)存儲;
[0008]所述第二分區(qū)集合包括按照全局索引進行分區(qū)的至少一個索引分區(qū),每個索引分區(qū)中按照索引進行數(shù)據(jù)存儲,且具有相同索引的數(shù)據(jù)存儲于同一個索引分區(qū)中。
[0009]第二方面,提供了一種數(shù)據(jù)查詢方法,所述方法用于第一方面所述的數(shù)據(jù)庫集群中,所述方法包括:
[0010]獲取針對所述數(shù)據(jù)庫集群的查詢語句;
[0011]判斷所述查詢語句是否是基于索引字段的查詢語句;
[0012]如果所述查詢語句是基于索引字段的查詢語句,則在所述第二分區(qū)集合中查詢與所述查詢語句對應(yīng)的數(shù)據(jù)。
[0013]可選地,所述在所述第二分區(qū)集合中查詢與所述查詢語句對應(yīng)的數(shù)據(jù),包括:
[0014]獲取所述第二分區(qū)集合中的各個分區(qū)的分區(qū)描述信息;
[0015]根據(jù)所述查詢語句以及所述分區(qū)描述信息確定所述第二分區(qū)集合中與所述查詢語句所對應(yīng)的分區(qū);
[0016]在確定的所述分區(qū)中進行數(shù)據(jù)查詢。
[0017]可選地,所述方法還包括:
[0018]如果所述查詢語句是基于主鍵的查詢語句,則在所述第一分區(qū)集合中進行數(shù)據(jù)查詢。
[0019]第三方面,提供了一種數(shù)據(jù)同步方法,所述方法用于第一方面所述的數(shù)據(jù)庫集群中,所述方法包括:
[0020]獲取所述數(shù)據(jù)庫集群中的所述第一分區(qū)集合所對應(yīng)的服務(wù)器中的日志事件;
[0021]根據(jù)所述日志事件同步所述數(shù)據(jù)庫集群中的所述第二分區(qū)集合中的數(shù)據(jù)。
[0022]可選地,所述根據(jù)所述日志事件同步所述數(shù)據(jù)庫集群中的所述第二分區(qū)集合中的數(shù)據(jù),包括:
[0023]從所述日志事件中過濾出所述第一分區(qū)集合的數(shù)據(jù)操作事件,所述數(shù)據(jù)操作事件包括:數(shù)據(jù)新建事件、數(shù)據(jù)更新事件和數(shù)據(jù)刪除事件;
[0024]根據(jù)過濾得到的所述數(shù)據(jù)操作事件生成執(zhí)行命令;
[0025]根據(jù)所述執(zhí)行命令同步所述第二分區(qū)集合中相應(yīng)的數(shù)據(jù)。
[0026]第四方面,提供了一種數(shù)據(jù)查詢裝置,所述裝置用于第一方面所述的數(shù)據(jù)庫集群中,所述裝置包括:
[0027]查詢語句獲取模塊,用于獲取針對所述數(shù)據(jù)庫集群的查詢語句;
[0028]查詢語句判斷模塊,用于判斷所述查詢語句獲取模塊獲取到的所述查詢語句是否是基于索引字段的查詢語句;
[0029]第一數(shù)據(jù)查詢模塊,用于在所述查詢語句判斷模塊的判斷結(jié)果為所述查詢語句是基于索引字段的查詢語句時,在所述第二分區(qū)集合中查詢與所述查詢語句對應(yīng)的數(shù)據(jù)。
[0030]可選地,所述第一數(shù)據(jù)查詢模塊,包括:
[0031]分區(qū)信息獲取單元,用于獲取所述第二分區(qū)集合中的各個分區(qū)的分區(qū)描述信息;
[0032]分區(qū)確定單元,用于根據(jù)所述查詢語句以及所述分區(qū)信息獲取單元獲取到的所述分區(qū)描述信息確定所述第二分區(qū)集合中與所述查詢語句所對應(yīng)的分區(qū);
[0033]數(shù)據(jù)查詢單元,用于在所述分區(qū)確定單元確定的所述分區(qū)中進行數(shù)據(jù)查詢。
[0034]可選地,所述裝置還包括:
[0035]第二數(shù)據(jù)查詢模塊,用于在所述查詢語句判斷模塊的判斷結(jié)果為所述查詢語句是基于主鍵的查詢語句時,在所述第一分區(qū)集合中進行數(shù)據(jù)查詢。
[0036]第五方面,提供了一種數(shù)據(jù)同步裝置,用于第一方面所述的數(shù)據(jù)庫集群中,所述裝置包括:
[0037]日志事件獲取模塊,用于獲取所述數(shù)據(jù)庫集群中的所述第一分區(qū)集合所對應(yīng)的服務(wù)器中的日志事件;
[0038]數(shù)據(jù)同步模塊,用于根據(jù)所述日志事件獲取模塊獲取到的所述日志事件同步所述數(shù)據(jù)庫集群中的所述第二分區(qū)集合中的數(shù)據(jù)。
[0039]可選地,操作事件獲取單元,用于從所述日志事件中過濾出所述第一分區(qū)集合的數(shù)據(jù)操作事件,所述數(shù)據(jù)操作事件包括:數(shù)據(jù)新建事件、數(shù)據(jù)更新事件和數(shù)據(jù)刪除事件;
[0040]命令生成單元,用于根據(jù)所述操作事件獲取單元過濾得到的所述數(shù)據(jù)操作事件生成執(zhí)行命令;
[0041]數(shù)據(jù)同步單元,用于根據(jù)所述命令生成單元生成的所述執(zhí)行命令同步所述第二分區(qū)集合中相應(yīng)的數(shù)據(jù)。
[0042]本發(fā)明實施例提供的技術(shù)方案的有益效果是:
[0043]通過將數(shù)據(jù)同時存儲在第一分區(qū)集合和第二分區(qū)集合中;第一分區(qū)集合包括按照主鍵進行分區(qū)的至少一個主鍵分區(qū),每個主鍵分區(qū)按照主鍵進行數(shù)據(jù)存儲;第二分區(qū)集合包括按照全局索引進行分區(qū)的至少一個索引分區(qū),每個索引分區(qū)中按照索引進行數(shù)據(jù)存儲,且具有相同索引的數(shù)據(jù)存儲于同一個索引分區(qū)中;使得在數(shù)據(jù)查詢時,當查詢語句為基于索引字段的查詢語句時,數(shù)據(jù)庫集群可以在第二分區(qū)集合中直接查詢與查詢語句中的索引字段對應(yīng)的數(shù)據(jù);解決了現(xiàn)有技術(shù)中數(shù)據(jù)查詢效率低的問題;達到了根據(jù)查詢語句中的索引字段以及按照索引分區(qū)的得到的至少一個索引分區(qū)可以直接查詢到請求的數(shù)據(jù),提高數(shù)據(jù)查詢效率的效果。

【專利附圖】

【附圖說明】
[0044]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0045]圖1是本發(fā)明一個實施例提供的數(shù)據(jù)庫集群的結(jié)構(gòu)示意圖;
[0046]圖2是本發(fā)明一個實施例提供的數(shù)據(jù)查詢方法的方法流程圖;
[0047]圖3是本發(fā)明另一實施例提供的數(shù)據(jù)查詢方法的方法流程圖;
[0048]圖4是本發(fā)明一個實施例提供的數(shù)據(jù)同步方法的方法流程圖;
[0049]圖5是本發(fā)明另一實施例提供的數(shù)據(jù)同步方法的方法流程圖;
[0050]圖6是本發(fā)明一個實施例提供的數(shù)據(jù)查詢裝置的結(jié)構(gòu)方框圖;
[0051]圖7是本發(fā)明另一實施例提供的數(shù)據(jù)查詢裝置的結(jié)構(gòu)方框圖;
[0052]圖8是本發(fā)明一個實施例提供的數(shù)據(jù)同步裝置的結(jié)構(gòu)方框圖;
[0053]圖9是本發(fā)明另一實施例提供的數(shù)據(jù)同步裝置的結(jié)構(gòu)方框圖。

【具體實施方式】
[0054]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部份實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0055]請參考圖1,其示出了本發(fā)明一個實施例提供的數(shù)據(jù)庫集群的結(jié)構(gòu)示意圖,該數(shù)據(jù)庫集群100包括存儲有相同數(shù)據(jù)的第一分區(qū)集合110和第二分區(qū)集合120。
[0056]當系統(tǒng)需要在數(shù)據(jù)庫集群100中存儲數(shù)據(jù)時,系統(tǒng)可以按照第一分區(qū)方式將數(shù)據(jù)根據(jù)主鍵劃分為至少一個主鍵分區(qū),在劃分得到的至少一個主鍵分區(qū)中存儲數(shù)據(jù)。其中,主鍵用于唯一標識數(shù)據(jù)中的每一行記錄。
[0057]具體的,系統(tǒng)可以將主鍵取值在第一范圍內(nèi)的各個主鍵劃分在第一主鍵分區(qū),將主鍵取值在第二范圍內(nèi)的各個主鍵劃分在第二主鍵分區(qū),…,將主鍵取值在第m范圍內(nèi)的各個主鍵劃分在第m主鍵分區(qū)。然后將取值在第一范圍內(nèi)的各個主鍵所對應(yīng)的數(shù)據(jù)存儲在第一主鍵分區(qū)中,將取值在第二范圍內(nèi)的各個主鍵所對應(yīng)的數(shù)據(jù)存儲在第二主鍵分區(qū)中,…,將取值為第m范圍內(nèi)的各個主鍵所對應(yīng)的數(shù)據(jù)存儲在第m主鍵分區(qū)中。
[0058]比如,系統(tǒng)將某服裝店的銷售記錄存儲在數(shù)據(jù)庫集群100中時,銷售記錄包括流水號、商品名稱、商品價格和業(yè)務(wù)員,系統(tǒng)可以將標識每條銷售記錄的流水號作為主鍵,并將主鍵取值在O?1000之間的各個流水號所對應(yīng)的記錄存儲在第一主鍵分區(qū),將主鍵取值在1001?2000之間的各個流水號所對應(yīng)的記錄存儲在第二主鍵分區(qū),…,類似的,將主鍵取值在mOOl?(m+l)000之間的各個流水號所對應(yīng)的記錄存儲在第m主鍵分區(qū)。(表I以某一主鍵分區(qū)存儲的記錄來舉例說明)
[0059]
流水號商品名稱商品價格業(yè)務(wù)員
1001新款九分褲 499RMBH=
1002I 號襯衫298RMBΨΕ
1003春秋印花長褲 128RMBW=
?...........1998新款九分褲 499RMBH=
1999春秋印花長褲 298RMB?Ξ
2000I 號襯衫128RMBΨΕ
[0060]表I
[0061]在系統(tǒng)按照上述存儲方式將數(shù)據(jù)存儲至各個主鍵分區(qū)之后,數(shù)據(jù)庫集群100中可以相應(yīng)的形成第一分區(qū)集合110。第一分區(qū)集合110包括按照主鍵進行分區(qū)的至少一個主鍵分區(qū),每個主鍵分區(qū)中按照主鍵進行數(shù)據(jù)存儲。
[0062]此外,系統(tǒng)還可以通過其它存儲方式再存儲一份相同的數(shù)據(jù)。具體的,系統(tǒng)還可以按照第二分區(qū)方式將數(shù)據(jù)按照全局索引劃分為至少一個索引分區(qū),在劃分得到的至少一個索引分區(qū)中存儲數(shù)據(jù)。其中,相同索引的數(shù)據(jù)存儲在相同的索引分區(qū)中。
[0063]系統(tǒng)可以選取數(shù)據(jù)中的某一列或者至少兩列的組合作為全局索引,然后根據(jù)全局索引劃分索引分區(qū),將相同索引的各個數(shù)據(jù)存儲在同一個索引分區(qū)中。在實際實現(xiàn)時,系統(tǒng)可以根據(jù)需要的查詢條件來創(chuàng)建全局索引,本實施例對此并不做限定。
[0064]比如,仍然以上述舉例為例,當后續(xù)需要根據(jù)商品名稱進行數(shù)據(jù)查詢時,系統(tǒng)可以選取銷售記錄中的商品名稱作為全局索引,將需要存儲的所有銷售記錄中同種商品的各條銷售記錄存儲在同一個索引分區(qū)中,并將不同商品的銷售記錄存儲在不同的索引分區(qū)中。(表2以某一索引分區(qū)中存儲的記錄來舉例說明)。
[0065]

【權(quán)利要求】
1.一種數(shù)據(jù)庫集群,其特征在于,所述數(shù)據(jù)庫集群包括存儲有相同數(shù)據(jù)的第一分區(qū)集合和第二分區(qū)集合; 所述第一分區(qū)集合包括按照主鍵進行分區(qū)的至少一個主鍵分區(qū),每個主鍵分區(qū)中按照主鍵進行數(shù)據(jù)存儲; 所述第二分區(qū)集合包括按照全局索引進行分區(qū)的至少一個索引分區(qū),每個索引分區(qū)中按照索引進行數(shù)據(jù)存儲,且具有相同索引的數(shù)據(jù)存儲于同一個索引分區(qū)中。
2.一種數(shù)據(jù)查詢方法,用于權(quán)利要求1所述的數(shù)據(jù)庫集群中,其特征在于,所述方法包括: 獲取針對所述數(shù)據(jù)庫集群的查詢語句; 判斷所述查詢語句是否是基于索引字段的查詢語句; 如果所述查詢語句是基于索引字段的查詢語句,則在所述第二分區(qū)集合中查詢與所述查詢語句對應(yīng)的數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述第二分區(qū)集合中查詢與所述查詢語句對應(yīng)的數(shù)據(jù),包括: 獲取所述第二分區(qū)集合中的各個分區(qū)的分區(qū)描述信息; 根據(jù)所述查詢語句以及所述分區(qū)描述信息確定所述第二分區(qū)集合中與所述查詢語句所對應(yīng)的分區(qū); 在確定的所述分區(qū)中進行數(shù)據(jù)查詢。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 如果所述查詢語句是基于主鍵的查詢語句,則在所述第一分區(qū)集合中進行數(shù)據(jù)查詢。
5.一種數(shù)據(jù)同步方法,用于權(quán)利要求1所述的數(shù)據(jù)庫集群中,其特征在于,所述方法包括: 獲取所述數(shù)據(jù)庫集群中的所述第一分區(qū)集合所對應(yīng)的服務(wù)器中的日志事件; 根據(jù)所述日志事件同步所述數(shù)據(jù)庫集群中的所述第二分區(qū)集合中的數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述日志事件同步所述數(shù)據(jù)庫集群中的所述第二分區(qū)集合中的數(shù)據(jù),包括: 從所述日志事件中過濾出所述第一分區(qū)集合的數(shù)據(jù)操作事件,所述數(shù)據(jù)操作事件包括:數(shù)據(jù)新建事件、數(shù)據(jù)更新事件和數(shù)據(jù)刪除事件; 根據(jù)過濾得到的所述數(shù)據(jù)操作事件生成執(zhí)行命令; 根據(jù)所述執(zhí)行命令同步所述第二分區(qū)集合中相應(yīng)的數(shù)據(jù)。
7.一種數(shù)據(jù)查詢裝置,用于權(quán)利要求1所述的數(shù)據(jù)庫集群中,其特征在于,所述裝置包括: 查詢語句獲取模塊,用于獲取針對所述數(shù)據(jù)庫集群的查詢語句; 查詢語句判斷模塊,用于判斷所述查詢語句獲取模塊獲取到的所述查詢語句是否是基于索引字段的查詢語句; 第一數(shù)據(jù)查詢模塊,用于在所述查詢語句判斷模塊的判斷結(jié)果為所述查詢語句是基于索引字段的查詢語句時,在所述第二分區(qū)集合中查詢與所述查詢語句對應(yīng)的數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一數(shù)據(jù)查詢模塊,包括: 分區(qū)信息獲取單元,用于獲取所述第二分區(qū)集合中的各個分區(qū)的分區(qū)描述信息; 分區(qū)確定單元,用于根據(jù)所述查詢語句以及所述分區(qū)信息獲取單元獲取到的所述分區(qū)描述信息確定所述第二分區(qū)集合中與所述查詢語句所對應(yīng)的分區(qū); 數(shù)據(jù)查詢單元,用于在所述分區(qū)確定單元確定的所述分區(qū)中進行數(shù)據(jù)查詢。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 第二數(shù)據(jù)查詢模塊,用于在所述查詢語句判斷模塊的判斷結(jié)果為所述查詢語句是基于主鍵的查詢語句時,在所述第一分區(qū)集合中進行數(shù)據(jù)查詢。
10.一種數(shù)據(jù)同步裝置,用于權(quán)利要求1所述的數(shù)據(jù)庫集群中,其特征在于,所述裝置包括: 日志事件獲取模塊,用于獲取所述數(shù)據(jù)庫集群中的所述第一分區(qū)集合所對應(yīng)的服務(wù)器中的日志事件; 數(shù)據(jù)同步模塊,用于根據(jù)所述日志事件獲取模塊獲取到的所述日志事件同步所述數(shù)據(jù)庫集群中的所述第二分區(qū)集合中的數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述數(shù)據(jù)同步模塊,包括: 操作事件獲取單元,用于從所述日志事件中過濾出所述第一分區(qū)集合的數(shù)據(jù)操作事件,所述數(shù)據(jù)操作事件包括:數(shù)據(jù)新建事件、數(shù)據(jù)更新事件和數(shù)據(jù)刪除事件; 命令生成單元,用于根據(jù)所述操作事件獲取單元過濾得到的所述數(shù)據(jù)操作事件生成執(zhí)行命令; 數(shù)據(jù)同步單元,用于根據(jù)所述命令生成單元生成的所述執(zhí)行命令同步所述第二分區(qū)集合中相應(yīng)的數(shù)據(jù)。
【文檔編號】G06F17/30GK104199881SQ201410415862
【公開日】2014年12月10日 申請日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】喻先兵 申請人:廣州華多網(wǎng)絡(luò)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1