分庫分表的幾種方式
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工具進行分表分庫
待續。。。