目录
- 前言
- 方案思路
- 方案设计
- 核心主流程
- 如何扩容
- 系统设计
前言
上一篇文章你知道怎么分库分表吗?如何做到永不迁移数据和避免热点吗? ,我们介绍了常规的分库分表的方案,各有优缺点:
hash取模方案:没有热点问题,但需要数据迁移。
range范围方案:不需要数据迁移,但有热点问题。
那有什么方案可以做到两者的优点结合呢?
其实还有一个现实需求,能否根据服务器的性能以及存储高低,适当均匀调整存储呢?
方案思路
hash是可以解决数据均匀的问题,range可以解决数据迁移问题,那我们可以不可以两者相结合呢?利用这两者的特性呢?
我们考虑一下数据的扩容代表着,路由key(如id)的值变大了,这个是一定的,那我们先保证数据变大的时候,首先用range方案让数据落地到一个范围里面。这样以后id再变大,