您当前的位置: 首页 > 

壹小俊

暂无认证

  • 2浏览

    0关注

    885博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

数据分布优化:如何应对数据倾斜?

壹小俊 发布时间:2022-07-19 11:31:30 ,浏览量:2

在切片集群中,数据会按照一定的分布规则分散到不同的实例上保存。比如,在使用Redis Cluster或Codis时,数据都会先按照CRC算法的计算值对Slot(逻辑槽)取模,同时,所有的Slot又会由运维管理员分配到不同的实例上。这样,数据就被保存到相应的实例上了。

虽然这种方法实现起来比较简单,但是很容易导致一个问题:数据倾斜。

数据倾斜有两类。

  • 数据量倾斜:在某些情况下,实例上的数据分布不均衡,某个实例上的数据特别多。
  • 数据访问倾斜:虽然每个集群实例上的数据量相差不大,但是某个实例上的数据是热点数据,被访问得非常频繁。

如果发生了数据倾斜,那么保存了大量数据,或者是保存了热点数据的实例的处理压力就会增大,速度变慢,甚至还可能会引起这个实例的内存资源耗尽,从而崩溃。这是我们在应用切片集群时要避免的。

今天这节课,我就来和你聊聊,这两种数据倾斜是怎么发生的,我们又该怎么应对。

数据量倾斜的成因和应对方法

首先,我们来看数据量倾斜的成因和应对方案。

当数据量倾斜发生时,数据在切片集群的多个实例上分布不均衡,大量数据集中到了一个或几个实例上,如下图所示:

那么,数据量倾斜是怎么产生的呢?这主要有三个原因,分别是某个实例上保存了bi

关注
打赏
1664335782
查看更多评论
立即登录/注册

微信扫码登录

0.0398s