课程名称: 【TiDB 4.0 PCTA 学习笔记】- 3.7.8 How to Deal With Hotspot Issues (如何处理数据热点问题)
学习时长:15m
课程收获:
了解如何处理 TiDB 集群的热点问题
课程内容:
一、热点问题分析
热点 即 数据的一小部分,承载了远超于其余部分的负载(QPS、CPU等)
顺序写问题,大多数热点问题都是由顺序写导致。
无主键、无int类型的主键,tidb会自动创建row-id 也是顺序写
热点小表,特别小的一段数据被热点频繁访问,
由于数据小,往往分布在单一region内,
tidb无法通过调度手段分散热点,读热点居多,
往往是大范围扫描操作或coprocessor存在大量的下推表达式计算
region分布偏斜
二、处理热点问题的手段
分区表,使用hash分区
让 row-id更加随机,而不是严格的递增
预分裂region ,效果最好,
不仅可以根据数据分布情况提前将表的region分裂为合适的数量,还可以主动发起调度,使这些空region在集群中均匀分布;
缺点是需要进行额外操作,对数据的数值范围和分布有一些了解
针对小表读热点问题
针对region分布偏斜问题
针对region分布偏斜问题的非常规手段(其他方式都不起作用的情况下)