[發(fā)明專利]數(shù)據(jù)庫的分庫分表方法、裝置、介質及計算機設備在審
| 申請?zhí)枺?/td> | 202010107050.5 | 申請日: | 2020-02-21 |
| 公開(公告)號: | CN111339088A | 公開(公告)日: | 2020-06-26 |
| 發(fā)明(設計)人: | 徐雄飛;儲存;張超;萬全偉 | 申請(專利權)人: | 蘇寧云計算有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2457 |
| 代理公司: | 北京市萬慧達律師事務所 11111 | 代理人: | 劉艷麗 |
| 地址: | 210000 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數(shù)據(jù)庫 分庫分表 方法 裝置 介質 計算機 設備 | ||
本申請涉及一種數(shù)據(jù)庫的分庫分表方法。該方法包括:獲取待存儲的目標數(shù)據(jù),確定所述目標數(shù)據(jù)的第一哈希值;將所述第一哈希值與預設存儲單元中各個虛擬節(jié)點的基準哈希值進行匹配,獲取與所述第一哈希值匹配的第二哈希值,所述預設存儲單元存儲有所述基準哈希值與所述虛擬節(jié)點的節(jié)點字符串的映射關系;根據(jù)所述映射關系獲取與所述第二哈希值對應的節(jié)點字符串,所述節(jié)點字符串中包含所述節(jié)點字符串對應虛擬節(jié)點所屬的物理分庫分表的標識信息;提取所述節(jié)點字符串中的標識信息,將所述目標數(shù)據(jù)存入所述標識信息對應的物理分庫分表中。本申請可以實現(xiàn)分庫分表后數(shù)據(jù)的均衡分布,并且在分庫分表時不受預設數(shù)據(jù)庫中的數(shù)據(jù)內容所限制。
技術領域
本申請涉及數(shù)據(jù)處理技術領域,特別是涉及一種數(shù)據(jù)庫的分庫分表方法、裝置、介質及計算機設備。
背景技術
分庫分表就是要把一個預設數(shù)據(jù)庫切分成多個部分放到不同的預設數(shù)據(jù)庫上,從而緩解單一預設數(shù)據(jù)庫的性能問題,其可以對預設數(shù)據(jù)庫中已有的數(shù)據(jù)進行拆分,也可以對未入庫的數(shù)據(jù)進行分布存儲。
在一定庫數(shù)量的情況下常規(guī)的分庫分表方法一般包括如下幾種:
其一、采用對分庫分表因子計算Hash值取模分庫分表
此方式是通過計算分庫分表因子的Hash值,一個32位甚至更多位的整數(shù)值然后對庫數(shù)量和表數(shù)量進行取模得出庫號表號進行數(shù)據(jù)落庫落表。該方案計算簡潔且高性能,然而,如果分庫分表因子不是按Hash值遞增的情況下,會導致分庫分表數(shù)據(jù)分布非常不均衡,特別是在有限分庫分表因子的情況下極度不均衡,甚至會出現(xiàn)有些庫表沒有分布到相關數(shù)據(jù)的情況。
其二、采用對分庫分表因子計算時間區(qū)間分庫分表
此方式是通過抽取分庫分表因子中包含的時間值,然后按照分庫分表對預設數(shù)據(jù)庫規(guī)定的時間規(guī)則進行相關匹配達到數(shù)據(jù)按時間規(guī)則可落庫落表;該方案計算簡潔且高性能,然而,如果需要對分庫分表的業(yè)務數(shù)據(jù)中不含有時間相關信息的話則無法使用。另外,該方案對于固定庫需要提前規(guī)劃好時間區(qū)間對應的庫,并且,如果業(yè)務數(shù)據(jù)量隨時間是在不斷增長的話,時間越靠后的庫表承載的數(shù)據(jù)量會越來越多,導致數(shù)據(jù)的分布不均衡。
其三、上述兩種方式結合的分庫分表方式,即先采用對分庫分表因子計算Hash值取模分庫再對分庫分表因子中包含的時間值抽取計算分表。該方案在庫固定的情況下,表隨時間動態(tài)增加,然而,該方案也同時繼承了上述兩種方案的缺陷,即導致數(shù)據(jù)分分布不均衡以及適用范圍受預設數(shù)據(jù)庫中業(yè)務數(shù)據(jù)的時間相關信息的限制。
發(fā)明內容
基于此,有必要針對上述技術問題,提供一種可以實現(xiàn)分庫分表后數(shù)據(jù)的均衡分布,并且在分庫分表時不受預設數(shù)據(jù)庫中的數(shù)據(jù)內容所限制的數(shù)據(jù)庫的分庫分表方法、裝置、計算機設備和存儲介質。
一種數(shù)據(jù)庫的分庫分表方法,方法包括:
獲取待存儲的目標數(shù)據(jù),確定目標數(shù)據(jù)的第一哈希值;
將第一哈希值與預設存儲單元中各個虛擬節(jié)點的基準哈希值進行匹配,獲取與第一哈希值匹配的第二哈希值,預設存儲單元存儲有基準哈希值與虛擬節(jié)點的節(jié)點字符串的映射關系;
根據(jù)映射關系獲取與第二哈希值對應的節(jié)點字符串,節(jié)點字符串中包含節(jié)點字符串對應虛擬節(jié)點所屬的物理分庫分表的標識信息;
提取節(jié)點字符串中的標識信息,將目標數(shù)據(jù)存入標識信息對應的物理分庫分表中。
在其中一個實施例中,輸入待分配的目標數(shù)據(jù)之前,方法還包括:
獲取至少一個物理分庫分表的庫表信息,庫表信息包括至少一個物理分庫分表中分庫的數(shù)量以及各個分庫中分表的數(shù)量;
根據(jù)庫表信息確定物理分庫分表的數(shù)量;
根據(jù)物理分庫分表的數(shù)量確定虛擬節(jié)點的數(shù)量;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇寧云計算有限公司,未經(jīng)蘇寧云計算有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010107050.5/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設備及存儲介質
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





