1. 按照哈希的方式
优点:数据散列比较平均,单库单表访问压力分布比较均匀
缺点:预先需要做好容量规划,扩容方面不容易,需要重新进行数据hash迁移
适用场景:数据变更频繁,并发访问量比较高的情况下,可以利用多台机器将访问压力均匀分布,合理利用资源
2. 按时间段或者按ID段进行划分
优点:可以持续扩容,降低单表压力
缺点:有时候业务数据上,存在着一部分的旧数据,但是这部分数据很少使用到,基于这样的分库分表的方式,不能充分的利用好系统资源。使用场景:数据归档或者备份,或者数据不存在短期内国企的情况下的场景。
https://code.google.com/archive/p/database-sharding/