分表分库

 

 分表分库实现思路

1. 使用什么字段作为分片键?

2. 分片的策略是什么?

根据范围分片

  简单,容易尾部过热

根据 hash 值分片

  指的是根据用户 id 的 hash 值 mod 一个特定的数进行分片。(为了方便后续扩展,一般是 2 的几次方。)

根据 hash 值及范围混合分片

跨库查询

跨库查询,导致系统性能非常差,这时分表分库一般会结合查询分离一起操作:先将所有数据在 ES 索引一份,再使用 ES 在后台直接查询数据。如果订单详情数据量很大,还有一个常见做法,即先在 ES 中存储索引字段(作为查询条件的字段),再将详情数据存放在 HBase 中

 历史数据迁移?

存量数据直接迁移,增量数据监听 binlog,然后通过 canal 通知迁移程序搬运数据,新的数据库拥有全量数据,且校验通过后逐步切换流量。

posted @ 2023-03-09 09:55  jiaozg  阅读(35)  评论(0)    收藏  举报