美文网首页
2023-03-29参数SHARD_ROW_ID_BITS =

2023-03-29参数SHARD_ROW_ID_BITS =

作者: felix_feng | 来源:发表于2023-03-28 15:50 被阅读0次

聚簇索引 (clustered index) 是 TiDB 从 v5.0 开始支持的特性,用于控制含有主键的表数据的存储方式。通过使用聚簇索引,TiDB 可以更好地组织数据表,从而提高某些查询的性能。有些数据库管理系统也将聚簇索引称为“索引组织表” (index-organized tables)。

目前 TiDB 中含有主键的表分为以下两类:

NONCLUSTERED,表示该表的主键为非聚簇索引。在非聚簇索引表中,行数据的键由 TiDB 内部隐式分配的 _tidb_rowid 构成,而主键本质上是唯一索引,因此非聚簇索引表存储一行至少需要两个键值对,分别为

      _tidb_rowid(键)- 行数据(值)
      主键列数据(键) - _tidb_rowid(值)

CLUSTERED,表示该表的主键为聚簇索引。在聚簇索引表中,行数据的键由用户给定的主键列数据构成,因此聚簇索引表存储一行至少只要一个键值对,即

      主键列数据(键) - 行数据(值)

TiDB v6.5 之前,默认情况下,非整数主键、没有主键的表或者建表时显式指定 nonclustered 非聚簇的表,TiDB 会使用一个隐式的自增 rowid。大量执行 INSERT 插入语句时,由于 rowid 自增分配,会把数据集中写入单个 Region,造成写入热点。通过设置 SHARD_ROW_ID_BITS,可以把 rowid 打散写入多个不同的 Region,缓解写入热点问题。

但是,SHARD_ROW_ID_BITS 配置同时会带来写入数据不聚集的问题,从下图中可以看出,同一时间写入的数据,由于 SHARD_ROW_ID_BITS = 2,分布在四个不同的 Region 上。如果语句条件是根据时间进行范围扫,TableRowidScan 算子的 cop task 会增加 3 倍。

如果建表时指定 shard_row_id_bits 时,希望建表时就均匀切分 Region,可以考虑配合 PRE_SPLIT_REGIONS 一起使用,用来在建表成功后就开始预均匀切分 2^(PRE_SPLIT_REGIONS) 个 Region。但由于新建表或分区的分裂操作实际产生的是空 Region,如果分裂打散操作距离写入存在一定时间间隔,则 Region 可能会被合并,从而导致无法真正规避写入热点问题。此时可以为表或分区添加 merge_option 属性,设置为 deny 来解决问题。
禁止属于某个表的 Region 被合并

ALTER TABLE t ATTRIBUTES 'merge_option=deny';

相关文章

  • 2023-03-29

    太困了,很想睡。想着昨天又发起的日更挑战,于是摸摸索索地上来写几个字凑下数,给自己支持下。如果自己都不支持自己还有...

  • 参数,非参数,半参数

    非参数与参数理解 non-parametric model中参数是distribution free的,参数函数空...

  • 参数、非参数、半参数

    如何理解参数、非参数和半参数的概念?先回顾一下医学统计学参数检验和非参数检验的内容:参数检验(parametric...

  • 函数的参数

    函数的参数顺序是 必选参数、默认参数、可变参数、关键字参数、命名关键字参数 必选参数 默认参数 可变参数 关键...

  • 函数 参数

    关键字参数: 形如 kwarg = value 参数类型: 必备参数 命名参数 缺省参数 不定长参数 必备参数 ...

  • 3.monkey参数

    参数分类 常规类参数 事件类参数 约束类参数 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数。帮助参...

  • Python之函数的参数

    Python中函数的参数有五种:位置参数(必选参数)、默认参数、可变参数、关键字参数、命名关键字参数。 位置参数 ...

  • 方法的参数 Day0815

    值参数 引用参数 输入参数 数组参数

  • 5.函数的参数

    位置参数 默认参数 可变参数 关键字参数 命名关键字参数 参数组合

  • JavaScript 箭头函数语法结构

    基本语法 (参数1, 参数2, …, 参数N) => { 函数声明 }//相当于:(参数1, 参数2, …, 参数...

网友评论

      本文标题:2023-03-29参数SHARD_ROW_ID_BITS =

      本文链接:https://www.haomeiwen.com/subject/ecfxddtx.html