分庫分表
一種是按照不同的表(或者schema)來切分到不同的資料庫(主機)之上,這種切可以稱之為資料的垂直(縱向)切分
另外一種則是根據表中的資料的邏輯關係,將同乙個表中的資料按照某種條件拆分到多台資料庫(主機)上面,這種切分稱之為資料的水平(橫向)切分。
垂直切分的優點:
1) 拆分後業務清晰,拆分規則明確。
2) 系統之間整合或擴充套件容易。
3) 資料維護簡單。
垂直切分的缺點:
1) 部分業務表無法 join,只能通過介面方式解決,提高了系統複雜度。
2) 受每種業務不同的限制存在單庫效能瓶頸,不易資料擴充套件跟效能提高。
3) 事務處理複雜。
水平(橫向)切分優點:
1) 拆分規則抽象好,join 操作基本可以資料庫做。
2) 不存在單庫大資料,高併發的效能瓶頸。
3) 應用端改造較少。
4) 提高了系統的穩定性跟負載能力。
水平(橫向)切分缺點:
1) 拆分規則難以抽象。
2) 分片事務一致性難以解決。
3) 資料多次擴充套件難度跟維護量極大。
4) 跨庫 join 效能較差。
資料庫分庫分表
1 基本思想之什麼是分庫分表?從字面上簡單理解,就是把原本儲存於乙個庫的資料分塊儲存到多個庫上,把原本儲存於乙個表的資料分塊儲存到多個表上。2 基本思想之為什麼要分庫分表?資料庫中的資料量不一定是可控的,在未進行分庫分表的情況下,隨著時間和業務的發展,庫中的表會越來越多,表中的資料量也會越來越大,相...
資料庫分庫 分表
分庫的優點是 實現簡單,庫與庫之間界限分明,便於維護,缺點是不利於頻繁跨庫操作,單錶資料量大的問題解決不了。分表的優點是 能解決分庫的不足點,但是缺點卻恰恰是分庫的優點,分表實現起來比較複雜,特別是分表規則的劃分,程式的編寫,以及後期的 資料庫拆分移植維護。實際應用中,一般網際網路企業的路線都是先分...
資料庫分庫分表
簡單了解資料庫分庫分表,以及資料庫的分片 什麼是分庫分表 原本儲存於乙個庫的資料分塊儲存到多個庫上,把原本儲存於乙個表的資料分塊儲存在到多個表上 為什麼分庫分表 當一張表的資料達到幾千萬時,你查詢一次所花的時間會變多,如果有聯合查詢的花,我想啃根會死在那。分表的目的就在於此,減少資料庫的負擔,縮短查...