MySQL垂直拆分和水平拆分的優缺點和共同點總結
資料的拆分(Sharding)根據其拆分分規則的型別,可以分為兩種拆分模式。一種是按照不同的表(或者Schema)來切分到不同的資料庫(主機)之上,這種切可以稱之為資料的垂直(縱向)拆分;
另外一種則是根據表中的資料的邏輯關係,將同一個表中的資料按照某種條件拆分到多臺資料庫(主機)上面,這種切分稱之為資料的水平(橫向)拆分。
垂直拆分的優點:
拆分後業務清晰,拆分規則明確
系統之間進行整合或擴充套件很容易
按照成本、應用的等級、應用的型別等將表放到不同的機器上便於管理
方便實現動靜分離,冷熱分離的資料庫表的設計模式
資料維護相對簡單
垂直拆分的缺點:
部分業務表無法Join,只能透過介面方式解決,提高了系統的複雜度
受每種業務的不同限制,存在單庫效能瓶頸,不易進行資料擴充套件和提升效能
事務處理複雜
水平拆分的優點:
單庫單表的資料能保持在一定的量級,有助於效能的提高。
切分的表結構相同,應用層改造較少,只需要增加路由規則即可。
提高了系統的穩定性和負載能力。
水平拆分的缺點:
切分後,資料是分散的,跨庫join操作難和效能差
拆分規則難以抽象
分片事務的一致性難以解決
資料擴容的難度和維護量極大
綜上所述,垂直拆分和水平拆分的共同點為:
存在分散式事務的問題
存在跨節點Join問題
存在跨節點合併排序和分頁問題
存在多資料來源管理的問題
另外一種則是根據表中的資料的邏輯關係,將同一個表中的資料按照某種條件拆分到多臺資料庫(主機)上面,這種切分稱之為資料的水平(橫向)拆分。
垂直拆分的優點:
拆分後業務清晰,拆分規則明確
系統之間進行整合或擴充套件很容易
按照成本、應用的等級、應用的型別等將表放到不同的機器上便於管理
方便實現動靜分離,冷熱分離的資料庫表的設計模式
資料維護相對簡單
垂直拆分的缺點:
部分業務表無法Join,只能透過介面方式解決,提高了系統的複雜度
受每種業務的不同限制,存在單庫效能瓶頸,不易進行資料擴充套件和提升效能
事務處理複雜
水平拆分的優點:
單庫單表的資料能保持在一定的量級,有助於效能的提高。
切分的表結構相同,應用層改造較少,只需要增加路由規則即可。
提高了系統的穩定性和負載能力。
水平拆分的缺點:
切分後,資料是分散的,跨庫join操作難和效能差
拆分規則難以抽象
分片事務的一致性難以解決
資料擴容的難度和維護量極大
綜上所述,垂直拆分和水平拆分的共同點為:
存在分散式事務的問題
存在跨節點Join問題
存在跨節點合併排序和分頁問題
存在多資料來源管理的問題
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2156042/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL專題:資料庫垂直、水平拆分MySql資料庫
- 四大主流PHP框架的優點和缺點總結PHP框架
- 繼承的優點和缺點繼承
- PyLint 的優點、缺點和危險
- Jtti:mysql主從同步的優點和缺點是什麼JttiMySql主從同步
- MySQL 8 大叢集架構的優缺點總結MySql架構
- HTTP和RPC的優缺點HTTPRPC
- iframe有哪些優點和缺點?
- MVP 與 MVVM 優缺點總結MVPMVVM
- MySQL索引的優缺點MySql索引
- Java單例模式:缺點和優點Java單例模式
- mixins和元件的區別和優缺點元件
- MHA工具的優缺點歸納總結
- 【Java面試】請說一下Mysql索引的優點和缺點?Java面試MySql索引
- 多層PCB的優點和缺點有哪些?
- MySQL觸發器的使用和優缺點介紹ZGMHMySql觸發器
- GAN原理,優缺點、應用總結
- ERP系統有哪些優點和缺點?
- MyCat分片:水平拆分例項解析和程式碼實現!
- 對單體系統優缺點評判到位:拆分Shopify單體工程的經驗分享
- 執行緒和程式的優缺點執行緒
- python多執行緒的優缺點總結Python執行緒
- rem佈局原理和優缺點REM
- svn和git版本管理優缺點Git
- kookeey、Luminati 和 Smartproxy 海外代理的特點和優缺點分析比較
- pt-osc工具的優缺點歸納總結
- Nginx/Tomcat/Apache的優缺點和區別NginxTomcatApache
- SQL、NoSQL和NewSQL的優缺點比較SQL
- TCP和UDP的優缺點及區別TCPUDP
- MySQL MHA工具的優缺點歸納MySql
- JavaScript繼承的多種方式和優缺點JavaScript繼承
- Python拆分列中文和 字元Python字元
- 知識點漏缺總結
- Bash 和 Python 程式語言優缺點分析Python
- CRM系統本地部署和雲部署的優缺點
- 細數獨享IP和共享IP的優缺點
- 機櫃的種類和優缺點是什麼
- 談談nginx和lvs各自的優缺點以及使用Nginx