MyCAT水平分库
1.什么是水平分库
将一张大表中数据,水平分到多个库中。
2.水平分片的原则
- 需要分片的表是少数的
- 能不切分就尽量不要切分(单表数据在800万以下尽量不要切分,可以通过sql优化,和读写分离解决性能瓶颈)
- 日志表可以采用归档方式保存
- 选择合适的切分规则和分片,确保数据切片均匀分布
- 尽量避免跨分片join操作,保证关联表在同一分片,或者设置全局表
3.水平分片的步骤
- 根据业务状态确定要进行水平切分的表
- 分析业务模型选择合适的分片健及分片算法
-
合适的mycat部署分片集群
- 使用schema.xml配置逻辑库和逻辑表,及数据节点,和数据主机
- 使用rule.xml配置分片表分片规则
- 命令行方式验证分片算法正确性
- 测试分片集群,采用应用端操作方式(代码验证)