0 码力 |
4369 页 |
98.92 MB
| 1 年前 3
AUTO_INCREMENT 列属性 (GA) #38442 @tiancaiamao TiDB v6.4.0 引入了 AUTO_INCREMENT 的 MySQL 兼容模式作为实验特性,通过中心化分配自增 ID,实现了自 增 ID 在所有 TiDB 实例上单调递增。使用该特性能够更容易地实现查询结果按自增 ID 排序。该功能在 v6.5.0 正式 GA。使用该功能的单表写入 TPS 预期超过 2 TiDB 的自增列既能保证唯一,也能保证在单个 TiDB server 中自增,使用AUTO_INCREMENT MySQL 兼容模式能 保证多个 TiDB server 中自增 ID,但不保证自动分配的值的连续性。不建议将缺省值和自定义值混用,若 混用可能会收到 Duplicated Error 的错误信息。 • TiDB 可通过 tidb_allow_remove_auto_inc 系统变量开启或者关闭允许移除列的 属性,移除该属性后不可恢复。 自增 ID 详情可参阅AUTO_INCREMENT。 注意: 若创建表时没有指定主键时,TiDB 会使用 _tidb_rowid 来标识行,该数值的分配会和自增列 (如果存在的话)共用一个分配器。如果指定了自增列为主键,则 TiDB 会用该列来标识行。因 此会有以下的示例情况: mysql> CREATE TABLE t(id INT UNIQUE KEY AUTO_INCREMENT);
0 码力 |
4049 页 |
94.00 MB
| 1 年前 3
DB Lightning 配置 参数。 • 对于设置了 AUTO_ID_CACHE=1 的表,TiDB 支持中心化分配自增 ID 服务。在之前的版本中,该服务的 “主”TiDB 节点在进程退出(如该 TiDB 节点重启)时会自动执行 forceRebase 操作,以确保自动分配的 ID 尽可能连续。然而,当设置过 AUTO_ID_CACHE=1 的表过多时,执行 forceRebase 会非常耗时,导致 会非常耗时,导致 TiDB 无法及时重启,甚至阻塞数据写入,影响系统可用性。因此,从 v8.1.0 起,TiDB 取消了 forceRebase 操 作,解决了上述问题,但会造成主备切换期间部分自动分配的 ID 出现不连续。 2.2.2.2 系统变量 变量名 修改类型 描述 tidb_auto �→ _ �→ analyze �→ _ratio 修改 取值范 围从 [0, �→ 18446744073709551615] @guo-shaoge • Tools – Backup & Restore (BR) * 修复在包含 AUTO_RANDOM 列的联合聚簇索引中,BR 无法备份 AUTO_RANDOM ID 分配进度的问题 #52255 @Leavrth * 修复在日志备份任务被暂停后,移除任务无法立即恢复 GC safepoint 的问题 #52082 @3pointer * 修复在小概率情况下,由
0 码力 |
4807 页 |
101.31 MB
| 1 年前 3
支持微服务模式(实验特性)#5766 @binshi-bing 从 v8.0.0 开始,PD 支持微服务模式。该模式可将 PD 的时间戳分配和集群调度功能拆分为以下微服务单 独部署,从而实现 PD 的性能扩展,解决大规模集群下 PD 的性能瓶颈问题。 – tso 微服务:为整个集群提供单调递增的时间戳分配。 – scheduling 微服务:为整个集群提供调度功能,包括但不限于负载均衡、热点处理、副本修复、副 本放置等。 象加入队列,逐个收集并更新。在之前的版本中,这些对象的收集顺序是随机的,可能导致更需要更 新的对象等待时间过长,从而引发潜在的数据库性能回退。 从 v8.0.0 开始,自动统计信息收集引入了优先级队列,根据多种条件动态地为对象分配优先级,确保更 有收集价值的对象优先被处理,比如新创建的索引、发生分区变更的分区表等。同时,TiDB 也会优先处 理那些健康度较低的表,将它们安排在队列的前端。这一改进优化了收集顺序的合理性,能减少一部 Region 算法支持自适应获取并发参数,提升恢复性能 #50701 @3pointer 55 * 在 br 的命令行帮助信息中显示 log 命令 #50927 @RidRisR * 支持在恢复过程中提前分配好 Table ID,从而最大限度地复用 Table ID,提升恢复性能 #51736 @Leavrth * 使用 BR 时,禁用 TiDB 内部的 GC memory limit tuner 功能,避免
0 码力 |
4805 页 |
101.28 MB
| 1 年前 3
的查询响应时间,提升集群吞吐,减少执行计划突变的可能性,并保持集群性能的稳定。相比会话级 执行计划缓存,实例级执行计划缓存具有以下优势: – 消除冗余,在相同的内存消耗下缓存更多执行计划。 – 在实例上分配固定大小的内存区域,更有效地限制内存使用。 在 v8.4.0 中,实例级执行计划缓存仅支持对查询的执行计划进行缓存,且默认关闭。你可以通过系统变 量tidb_enable_instance_plan_cache 下。该功能可以让你精细控制后台任务的资源占用,进一步提升集群稳定性。 更多信息,请参考用户文档。 • 优化资源组资源分配策略 #50831 @nolouch TiDB 在 v8.4.0 部分调整了资源分配策略,更好地满足用户对资源管控的预期。 – 控制大查询在运行时的资源分配,避免超出资源组限额。配合 Runaway Queries 的 COOLDOWN 动作, 识别并降低大查询并发度,降低瞬时资源消耗。 在处理 ALTER DATABASE 语句时未设置默认数据库导致同步报错的问题 #11503 @lance6716 – TiDB Lightning * 修复两个实例同时并行开始导入任务时,由于分配到的任务 ID 相同导致 TiDB Lightning 报 verify allocator base failed 错误的问题 #55384 @ei-sugimoto 2.2.9 贡献者 感谢来自
0 码力 |
5095 页 |
104.54 MB
| 10 月前 3
的查询响应时间,提升集群吞吐,减少执行计划突变的可能性,并保持集群性能的稳定。相比会话级 执行计划缓存,实例级执行计划缓存具有以下优势: – 消除冗余,在相同的内存消耗下缓存更多执行计划。 – 在实例上分配固定大小的内存区域,更有效地限制内存使用。 在 v8.4.0 中,实例级执行计划缓存仅支持对查询的执行计划进行缓存,且默认关闭。你可以通过系统变 量tidb_enable_instance_plan_cache 下。该功能可以让你精细控制后台任务的资源占用,进一步提升集群稳定性。 更多信息,请参考用户文档。 • 优化资源组资源分配策略 #50831 @nolouch TiDB 在 v8.4.0 部分调整了资源分配策略,更好地满足用户对资源管控的预期。 – 控制大查询在运行时的资源分配,避免超出资源组限额。配合 Runaway Queries 的 COOLDOWN 动作, 识别并降低大查询并发度,降低瞬时资源消耗。 在处理 ALTER DATABASE 语句时未设置默认数据库导致同步报错的问题 #11503 @lance6716 – TiDB Lightning * 修复两个实例同时并行开始导入任务时,由于分配到的任务 ID 相同导致 TiDB Lightning 报 verify allocator base failed 错误的问题 #55384 @ei-sugimoto 2.2.9 贡献者 感谢来自
0 码力 |
5072 页 |
104.05 MB
| 10 月前 3
倍(实验特性)