tencent cloud

TDSQL Boundless

V17.0.x

PDF
聚焦模式
字号
最后更新时间: 2026-04-17 11:56:52

V17.0.0

版本更新说明

MC

支持配置不同节点的 Leader Priority,实现带权重的选举。
支持数据对象的位置分布策略一期。
MC 支持 LogService RG Job 回放。
MC 支持开启任务配合存储层实现 BulkLoad 模式数据导入。
提供运维接口,对非预期副本下发 destroy job。
单 RG 模式二期,支持配置单 RG 模式运行的最低资源规格,并支持根据当前实例资源规格,动态由单 RG 模式切换为多 RG 模式。
增量备份支持流式传输。
支持并发 CREATE Region。

计算引擎

对表(普通表和分区表)的统计信息更新进行优化,优化点:
直接分析 SST 文件获取表的去重后的记录条数,准确率更高,速率比之前快5倍以上。
支持 ANALYZE TABLE xxx RELOAD 语法,当一个计算节点更新统计信息之后,通知其他计算节点执行 RELOAD,避免多计算节点重复更新统计信息。
添加 tdstore_auto_stat_min_interval_microsecondtdstore_auto_stat_min_update_numtdstore_auto_stat_when_update_rate 三个变量控制自动更新统计信息的频率。
并行查询
默认开启,满足相关的阈值变量设置,并且当前并行查询特性支持的查询会走并行查询路径。
支持多表 JOIN,目前只支持第1张表可以做并行扫描的查询,如果第1张表不能并行扫描,并行查询会被禁用。使用变量 parallel_query_switch='join=off' 关闭 JOIN 支持。
SELECT COUNT(*) 无 GROUP BY 的查询可以选择走并行查询路径,可以使用 parallel hint 和并行变量设置,使用 SET SESSION tdsql_parallel_optim = OFF(默认为 ON)来启用该功能。
支持 Read Committed 隔离级别。
支持闪回查询(Stale Read),形如 SELECT b FROM t1 FORCE INDEX idxb AS OF TIMESTAMP '2023-12-10 12:00:00';
禁止在 mysql 库下使用 CREATE TABLE 创建用户表;如果执行此操作,会得到报错 ERROR 8565 (HY000): Can't create/move table in/to the db. DB(mysql) and table(mysql.t1) are in different dataspaces
支持元数据平滑升级。
支持 MPP(依赖并行),默认不开启,设置 SET tdsql_parallel_worker_scheduling = 'auto' 开启,通过 EXPLAIN ANALYZE 后,查看 information_schema.optimizer_trace 确认任务情况。

存储引擎

对 Raft Log 的产生和同步增加流量控制,避免 Raft Cache 过大造成 OOM(D0001)。
添加 raft_node_enable_flow_controlraft_node_flow_control_threshold 两个参数来实现流量控制。
raft_node_enable_flow_controltrue 时,如果 Leader 上 Raft Cache 占用内存超过 raft_node_flow_control_threshold,则降低产生 Raft Log 的速度。
raft_node_enable_flow_controltrue 时,如果 Follower 上 Raft Cache 占用内存可能超过 raft_node_flow_control_threshold,则降低同步 Raft Log 的速度。
对 Leader 产生的每条 Raft Log 进行针对性压缩。
添加 raft_log_enable_compressionraft_log_compress_typeraft_per_log_min_compress_threshold 三个变量控制压缩。其中 raft_log_enable_compression 表示是否开启压缩,raft_log_compress_type 表示选择压缩算法的类型,1表示 Snappy,2表示 LZ4。raft_per_log_min_compress_threshold 表示一条 Raft Log 参与压缩的最小长度。
支持 BulkLoad 快速导入数据模式。
支持单 RG 中并发 CREATE Region。
对于开事务以及 wf 操作,将 version 校验的粒度从 meta_version 降低到 key_range_shrink_version;对于读写请求不再校验 meta_version,直接校验 region_version。
支持 Binlog 从增量备份的远端存储获取 Raft Log。

TDBR

缩短 recover_ts 与当前时间的间隔。
上报全量备份、增量备份相关的指标。
减少 hybrid-agent 和 etcd 的连接数量(由每个 hybrid-agent 4个连接变更为2个连接)。

问题修复

修复 DROP DB 时由于 objects 数量过多,导致持久化到 etcd 时失败的问题。
修复跨库的 RENAME DDL 场景下 MC 元数据错乱的问题。
修复 information_schema.partitions 视图执行慢且内存占用高的问题,优化了原先视图定义中使用 UNION 导致速度慢和内存临时表开销大的问题。
修复 MyRocks 字典缓存的内存占用高且无法释放的问题。
修复 CREATE TABLE 恢复异常、无法清理残留的 data object 以及相应的 Region、Replication Group 的问题。
修复了一些极端场景下可能触发的读不一致问题。
1PC 事务提交和 Put AC 时,检查 lease holder,确认通过后才可以继续提交,防止双主情况下访问旧主的读请求读不到最新的 1PC 事务写入的数据。
针对事务未决的场景,延后释放 memory lock,防止未决事务最终实际提交成功,但读请求因 memory lock 的中途释放而未读到该事务所写的数据。
advance snapshot 时,等待当前不开事务的只读操作结束后再执行 advance,防止只读操作要读的数据被 compaction 物理删除。
支持 TDStore/MC 全量和增量(日志)备份失败告警,48小时无成功备份告警。
MC 的回滚由异步变为同步。
修复 TDBR 的 EndFullBackup 异步执行可能导致同一时间存在两个备份任务的问题。

参数变更

变更类型
参数名称
描述
新增
Bulk Load 数据导入场景,通常每个 Bulk Load 事务的数据量会比较大,大概在几百 MB 到 GB 的数量级。因此一个 Bulk Load 事务中的数据在提交之前,也会保存在一些临时数据文件中,从而减轻和控制内存开销。对于 Bulk Load 事务中的无序数据(例如二级索引数据),在事务提交阶段会进行外部合并排序。
tdstore_bulk_load_merge_chunk_size 用于设置在 Bulk Load 事务中,对无序数据进行外部合并排序之前,用于在内存中缓存数据的内存大小,单位为字节。
新增
Bulk Load 数据导入场景,通常每个 Bulk Load 事务的数据量会比较大,大概在几百 MB 到 GB 的数量级。因此一个 Bulk Load 事务中的数据在提交之前,也会保存在一些临时数据文件中,从而减轻和控制内存开销。对于 Bulk Load 事务中的无序数据(例如二级索引数据),在事务提交阶段会进行外部合并排序。
tdstore_bulk_load_total_merge_buffer_size 用于设置在 Bulk Load 事务中进行外部合并排序时,内存缓冲区的总大小,单位为字节。
新增
Bulk Load 数据导入场景,通常每个 Bulk Load 事务的数据量会比较大,大概在几百 MB 到 GB 的数量级。因此一个 Bulk Load 事务中的数据在提交之前,也会保存在一些临时数据文件中,从而减轻和控制内存开销。对于 Bulk Load 事务中的无序数据(例如二级索引数据),在事务提交阶段会进行外部合并排序。
tdstore_bulk_load_total_merge_buffer_size 用于设置在 Bulk Load 事务中进行外部合并排序时,内存缓冲区的总大小,单位为字节。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈