数据库的分库分表技术
- 把一个实例中的多个数据库拆分到不同的实例
- 把一个库中的表分离到不同的数据库中
对数据库的相关表进行水平拆分到不同的数据库中
1.如何选择分区键
- 分区键要能尽量避免跨分片查询的发生
- 分区键要能尽量使得各个分片中的数据平均复制代码
2.如何存储无需分片的表
-每个分片中存储一分相同的数据
-使用额外的节点同一存储复制代码
3.如何在节点上部署分片
-每个分片使用单一数据库,并且数据库名也相同
-将多个分片表存储在一个数据库中,并在表名上加入分片号后缀
-在一个节点中部署多个数据库,每个数据库包含一个分片复制代码
4.如何分配分片中的数据
-按分区键的Hash值取模来分配分片数据
-按分区键的范围来分配分片的数据
-利用分区键和分片的映射表来分配分片的数据复制代码
5.如何生成全局唯一的ID
-使用auto_increment_increment和auto_increment_offset参数
-使用全局节点来生成ID
-在Redis等缓存服务器中创建全局ID复制代码