如何永不迁移数据和避免热点? 根据服务器指标分配数据量(揭秘篇)

本文介绍了如何设计一个数据库方案,结合hash取模与range范围,实现数据永不迁移和避免热点。通过定义group组概念,并根据服务器性能分配数据,保证数据在一定范围内均匀分布。在扩容时,通过新增group组,避免数据迁移,同时防止热点问题。文章还提及了系统设计和如何根据服务器指标调整数据量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

  1. 前言
  2. 方案思路
  3. 方案设计
  4. 核心主流程
  5. 如何扩容
  6. 系统设计

前言

上一篇文章你知道怎么分库分表吗?如何做到永不迁移数据和避免热点吗? ,我们介绍了常规的分库分表的方案,各有优缺点:

hash取模方案:没有热点问题,但需要数据迁移。

range范围方案:不需要数据迁移,但有热点问题。

那有什么方案可以做到两者的优点结合呢?

其实还有一个现实需求,能否根据服务器的性能以及存储高低,适当均匀调整存储呢?

如何永不迁移数据和避免热点? 根据服务器指标分配数据量(揭秘篇)

 

方案思路

hash是可以解决数据均匀的问题,range可以解决数据迁移问题,那我们可以不可以两者相结合呢?利用这两者的特性呢?

我们考虑一下数据的扩容代表着,路由key(如id)的值变大了,这个是一定的,那我们先保证数据变大的时候,首先用range方案让数据落地到一个范围里面。这样以后id再变大,那以前的数据是不需要迁移的

但又要考虑到数据均匀,那是不是可以在一定的范围内数据均匀的呢?因为我们每次的扩容肯定会事先设计好这次扩容的范围大小,我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值