資料庫拆分

2022-06-07 23:39:08 字數 1275 閱讀 6369

1.第一步:採用分布式快取redis、memcached等降低對資料庫的讀寫操作

2.第二步:如果快取使用過後,資料庫訪問量還是非常大,可以考慮資料庫讀寫分離原則。

3.第三步:當我們使用讀寫分離、快取後、資料庫的壓力還是很大的時候,這就需要使用資料庫的拆分了。

乙個資料庫由很多表構成,每個表對應著不同的業務,垂直切分是指按照業務將表進行分類,分布到不同的資料庫上面,這樣也就將資料或者說壓力分擔到不同的庫上面。

比如一些** 資料庫端按照業務垂直拆分:按照業務訂單資料庫、支付資料庫、商品資料庫、使用者資料庫等進行拆分。

垂直拆分的優點:

1.拆分後業務清晰,拆分規則明確

2.系統之間整合或擴充套件容易

3.資料維護簡單

缺點:1.部分業務表無法關聯查詢,只能通過介面方式解決,提高了系統的複雜度

2.受每種業務不同的限制存在單庫效能瓶頸,不易資料擴充套件跟效能提高。

3.事務處理複雜

垂直拆分後遇到單機瓶頸,可以使用水平拆分。相對於垂直拆分的區別是:垂直拆分是把不同的表拆分到不同的資料庫中,而水平拆分是把同乙個表拆到不同的資料庫中。

相對於垂直拆分,水平拆分不是將表的資料做分類,而是按照某個欄位的某種規則來分散到多個庫之中,每個表中包含一部分資料。

簡單來說,我們可以將資料的水平切分理解為是按照資料行的切分,就是將表中 的某些行切分到乙個資料庫,而另外的某些行又切分到其他的資料庫中。

水平拆分,總之,一般先分庫,如果分庫後查詢仍然慢,於是按照分庫的思想開始做分表的工作資料庫採用分布式資料庫(所有節點的資料加起來才算是整體資料),

檔案系統採用分布式檔案系統任何強大的單一伺服器都滿足不了大型系統持續增長的業務需求,資料庫讀寫分離隨著業務的發展最終也將無法滿足需求,需要使用分布式資料庫及分布式檔案系統來支撐。

1.優先考慮快取降低對資料庫的讀操作。

2.再考慮讀寫分離,降低資料庫寫操作。

3.最後開始資料拆分,切分模式: 首先垂直(縱向)拆分、再次水平拆分。

4.首先考慮按照業務垂直拆分。

5.再考慮水平拆分:先分庫(設定資料路由規則,把資料分配到不同的庫中)

6.最後再考慮分表,單錶拆分到資料1000萬以內。

資料庫拆分

一 水平切分是指,以某個欄位為依據 例如id 按照一定規則 例如取模 將乙個庫 表 上的資料拆分到多個庫 表 上,以降低單庫 表 大小,達到提公升效能的目的的方法,水平切分後,各個庫 表 的特點是 1 每個庫 表 的結構都一樣 2 每個庫 表 的資料都不一樣,沒有交集 3 所有庫 表 的並集是全量資...

資料庫拆分

資料庫水平垂直拆分 當資料庫量非常大的時候,db已經成為系統瓶頸時就可以考慮進行水平垂直拆分了。水平拆分 一般水平拆分是根據表中的某乙個字段 主鍵id 進行取模處理,將表中的資料拆到多張表裡,這樣每張表的結構相同但資料不同。不但可以根據id取模分表也可以按時間分表,比如每月生成一張表。按照範圍分表也...

資料庫的拆分

使用者主表 現在要從裡面每50w資料拆分成乙個新錶,首先查詢符合要求的使用者的資料量 得到需要建表的數量 然後用開始迴圈建表存資料 this sql select count fid from t banlong push regdev where fdevice 0 and ftoken echo...