91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫拆分的方式有哪幾種

發布時間:2020-07-31 10:13:10 來源:億速云 閱讀:312 作者:Leah 欄目:互聯網科技

數據庫拆分的方式有哪幾種?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

數據庫拆分有:1、按功能劃分【垂直切分】,將不同功能相關的表放到不同的數據庫中,這樣做的好處是非常直觀;2、按表中某一字段值的范圍劃分【水平切分】,當伴隨著某一個表的數據量越來越大,以至于不能承受的時候,就需要對它進行進一步的切分。

數據庫做拆分的幾種方式:

1.按功能劃分(垂直切分)

將不同功能相關的表放到不同的數據庫中,這樣做的好處是非常直觀。但當某一部分的功能其數據量或性能要求超出了可控的范圍,就需要繼續對其進行深入的再切分。

2.按表中某一字段值的范圍劃分(水平切分)

當伴隨著某一個表的數據量越來越大,以至于不能承受的時候,就需要對它進行進一步的切分。一種選擇是根據key 的范圍來做切分,譬如ID 為 1-10000的放到A上,ID 為10000~20000的放到B。這樣的擴展就是可預見的。另一種是根據某一字段值來劃分,譬如根據用戶名的首字母,如果是A-D,就屬于A,E-H就屬于B。這樣做也存在不均衡性,當某個范圍超出了單點所能承受的范圍就需要繼續切分。還有按日期切分等等。

優點:單表大小可控,天然水平擴展

缺點:無法解決集中寫入瓶頸的問題。

3.基于hash的切分

一般采用mod來切分,一開始確定切分數據庫的個數,通過hash取模來決定使用哪臺。這種方法能夠平均地來分配數據,但是伴隨著數據量的增大,需要進行擴展的時候,這種方式無法做到在線擴容。每增加節點的時候,就需要對hash 算法重新運算。

所以采用這種方法推薦采用mod 2^n這種一致性哈希

以點評統一訂單庫為例,分庫分表的方案是32*32的,即通過userId后四位mod 32分到32個庫中,同時再將userId后四位div 32 mod 32將每個庫分為32個表,共計分為1024張表。其線上部署情況為8個集群(主從),每個集群4個庫

4.基于路由表的切分

前面的幾種方式都是根據應用的數據來決定操作的,基于路由表的切分是一種更加松散的方法。它單獨維護一張路由表,根據用戶的某一屬性來查找路由表決定使用哪個數據庫,這種方式是一種更加通用的方案。

優點:id和庫的mapping算法可以隨意更改

缺點:可能引入額外的單點

看完上述內容,你們掌握數據庫拆分的方式有哪幾種的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湄潭县| 七台河市| 新兴县| 乌审旗| 沽源县| 麻栗坡县| 鄱阳县| 兴和县| 年辖:市辖区| 巴林左旗| 澄迈县| 乌兰浩特市| 北安市| 文山县| 大城县| 安远县| 新郑市| 河南省| 峨眉山市| 正安县| 桐梓县| 江川县| 嘉黎县| 安陆市| 丁青县| 确山县| 靖江市| 广宗县| 太保市| 凌云县| 台安县| 南丹县| 乌海市| 西和县| 乌兰察布市| 承德县| 南靖县| 当雄县| 无极县| 固镇县| 贺州市|