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算法可以隨意更改

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

關于數據庫拆分的幾種方式分別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » 數據庫拆分的幾種方式分別是什么

登錄

找回密碼

注冊

主站蜘蛛池模板: 亚洲首页一区任你躁xxxxx| 国产色视频一区二区三区qq号 | 五月天天天综合精品无码| 亚洲国内精品一区二区| 东京热高清无码精品| 丝袜人妖av在线一区二区 | 免费无码又爽又刺激网站| 国产深夜福利视频在线| 国产va免费精品观看| 国产一二三五区不在卡| 欧美成人黄在线观看| 婷婷99视频精品全部在线观看 | 亚洲免费福利在线视频| 国产精品成人免费视频网站京东| 久热这里有精品视频播放| 毛片一区二区在线看| 精品无码人妻| 制服 丝袜 亚洲 中文 综合| 久久99精品久久久久久不卡| 精品天堂色吊丝一区二区| 窝窝午夜色视频国产精品破| 高级艳妇交换俱乐部小说| 亚洲国产成人AⅤ片在线观看| 日韩V欧美V中文在线| 久久人人97超碰精品| 色噜噜狠狠色综合成人网| 精品三级在线| 国产亚洲综合一区二区三区| 99久久机热/这里只有精品| 国产区一区二区现看视频| 国产久免费热视频在线观看| 豆国产97在线 | 亚洲| 毛片内射久久久一区| 一本本月无码-| 成人精品视频一区二区三区 | 亚洲鸥美日韩精品久久| 国产成人av三级在线观看| 国产精品午夜福利91| 最新国产精品中文字幕| 亚洲成av人片天堂网| 亚洲欧美中文日韩v在线97|