原因:规则的变化和数据迁移
扩展分库时不需要进行规则变化和数据迁移的分库方式:
- 将分库规则改为按断分库,一个库满了新增另一个
基于id的范围分库、基于时间分库
缺点:insert/update指令只集中于一张表,无法分摊性能压力
-
水平扩展模式
2.1
当只有一个库时,设立多个分表,使用id取模方式分表,当单库容量达到上限,创建新库整表迁移,不需要改变表结构。
缺点:单表数据量一直在增长,可能带来性能问题;当预留表的个数用尽,还是要进行规则变化和数据迁移。
为了解决上述问题,还是采用整表迁移模式,当1-1和0-1满了之后,再迁移到另外两个新库。既解决了热点数据库问题,有解决了单表数据量过大的问题。
缺点:倍数扩容开销很大。
将表容量达快饱和时,将快饱和的表放到一个新的数据库存放历史数据表,将历史表移走的数据库创建新表。解决热点数据库问题。
缺点:分库分表的规则提高复杂度。
网友评论