mysql分庫分表方案

分庫分表的幾種方式

1、把一個實例中的多個數據庫拆分到不同的實例

 

2、把一個庫中的表分離到不同的數據庫中

 

 

3、對一個庫中的相關表進行水平拆分到不同的實例數據庫中

 

如何選擇分區鍵:

1、分區鍵要能儘量避免跨分片查詢的發生

2、分區鍵要能儘量使各個分片中的數據平均

如何存儲無需分片的表:

1、每個分片中存儲一份相同的數據

2、使用額外的節點統一存儲

如何在節點上部署分片

1、每個分片使用單一的數據庫,並且數據庫名也相同

2、將多個分片表存儲在一個數據庫中,並且在表名上加入分片號後綴

3、在一個節點中部署多個數據庫,每個數據庫包含一個分片

如何分配分片的數據:

1、按分區鍵的hash值取模來分配分片數據

2、按分區鍵的範圍來分配分片數據

3、利用分區鍵與分片的映射表來分配分片數據

如何生成全局唯一ID

1、使用auto_increment_incremen(增加步長)t與auto_increment_offset(開始值)參數

2、使用全局節點生成ID

3、在Redis等緩存服務器中創建全局ID

分庫分表實現可以利用oneProxyp工具進行分表分庫

待續。。。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章