分表分库
分表分库实现思路
1. 使用什么字段作为分片键?
2. 分片的策略是什么?
根据范围分片
简单,容易尾部过热
根据 hash 值分片
指的是根据用户 id 的 hash 值 mod 一个特定的数进行分片。(为了方便后续扩展,一般是 2 的几次方。)
根据 hash 值及范围混合分片
跨库查询
跨库查询,导致系统性能非常差,这时分表分库一般会结合查询分离一起操作:先将所有数据在 ES 索引一份,再使用 ES 在后台直接查询数据。如果订单详情数据量很大,还有一个常见做法,即先在 ES 中存储索引字段(作为查询条件的字段),再将详情数据存放在 HBase 中
历史数据迁移?
存量数据直接迁移,增量数据监听 binlog,然后通过 canal 通知迁移程序搬运数据,新的数据库拥有全量数据,且校验通过后逐步切换流量。

浙公网安备 33010602011771号