分库分表
- 把一个实例中的多个数据库拆分到不同的实例
- 把一个库中的表分离到不同的数据库中
分片的准备
分片键的选择
- 分区键要能尽量避免跨分区片查询的发生
- 分区键要能尽量是各个分片中的数据平均
如何在节点上部署分片
- 每个分片使用单一数据库,并且数据库名也相同
- 将多个分片表存储在一个数据库中,并在表名上加入分片号后缀
- 在一个节点中部署多个数据库,每个数据库包含一个分片
如何分配分片中的数据
- 按分区键的hash值取模来分配
- 按分区键的范围来分配
- 利用分区键和分片的映射表来分配
如何生成全局唯一id
- 使用auto_increment_increment 和auto_increment_offset
- redis缓存中创建全局id
监控什么?
是否可连接?是否可读写?QPS?TPS?