分库分表的方式
- 把一个实例中的多个数据库分到不同的实例中

- 把一个库中的表分离到不同的数据库中

- 把一个数据库中的相关表水平拆分到不同实例的数据库中

数据库分片
- 分区键要能尽量避免跨分区查询的发生
- 分区键要能尽量使各个分片数据平均
如何存储无需分片的表
- 每个分片存储相同的数据
- 使用额外的节点统一存储
如何在节点上部署分片
- 每个分片使用单一数据库,并且数据库表名相同
- 将多个分片表存储在同一个数据库,并在表名上加分片后缀
- 在一个节点部署多个数据库,每个数据库包含一个分片
如何分配分片中的数据
- 按分区键的Hash值取模分配分片数据
- 按分区键的范围来分片数据
- 利用分区键和分片的映射表来分配分片数据
如何生成全局唯一ID
- 使用auto_increment_increment和auto_increment_offset参数
- 使用全局节点来生成ID
- 使用Redis缓存服务器创建全局ID
