TiDB实战篇-数据库热点问题

文章讨论了数据库中形成读写热点的原因,特别是在数据按顺序插入时。解决写热点的方法包括调整SHARD_ROW_ID_BITS和PRE_SPLIT_REGIONS参数,以及使用AutoRandom主键进行分散。对于读热点,时间序列的索引可能导致问题。文章还提到AutoRandom不支持唯一索引列,并提供了建表参数配置的建议。
摘要由CSDN通过智能技术生成

形成热点的原因

 

主要是因为数据插入进去的时候是按顺序加数据的。 

数据分裂以后还是在一个store上面,就会形成读写热点。 

没有走索引全表扫描的情况。

定位热点

 

如果有热点,那么它的查询语句应该是比较多的,容易在这个地方找到对应的热点问题。 

写热点的处理

上面的SHARD_ROW_ID_BITS为4对应下面的4 bits,表示打散的程度,程度太大会增大RPC的压力,PRE_SPLIT_REGIONS是预分区数目。 这是没有给主键的情况。

下面有主键的情况。

 索引的打散

 建表的时候预先在每一个store生成对应的region,如果默认是off的情况是数据插入的时候才会生成。

写热点的问题发现

在第三步的时候如果发现建表有问题那么用下面的步骤处理数据

索引的打散

读热点 

 索引顺序增长的情况,比如时间索引。

问题描述

这个是用自增主键创建的表。

用随机主键建表以后的效果

注意,AutoRandom 仅支持主键列,唯一索引列尚不支持,目前也没有支持计划。AUTO_RANDOM 关键字后可以指定 Shard Bits 数量,默认为 5。 

建表的相关参数配置

AUTO_RANDOM | PingCAP 文档中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工作变成艺术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值