From 16f05720fde0399d704e6984173f2a3754b32e8a Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Nov 2022 19:36:07 +0800 Subject: [PATCH 001/161] Create release-6.5.0.md --- releases/release-6.5.0.md | 242 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 releases/release-6.5.0.md diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md new file mode 100644 index 000000000000..0346437d0451 --- /dev/null +++ b/releases/release-6.5.0.md @@ -0,0 +1,242 @@ +--- +title: TiDB 6.5.0 Release Notes +--- + +# TiDB 6.5.0 Release Notes + +发版日期:2022 年 x 月 xx 日 + +TiDB 版本:6.5.0 + +试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v6.5/quick-start-with-tidb) | [生产部署](https://docs.pingcap.com/zh/tidb/v6.5/production-deployment-using-tiup) | [下载离线包](https://cn.pingcap.com/product-community/) + +TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS),包含了 6.2.0-DMR、6.3.0-DMR、6.4.0-DMR 中已发布的功能、提升改进和错误修复。你可以通过以下链接查看这些 DMR 版本的 Release Notes。 + +- [6.2.0-DMR](/releases/release-6.2.0.md) +- [6.3.0-DMR](/releases/release-6.3.0.md) +- [6.4.0-DMR](/releases/release-6.4.0.md) + +在 6.5.0 版本中,你可以获得以下关键特性: + +- 关键特性 1 +- 关键特性 2 +- 关键特性 3 +- ...... + +## 新功能 + +### SQL + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 安全 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 可观测性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 性能 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 事务 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 稳定性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 易用性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### MySQL 兼容性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 数据迁移 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 数据共享与订阅 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 部署及运维 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +## 兼容性变更 + +### 系统变量 + +| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +|--------|------------------------------|------| +| | | | +| | | | +| | | | +| | | | + +### 配置文件参数 + +| 配置文件 | 配置项 | 修改类型 | 描述 | +| -------- | -------- | -------- | -------- | +| | | | | +| | | | | +| | | | | +| | | | | + +### 其他 + +## 废弃功能 + +## 改进提升 + ++ TiDB + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiKV + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ PD + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiFlash + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ Tools + + + Backup & Restore (BR) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiCDC + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Data Migration (DM) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Lightning + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiUP + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + +## 错误修复 + ++ TiDB + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiKV + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ PD + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiFlash + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ Tools + + + Backup & Restore (BR) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiCDC + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Data Migration (DM) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Lightning + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiUP + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + +## 贡献者 + +感谢来自 TiDB 社区的贡献者们: + +- [贡献者 GitHub ID]() \ No newline at end of file From 95fb62c087dea4bca929a10b05890e022b46bdd6 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Nov 2022 22:15:44 +0800 Subject: [PATCH 002/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 0346437d0451..74d7cd16df80 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -4,18 +4,12 @@ title: TiDB 6.5.0 Release Notes # TiDB 6.5.0 Release Notes -发版日期:2022 年 x 月 xx 日 +发版日期:2022 年 xx 月 xx 日 TiDB 版本:6.5.0 试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v6.5/quick-start-with-tidb) | [生产部署](https://docs.pingcap.com/zh/tidb/v6.5/production-deployment-using-tiup) | [下载离线包](https://cn.pingcap.com/product-community/) -TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS),包含了 6.2.0-DMR、6.3.0-DMR、6.4.0-DMR 中已发布的功能、提升改进和错误修复。你可以通过以下链接查看这些 DMR 版本的 Release Notes。 - -- [6.2.0-DMR](/releases/release-6.2.0.md) -- [6.3.0-DMR](/releases/release-6.3.0.md) -- [6.4.0-DMR](/releases/release-6.4.0.md) - 在 6.5.0 版本中,你可以获得以下关键特性: - 关键特性 1 @@ -23,6 +17,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS),包含了 6 - 关键特性 3 - ...... +TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS),除了本次新引入的功能变化,同时也包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的功能、提升改进和错误修复。 + ## 新功能 ### SQL @@ -239,4 +235,4 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS),包含了 6 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID]() \ No newline at end of file +- [贡献者 GitHub ID](链接) \ No newline at end of file From b4983ee01165fc8ecedbef5666ca9415c85f5fab Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Nov 2022 22:32:06 +0800 Subject: [PATCH 003/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 74d7cd16df80..2feac8c55af7 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -10,15 +10,15 @@ TiDB 版本:6.5.0 试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v6.5/quick-start-with-tidb) | [生产部署](https://docs.pingcap.com/zh/tidb/v6.5/production-deployment-using-tiup) | [下载离线包](https://cn.pingcap.com/product-community/) -在 6.5.0 版本中,你可以获得以下关键特性: +TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + +相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的功能、提升改进和错误修复,并引入了以下关键特性: - 关键特性 1 - 关键特性 2 - 关键特性 3 - ...... -TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS),除了本次新引入的功能变化,同时也包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的功能、提升改进和错误修复。 - ## 新功能 ### SQL From f29dd1b0c47c1509e55730eda47f7492ec9f8c0b Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 23 Nov 2022 22:34:29 +0800 Subject: [PATCH 004/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2feac8c55af7..c8960e558d2b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -12,7 +12,7 @@ TiDB 版本:6.5.0 TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 -相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的功能、提升改进和错误修复,并引入了以下关键特性: +相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: - 关键特性 1 - 关键特性 2 From e0fc73e2fb26e76e5a8cc51d3486d57290c9f459 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 29 Nov 2022 18:10:51 +0800 Subject: [PATCH 005/161] add release note for fd 1190 add release note for fd 1190 --- releases/release-6.5.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c8960e558d2b..d9ac908db884 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -77,6 +77,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +* 完善 EXPLAIN ANALYZE 输出的 TiFlash 的 TableFullScan 算子的统计信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) + + [`EXPLAIN ANALYZE`] 语句可以输出执行计划及运行时的统计信息。现有版本的统计信息中,TiFlash 的 TableFullScan 算子统计信息不完善。v6.5.0 版本对 TableFullScan 算子的统计信息进行完善,补充了 dmfile 相关的执行信息,可以更加清晰的展示 TiFlash 的数据扫描状态信息,方便进行性能分析。 + + 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 + ### MySQL 兼容性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From 4cd94627068a35bf784b3695b2c721042f7e452a Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 29 Nov 2022 18:13:37 +0800 Subject: [PATCH 006/161] add note for fd-1088 add note for fd-1088 --- releases/release-6.5.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d9ac908db884..682cd0672125 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -53,6 +53,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +* 新增支持下推[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) + + * `->` + * `->>` + * `JSON_EXTRACT()` + ### 事务 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From 4a09e58e717c038c0cc073647fb197f5c7702310 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 30 Nov 2022 10:33:02 +0800 Subject: [PATCH 007/161] add note for fd1062 add note for fd1062 --- releases/release-6.5.0.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 682cd0672125..5e337e5c5999 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -59,6 +59,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` +* 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) + + * `regexp_like` + * `regexp_instr` + ### 事务 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From 3c23645a42d3a7c25da84ac7273b7737b84a98a6 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 30 Nov 2022 11:00:02 +0800 Subject: [PATCH 008/161] add note for fd1062 --- releases/release-6.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5e337e5c5999..8adc73add48e 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -63,6 +63,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `regexp_like` * `regexp_instr` + * `regexp_substr` ### 事务 From c24ba68b672d826bc3d82e83f958fd0c1e688a14 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 30 Nov 2022 11:20:55 +0800 Subject: [PATCH 009/161] FD-1187 --- releases/release-6.5.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5e337e5c5999..78e7e3e9006d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -94,6 +94,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 +* 执行计划支持 JSON 格式的打印 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) + + 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = json ` 能够将 SQL 的执行计划以 JSON 格式输出。 借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 + + 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain.md)。 + ### MySQL 兼容性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From c4820683c56c13a9edccf8fa97b6572b12d3ef99 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 30 Nov 2022 13:28:43 +0800 Subject: [PATCH 010/161] Update releases/release-6.5.0.md Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-6.5.0.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index eda0790af39d..efe21afe8478 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -111,6 +111,37 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据迁移 +* 支持导出和导入压缩后的 CSV、SQL 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) + +功能描述:支持导出和导入压缩后的 CSV 文件 + 功能简介:Dumpling 支持将数据导出为 SQL、CSV 的压缩文件,支持 gzip/snappy/zstd 三种压缩格式。Lightning 支持导入压缩后的 SQL、CSV 文件,支持gzip/snappy/zstd 三种压缩格式。 + 功能价值:之前用户导出数据或者导入数据都需要提供较大的存储空间,用于存储导出或者即将导入的非压缩后的 csv 、sql文件,导致存储成本增加。该功能发布后,通过压缩存储空间,可以大大降低用户的存储成本。 + 如何使用:参考用户文档 + 更多信息,请参考[用户文档](https://github.com/pingcap/tidb/issues/38514)。 + + +* 优化了 binlog 解析能力 [#无](无) @[gmhdbjd](https://github.com/GMHDBJD) + +功能描述:优化了 binlog 解析能力 + 功能简介: 可将不在迁移任务里的库、表对象的 binlog event 过滤掉不做解析,从而提升解析效率和稳定性。 + 功能价值: 原先用户仅迁移少数几张表,也需要解析上游整个 binlog 文件,即仍需要解析该 binlog 文件中不需要迁移的表的 binlog event,效率会比较低,同时如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。通过只解析在迁移任务里的库表对象的 binlog event 可以大大提升 binlog 解析效率,提升任务稳定性。 + 如何使用:该策略在 6.5 版本默认生效,用户不感知。 + +* Lightning 支持 disk quota 特性 GA,可避免 Lightning 任务写满本地磁盘 [#无](无) @[buchuitoudegou](https://github.com/buchuitoudegou) +功能描述:Lightning 支持 disk quota 特性 GA,可避免写 Lightning 任务满本地磁盘 + 功能简介:你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV,TiDB Lightning 删除本地临时文件后,再继续导入过程。 + 功能价值: 没有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。 + 如何使用:参考用户文档 + 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/tidb-lightning-physical-import-mode-usage#configure-disk-quota-new-in-v620)。 + + +* GA DM 增量数据校验的功能 [#4426](https://github.com/pingcap/tiflow/issues/4426) @[[D3Hunter](https://github.com/D3Hunter) +功能描述: GA DM 增量数据校验的功能 + 功能简介: 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖于强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的,因为上下游的数据在不断变化,导致用户难以对表里面的全部数据进行一致性校验。 + 功能价值: 过去,需要中断业务,做全量数据校验,会影响用户业务。现在推出该功能后,在一些不可中断的业务场景,无需中断业务,通过该功能就可以实现增量数据校验。 + 如何使用:参考用户文档 + 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/dm-continuous-data-validation)。 + * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) From 6755daddf61969189172ae32c7d69da323f1954e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 30 Nov 2022 13:28:51 +0800 Subject: [PATCH 011/161] Update releases/release-6.5.0.md Co-authored-by: Yilin Chen --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index efe21afe8478..1f82038846c5 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -199,7 +199,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - + - 改进持续对特定行只加锁但不更新情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) + PD - note [#issue](链接) @[贡献者 GitHub ID](链接) From f4deb1f771d6191df2a43960ce53ce379dd9af0e Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 30 Nov 2022 13:59:49 +0800 Subject: [PATCH 012/161] FD-1020 --- releases/release-6.5.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index eda0790af39d..b85716b120c8 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -65,6 +65,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `regexp_instr` * `regexp_substr` +* 新增全局 hint 指定[视图](/develop/dev-guide-use-views.md)内查询的优化器行为 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) + + [视图](/develop/dev-guide-use-views.md)是数据库常见的建模方式。 当 SQL 语句中包含对视图的访问时,部分情况下需要用 hint 对视图内查询的优化行为进行干预,以获得最佳执行计划。 在 v6.5.0 中, TiDB 允许针对视图内的查询块添加全局 hint 。 全局 hint 由 “查询块命名” 和 “ hint 引用” 两部分组成,为包含复杂视图嵌套的 SQL 提供 hint 的注入手段, 增强了执行计划控制能力, 进而稳定复杂 SQL 的执行性能。 + + 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 + ### 事务 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From e09e9e644db55c1b8400dd8946e3b2b356c44095 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 30 Nov 2022 17:06:56 +0800 Subject: [PATCH 013/161] FD-773 --- releases/release-6.5.0.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c616fb0264f6..77dc45d644d3 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -67,10 +67,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 新增全局 hint 指定[视图](/develop/dev-guide-use-views.md)内查询的优化器行为 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) - [视图](/develop/dev-guide-use-views.md)是数据库常见的建模方式。 当 SQL 语句中包含对视图的访问时,部分情况下需要用 hint 对视图内查询的优化行为进行干预,以获得最佳执行计划。 在 v6.5.0 中, TiDB 允许针对视图内的查询块添加全局 hint 。 全局 hint 由 “查询块命名” 和 “ hint 引用” 两部分组成,为包含复杂视图嵌套的 SQL 提供 hint 的注入手段, 增强了执行计划控制能力, 进而稳定复杂 SQL 的执行性能。 + [视图](/develop/dev-guide-use-views.md)是数据库常见的建模方式。 当 SQL 语句中包含对视图的访问时,部分情况下需要用 hint 对视图内查询的执行计划进行干预,以获得最佳性能。 在 v6.5.0 中, TiDB 允许针对视图内的查询块添加全局 hint 。 全局 hint 由 “查询块命名” 和 “ hint 引用” 两部分组成,为包含复杂视图嵌套的 SQL 提供 hint 的注入手段, 增强了执行计划控制能力, 进而稳定复杂 SQL 的执行性能。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 +* [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) + + [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 + + ### 事务 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From b04d5b14fb56614496a6bafc943202728330e8ba Mon Sep 17 00:00:00 2001 From: Ryan Liu <2842195+moyun@users.noreply.github.com> Date: Wed, 30 Nov 2022 19:15:30 +0900 Subject: [PATCH 014/161] add index merge and tiflash-insert-select --- releases/release-6.5.0.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c616fb0264f6..3e510e50b742 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -29,6 +29,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +* TiFlash 支持 `INSERT SELECT` 语句 [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) + + 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: + ```sql + insert into t2 select mod(x,y) from t1; + ``` + 用户可以方便地保存(物化)TiFlash 的计算结果以供下游步骤使用,可以起到结果缓存(物化)的效果。适用于以下场景:使用 TiFlash 做复杂分析,需重复使用计算结果或响应高并发的在线请求,计算性质本身聚合性好(相对输入数据,计算得出的结果集比较小,推荐 100MB 以内)。作为写入对象的 结果表本身没有特别限制,可以任意选择是否添加 TiFlash 副本。(实验功能) + 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 + ### 安全 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) @@ -53,6 +62,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#3933](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) + 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) + + * 新增支持下推[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) * `->` From 6a94c3314b9ad58bab42f6d8f3c1b7a6d250b658 Mon Sep 17 00:00:00 2001 From: Ryan Liu <2842195+moyun@users.noreply.github.com> Date: Wed, 30 Nov 2022 19:20:08 +0900 Subject: [PATCH 015/161] add a new line --- releases/release-6.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d8e28c2a641c..05b34977deaa 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -29,7 +29,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 -* TiFlash 支持 `INSERT SELECT` 语句 [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) +* TiFlash 支持 `INSERT SELECT` 语句 [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: ```sql @@ -63,6 +63,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 * 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#3933](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) + 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) From 41948ab05227be8b06642cbd9ca46a2eee0eb780 Mon Sep 17 00:00:00 2001 From: Ryan Liu <2842195+moyun@users.noreply.github.com> Date: Wed, 30 Nov 2022 19:21:30 +0900 Subject: [PATCH 016/161] add a new line --- releases/release-6.5.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 05b34977deaa..09e0a6e6f1dc 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -62,11 +62,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 -* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#3933](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) +* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#3933](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) - * 新增支持下推[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) * `->` From c5d7e0290d4af0e6466b19881bdd335e3148cd2d Mon Sep 17 00:00:00 2001 From: Ryan Liu <2842195+moyun@users.noreply.github.com> Date: Wed, 30 Nov 2022 19:27:23 +0900 Subject: [PATCH 017/161] add a new line --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 09e0a6e6f1dc..9ba403689237 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -62,7 +62,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 -* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#3933](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) +* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) From b8f9f7ceed6fe401a4b2d52d8711b1837d427ed1 Mon Sep 17 00:00:00 2001 From: Ryan Liu <2842195+moyun@users.noreply.github.com> Date: Wed, 30 Nov 2022 19:55:55 +0900 Subject: [PATCH 018/161] add contributers --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 9ba403689237..897e9a157def 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -62,7 +62,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 -* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) +* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) From d13b2fc14c153702482e926a38392bac6f980b77 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 30 Nov 2022 19:26:05 +0800 Subject: [PATCH 019/161] FD-1033 --- releases/release-6.5.0.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 897e9a157def..cc6f56fb9849 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,8 +14,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- 关键特性 1 -- 关键特性 2 +- 优化器代价模型 V2 GA +- 全局 hint 干预视图内查询的计划生成 - 关键特性 3 - ...... @@ -78,7 +78,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `regexp_instr` * `regexp_substr` -* 新增全局 hint 指定[视图](/develop/dev-guide-use-views.md)内查询的优化器行为 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) +* 新增全局 hint 干预[视图](/develop/dev-guide-use-views.md)内查询的计划生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) [视图](/develop/dev-guide-use-views.md)是数据库常见的建模方式。 当 SQL 语句中包含对视图的访问时,部分情况下需要用 hint 对视图内查询的执行计划进行干预,以获得最佳性能。 在 v6.5.0 中, TiDB 允许针对视图内的查询块添加全局 hint 。 全局 hint 由 “查询块命名” 和 “ hint 引用” 两部分组成,为包含复杂视图嵌套的 SQL 提供 hint 的注入手段, 增强了执行计划控制能力, 进而稳定复杂 SQL 的执行性能。 @@ -88,6 +88,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 +* 优化器代价模型 V2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) + + TiDB v6.2.0 引入了新的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),通过更准确的代价估算方式,更加有利于选到最优执行计划,尤其在部署了 TiFlash 的情况下,新的代价模型自动选择合理的存储引擎,避免过多的人工介入。 经过一段时间真实场景在测试,这个模型在 v6.5.0 正式 GA,新创建的集群将默认使用新代价模型。 对于升级到 v6.5.0 的用户,经过充分的性能测试之后,可以通过变量 [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 切换到新的代价模型。 + + 优化器代价模型 V2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 + + 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 ### 事务 @@ -194,7 +201,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| | | | +| [`tidb_cost_model_version`](/system-variables.md#tidbcostmodelversion-span-classversion-mark从-v620-版本开始引入span) | 修改 | 优化器模型 V2 GA, 变量默认值改为`2`。 | | | | | | | | | | | | | From 93ffb6976d1150b63185b8714f3d7410b1b44218 Mon Sep 17 00:00:00 2001 From: long0712 <87366891+ljun0712@users.noreply.github.com> Date: Wed, 30 Nov 2022 20:20:03 +0800 Subject: [PATCH 020/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index cc6f56fb9849..117aec4bf8d7 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -16,7 +16,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 优化器代价模型 V2 GA - 全局 hint 干预视图内查询的计划生成 -- 关键特性 3 +- 满足密码合规审计需求 [密码管理](/password-management.md) - ...... ## 新功能 @@ -40,11 +40,32 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 安全 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) +* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + TiDB 启用密码复杂度策略功能后,在为用户设置密码时,会检查密码长度、大写/小写字符个数、数字字符个数、特殊字符个数、密码字典、是否与用户名相同,以此确保为用户设置一个安全的密码。 + + TiDB 支持密码强度检查函数 `VALIDATE_PASSWORD_STRENGTH()`,用于判定一个给定密码的强度。 + + 更多信息,请参考[用户文档](/password-management.md#密码复杂度策略)。 + - 更多信息,请参考[用户文档](链接)。 +* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) + + TiDB 支持密码过期策略,包括:手动密码过期、全局级别自动密码过期、账户级别自动密码过期。启用密码过期策略功能后,用户必须定期修改密码,防止密码长期使用带来的泄露风险,提高密码安全性。 + + 更多信息,请参考[用户文档](/password-management.md#密码过期策略) + +* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) + + TiDB 支持密码重用策略,包括:全局级别密码重用策略、账户级别密码重用策略。启用密码重用策略功能后,用户不允许使用最近一段时间使用过的密码,不允许使用最近几次使用过的密码,以此降低密码的重复使用带来的泄漏风险,提高密码安全性。 + + 更多信息,请参考[用户文档](/password-management.md#密码重用策略) + +* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) + + TiDB 启用密码连续错误限制登录策略功能后,当用户登录时密码连续多次错误,此时该账户将被临时锁定,达到锁定时间后将自动解锁。 + + 更多信息,请参考[用户文档](/password-management.md#密码连续错误限制登录策略) ### 可观测性 @@ -321,4 +342,4 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID](链接) \ No newline at end of file +- [贡献者 GitHub ID](链接) From 83881bcbf06846109edd8224432738177cdd7f61 Mon Sep 17 00:00:00 2001 From: long0712 <87366891+ljun0712@users.noreply.github.com> Date: Thu, 1 Dec 2022 01:34:11 +0800 Subject: [PATCH 021/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 117aec4bf8d7..e816a8d04db7 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -223,7 +223,17 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| | [`tidb_cost_model_version`](/system-variables.md#tidbcostmodelversion-span-classversion-mark从-v620-版本开始引入span) | 修改 | 优化器模型 V2 GA, 变量默认值改为`2`。 | -| | | | +| [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | +| [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | +| [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | +| [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON` | +| [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,密码字典功能,设置的用户密码不允许包含字典中的单词。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 设置为 `2` (STRONG) 时,该变量才生效。默认值为空 | +| [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的开关,设置为 `ON` 后,TiDB 才进行密码复杂度检查。默认值为 `OFF` | +| [`validate_password.length`](/system-variables.md#validate_passwordlength-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码最小长度。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 8 | +| [`validate_password.mixed_case_count`](/system-variables.md#validate_passwordmixed_case_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中大写字符和小写字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | +| [`validate_password.number_count`](/system-variables.md#validate_passwordnumber_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中数字字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | +| [`validate_password.policy`](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的强度,强度等级分为 `[0, 1, 2]` 。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 1 | +| [`validate_password.special_char_count`](/system-variables.md#validate_passwordspecial_char_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中特殊字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | | | | | | | | | @@ -231,7 +241,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| | | | | +| TiDB | [`disconnect_on_expired_password`](/tidb-configuration-file.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | | | | | | | | | | | | | | | | From 963f6e7afd5fb995c9271d5f410494049af48a60 Mon Sep 17 00:00:00 2001 From: haojinming Date: Thu, 1 Dec 2022 11:34:57 +0800 Subject: [PATCH 022/161] add tikv-br release note Signed-off-by: haojinming --- releases/release-6.5.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e816a8d04db7..3530932f8a72 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -216,6 +216,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +### 备份和恢复 + +* TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) +功能描述:TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 + 功能简介:TiKV-BR 是一个 TiKV 集群的备份和恢复工具。 + 功能价值: TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据, 以实现 TiKV 集群 [`api-version`](https://docs.pingcap.com/zh/tidb/v6.4/tikv-configuration-file#api-version-%E4%BB%8E-v610-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 的升级。 + 如何使用:参考用户文档 + 更多信息,请参考[用户文档]( https://tikv.org/docs/dev/concepts/explore-tikv-features/backup-restore/ )。 + ## 兼容性变更 ### 系统变量 From f9dcf36c2c1a8fc0e3487306a90bbd8a3dbe357e Mon Sep 17 00:00:00 2001 From: Roger Song Date: Thu, 1 Dec 2022 14:58:10 +0800 Subject: [PATCH 023/161] Syntax updates 1. update the syntax of JSON explain 2. emphasis new cost model could introduce plan change. --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 3530932f8a72..288043ba7584 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -111,7 +111,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 优化器代价模型 V2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) - TiDB v6.2.0 引入了新的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),通过更准确的代价估算方式,更加有利于选到最优执行计划,尤其在部署了 TiFlash 的情况下,新的代价模型自动选择合理的存储引擎,避免过多的人工介入。 经过一段时间真实场景在测试,这个模型在 v6.5.0 正式 GA,新创建的集群将默认使用新代价模型。 对于升级到 v6.5.0 的用户,经过充分的性能测试之后,可以通过变量 [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 切换到新的代价模型。 + TiDB v6.2.0 引入了新的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),通过更准确的代价估算方式,更加有利于选到最优执行计划,尤其在部署了 TiFlash 的情况下,新的代价模型自动选择合理的存储引擎,避免过多的人工介入。 经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA,新创建的集群将默认使用新代价模型。 对于升级到 v6.5.0 的用户, 由于新的代价模型可能会改变原有的执行计划,在经过充分的性能测试之后,可以通过变量 [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 切换到新的代价模型。 优化器代价模型 V2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 @@ -149,7 +149,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 执行计划支持 JSON 格式的打印 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) - 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = json ` 能够将 SQL 的执行计划以 JSON 格式输出。 借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 + 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。 借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain.md)。 From 56ed63ccc63c4dba8ba0cc89b6b3c59047eeda44 Mon Sep 17 00:00:00 2001 From: long0712 <87366891+ljun0712@users.noreply.github.com> Date: Thu, 1 Dec 2022 15:54:25 +0800 Subject: [PATCH 024/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 288043ba7584..95f25920557a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -233,6 +233,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 |--------|------------------------------|------| | [`tidb_cost_model_version`](/system-variables.md#tidbcostmodelversion-span-classversion-mark从-v620-版本开始引入span) | 修改 | 优化器模型 V2 GA, 变量默认值改为`2`。 | | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | +| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 用来显示 TiDB 是否会直接断开密码已过期用户的连接 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON` | @@ -250,7 +251,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| TiDB | [`disconnect_on_expired_password`](/tidb-configuration-file.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | +| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | | | | | | | | | | | | | | | | From f8dfc1214c83b72f5b2c27f5c72be9ae98474985 Mon Sep 17 00:00:00 2001 From: long0712 <87366891+ljun0712@users.noreply.github.com> Date: Thu, 1 Dec 2022 16:29:46 +0800 Subject: [PATCH 025/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 95f25920557a..eb1d24411d28 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -233,7 +233,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 |--------|------------------------------|------| | [`tidb_cost_model_version`](/system-variables.md#tidbcostmodelversion-span-classversion-mark从-v620-版本开始引入span) | 修改 | 优化器模型 V2 GA, 变量默认值改为`2`。 | | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | -| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 用来显示 TiDB 是否会直接断开密码已过期用户的连接 | +| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON` | From 2bb3e4abb289d10d858633e5ef4f96e5cbbc9f4a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 1 Dec 2022 22:48:40 +0800 Subject: [PATCH 026/161] Apply suggestions from code review Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> Co-authored-by: Ian Co-authored-by: Aolin --- releases/release-6.5.0.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index eb1d24411d28..45046a831664 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -29,6 +29,20 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +* 添加索引的性能提升 10 倍 [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) + + TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)功能提升创建索引回填过程的速度,v6.5.0 版本该功能正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 + +* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) + + TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)特性通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误,v6.5.0 版本该功能正式 GA 并默认打开,适用于各类 DDL 变更场景。 + +* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) + + TiDB v6.4.0 引入 `FLASHBACK CLUSTER TO TIMESTAMP` 语句支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点,v6.5.0 版本该功能正式 GA,适用于快速撤消 DML 误操作,支持集群分钟级别的快速回退,支持在允许时间段内反复回退,并兼容 PITR 和 TiCDC 等工具。 + + 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 + * TiFlash 支持 `INSERT SELECT` 语句 [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: @@ -202,7 +216,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据共享与订阅 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) +* TiCDC 支持输出 storage sink [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) + + TiCDC 支持将 changed log 输出到 S3/Azure Blob Storage/NFS,以及兼容 S3 协议的存储服务中。Cloud Storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。 TiCDC 将 changed log 保存到文件,然后发送到 storage 中;消费程序定时从 storage 读取新产生的 changed log files 进行处理。 + + Storage sink 支持 changed log 格式位 canal-json/csv,此外 changed log 从 TiCDC 同步到 storage 的延迟可以达到 xx,支持更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12151/files)。 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) @@ -231,7 +249,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_cost_model_version`](/system-variables.md#tidbcostmodelversion-span-classversion-mark从-v620-版本开始引入span) | 修改 | 优化器模型 V2 GA, 变量默认值改为`2`。 | +| [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | +| [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | +| [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | @@ -259,6 +279,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 其他 ## 废弃功能 +即将于 v6.6.0 版本废弃 v4.0.7 版本引入的 Amending Transaction 机制,并使用[元数据锁](/metadata-lock.md) 替代。 + ## 改进提升 From 4fb7affa8aeccc027a729c9de8b4bcb1abf9a25a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 1 Dec 2022 22:48:58 +0800 Subject: [PATCH 027/161] Update releases/release-6.5.0.md Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-6.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 45046a831664..71b3ff7f8376 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -17,7 +17,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 优化器代价模型 V2 GA - 全局 hint 干预视图内查询的计划生成 - 满足密码合规审计需求 [密码管理](/password-management.md) -- ...... +- TiDB 添加索引的速度提升为原来的 10 倍 +- Flashback Cluster 功能兼容 TiCDC 和 PiTR ## 新功能 From b442c91efe11726ad6f8ba852f084ab123919456 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 1 Dec 2022 22:50:13 +0800 Subject: [PATCH 028/161] Apply suggestions from code review Co-authored-by: Ian --- releases/release-6.5.0.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 71b3ff7f8376..4e90614e4217 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -229,7 +229,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 部署及运维 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) +* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) + + TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的的网络故障。 + + 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12075)。 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) From 44829ebc37057b81caab4626010d11aac8d28d25 Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 1 Dec 2022 23:53:45 +0800 Subject: [PATCH 029/161] format updates --- releases/release-6.5.0.md | 148 +++++++++++++++----------------------- 1 file changed, 59 insertions(+), 89 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 4e90614e4217..fd20f1dd45cd 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -18,68 +18,64 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 全局 hint 干预视图内查询的计划生成 - 满足密码合规审计需求 [密码管理](/password-management.md) - TiDB 添加索引的速度提升为原来的 10 倍 -- Flashback Cluster 功能兼容 TiCDC 和 PiTR +- Flashback Cluster 功能兼容 TiCDC 和 PiTR ## 新功能 ### SQL -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -* 添加索引的性能提升 10 倍 [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) +* 添加索引的性能提升 10 倍 [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) **tw@Oreoxmt** TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)功能提升创建索引回填过程的速度,v6.5.0 版本该功能正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 - -* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) + +* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) **tw@Oreoxmt** TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)特性通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误,v6.5.0 版本该功能正式 GA 并默认打开,适用于各类 DDL 变更场景。 - -* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) + +* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) **tw@Oreoxmt** TiDB v6.4.0 引入 `FLASHBACK CLUSTER TO TIMESTAMP` 语句支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点,v6.5.0 版本该功能正式 GA,适用于快速撤消 DML 误操作,支持集群分钟级别的快速回退,支持在允许时间段内反复回退,并兼容 PITR 和 TiCDC 等工具。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 -* TiFlash 支持 `INSERT SELECT` 语句 [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) +* TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: + ```sql insert into t2 select mod(x,y) from t1; ``` - 用户可以方便地保存(物化)TiFlash 的计算结果以供下游步骤使用,可以起到结果缓存(物化)的效果。适用于以下场景:使用 TiFlash 做复杂分析,需重复使用计算结果或响应高并发的在线请求,计算性质本身聚合性好(相对输入数据,计算得出的结果集比较小,推荐 100MB 以内)。作为写入对象的 结果表本身没有特别限制,可以任意选择是否添加 TiFlash 副本。(实验功能) + + 用户可以方便地保存(物化)TiFlash 的计算结果以供下游步骤使用,可以起到结果缓存(物化)的效果。适用于以下场景:使用 TiFlash 做复杂分析,需重复使用计算结果或响应高并发的在线请求,计算性质本身聚合性好(相对输入数据,计算得出的结果集比较小,推荐 100MB 以内)。作为写入对象的 结果表本身没有特别限制,可以任意选择是否添加 TiFlash 副本。 + 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 ### 安全 -* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) +* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** TiDB 启用密码复杂度策略功能后,在为用户设置密码时,会检查密码长度、大写/小写字符个数、数字字符个数、特殊字符个数、密码字典、是否与用户名相同,以此确保为用户设置一个安全的密码。 - + TiDB 支持密码强度检查函数 `VALIDATE_PASSWORD_STRENGTH()`,用于判定一个给定密码的强度。 - + 更多信息,请参考[用户文档](/password-management.md#密码复杂度策略)。 - -* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) +* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** TiDB 支持密码过期策略,包括:手动密码过期、全局级别自动密码过期、账户级别自动密码过期。启用密码过期策略功能后,用户必须定期修改密码,防止密码长期使用带来的泄露风险,提高密码安全性。 - + 更多信息,请参考[用户文档](/password-management.md#密码过期策略) -* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) +* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) **tw@ran-huang** TiDB 支持密码重用策略,包括:全局级别密码重用策略、账户级别密码重用策略。启用密码重用策略功能后,用户不允许使用最近一段时间使用过的密码,不允许使用最近几次使用过的密码,以此降低密码的重复使用带来的泄漏风险,提高密码安全性。 - + 更多信息,请参考[用户文档](/password-management.md#密码重用策略) -* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) +* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) **tw@ran-huang** TiDB 启用密码连续错误限制登录策略功能后,当用户登录时密码连续多次错误,此时该账户将被临时锁定,达到锁定时间后将自动解锁。 - + 更多信息,请参考[用户文档](/password-management.md#密码连续错误限制登录策略) ### 可观测性 @@ -92,43 +88,39 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 性能 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 +* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** -* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) + 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 - 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) + 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) -* 新增支持下推[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) +* 新增支持下推[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** * `->` * `->>` * `JSON_EXTRACT()` -* 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) +* 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `regexp_like` * `regexp_instr` * `regexp_substr` -* 新增全局 hint 干预[视图](/develop/dev-guide-use-views.md)内查询的计划生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) +* 新增全局 hint 干预[视图](/develop/dev-guide-use-views.md)内查询的计划生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) **tw@Oreoxmt** [视图](/develop/dev-guide-use-views.md)是数据库常见的建模方式。 当 SQL 语句中包含对视图的访问时,部分情况下需要用 hint 对视图内查询的执行计划进行干预,以获得最佳性能。 在 v6.5.0 中, TiDB 允许针对视图内的查询块添加全局 hint 。 全局 hint 由 “查询块命名” 和 “ hint 引用” 两部分组成,为包含复杂视图嵌套的 SQL 提供 hint 的注入手段, 增强了执行计划控制能力, 进而稳定复杂 SQL 的执行性能。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 -* [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) +* [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** + + [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 - [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 - -* 优化器代价模型 V2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) +* 优化器代价模型 V2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** - TiDB v6.2.0 引入了新的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),通过更准确的代价估算方式,更加有利于选到最优执行计划,尤其在部署了 TiFlash 的情况下,新的代价模型自动选择合理的存储引擎,避免过多的人工介入。 经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA,新创建的集群将默认使用新代价模型。 对于升级到 v6.5.0 的用户, 由于新的代价模型可能会改变原有的执行计划,在经过充分的性能测试之后,可以通过变量 [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 切换到新的代价模型。 + TiDB v6.2.0 引入了新的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),通过更准确的代价估算方式,更加有利于选到最优执行计划,尤其在部署了 TiFlash 的情况下,新的代价模型自动选择合理的存储引擎,避免过多的人工介入。 经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA,新创建的集群将默认使用新代价模型。 对于升级到 v6.5.0 的用户, 由于新的代价模型可能会改变原有的执行计划,在经过充分的性能测试之后,可以通过变量 [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 切换到新的代价模型。 - 优化器代价模型 V2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 + 优化器代价模型 V2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 @@ -150,19 +142,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 易用性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -* 完善 EXPLAIN ANALYZE 输出的 TiFlash 的 TableFullScan 算子的统计信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) +* 完善 EXPLAIN ANALYZE 输出的 TiFlash 的 TableFullScan 算子的统计信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** [`EXPLAIN ANALYZE`] 语句可以输出执行计划及运行时的统计信息。现有版本的统计信息中,TiFlash 的 TableFullScan 算子统计信息不完善。v6.5.0 版本对 TableFullScan 算子的统计信息进行完善,补充了 dmfile 相关的执行信息,可以更加清晰的展示 TiFlash 的数据扫描状态信息,方便进行性能分析。 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 -* 执行计划支持 JSON 格式的打印 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) +* 执行计划支持 JSON 格式的打印 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。 借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 @@ -178,74 +164,58 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据迁移 -* 支持导出和导入压缩后的 CSV、SQL 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) +* 支持导出和导入压缩后的 CSV、SQL 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) **tw@hfxsd** + + Dumpling 支持将数据导出为 SQL、CSV 的压缩文件,支持 gzip/snappy/zstd 三种压缩格式。Lightning 支持导入压缩后的 SQL、CSV 文件,支持gzip/snappy/zstd 三种压缩格式。 + + 之前用户导出数据或者导入数据都需要提供较大的存储空间,用于存储导出或者即将导入的非压缩后的 csv 、sql文件,导致存储成本增加。该功能发布后,通过压缩存储空间,可以大大降低用户的存储成本。 -功能描述:支持导出和导入压缩后的 CSV 文件 - 功能简介:Dumpling 支持将数据导出为 SQL、CSV 的压缩文件,支持 gzip/snappy/zstd 三种压缩格式。Lightning 支持导入压缩后的 SQL、CSV 文件,支持gzip/snappy/zstd 三种压缩格式。 - 功能价值:之前用户导出数据或者导入数据都需要提供较大的存储空间,用于存储导出或者即将导入的非压缩后的 csv 、sql文件,导致存储成本增加。该功能发布后,通过压缩存储空间,可以大大降低用户的存储成本。 - 如何使用:参考用户文档 更多信息,请参考[用户文档](https://github.com/pingcap/tidb/issues/38514)。 +* 优化了 binlog 解析能力 [#无](无) @[gmhdbjd](https://github.com/GMHDBJD) **tw@hfxsd** -* 优化了 binlog 解析能力 [#无](无) @[gmhdbjd](https://github.com/GMHDBJD) + 可将不在迁移任务里的库、表对象的 binlog event 过滤掉不做解析,从而提升解析效率和稳定性。该策略在 6.5 版本默认生效,用户无需额外操作。 -功能描述:优化了 binlog 解析能力 - 功能简介: 可将不在迁移任务里的库、表对象的 binlog event 过滤掉不做解析,从而提升解析效率和稳定性。 - 功能价值: 原先用户仅迁移少数几张表,也需要解析上游整个 binlog 文件,即仍需要解析该 binlog 文件中不需要迁移的表的 binlog event,效率会比较低,同时如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。通过只解析在迁移任务里的库表对象的 binlog event 可以大大提升 binlog 解析效率,提升任务稳定性。 - 如何使用:该策略在 6.5 版本默认生效,用户不感知。 + 原先用户仅迁移少数几张表,也需要解析上游整个 binlog 文件,即仍需要解析该 binlog 文件中不需要迁移的表的 binlog event,效率会比较低,同时如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。通过只解析在迁移任务里的库表对象的 binlog event 可以大大提升 binlog 解析效率,提升任务稳定性。 -* Lightning 支持 disk quota 特性 GA,可避免 Lightning 任务写满本地磁盘 [#无](无) @[buchuitoudegou](https://github.com/buchuitoudegou) -功能描述:Lightning 支持 disk quota 特性 GA,可避免写 Lightning 任务满本地磁盘 - 功能简介:你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV,TiDB Lightning 删除本地临时文件后,再继续导入过程。 - 功能价值: 没有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。 - 如何使用:参考用户文档 - 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/tidb-lightning-physical-import-mode-usage#configure-disk-quota-new-in-v620)。 +* Lightning 支持 disk quota 特性 GA,可避免 Lightning 任务写满本地磁盘 [#无](无) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** + 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV,TiDB Lightning 删除本地临时文件后,再继续导入过程。 -* GA DM 增量数据校验的功能 [#4426](https://github.com/pingcap/tiflow/issues/4426) @[[D3Hunter](https://github.com/D3Hunter) -功能描述: GA DM 增量数据校验的功能 - 功能简介: 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖于强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的,因为上下游的数据在不断变化,导致用户难以对表里面的全部数据进行一致性校验。 - 功能价值: 过去,需要中断业务,做全量数据校验,会影响用户业务。现在推出该功能后,在一些不可中断的业务场景,无需中断业务,通过该功能就可以实现增量数据校验。 - 如何使用:参考用户文档 - 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/dm-continuous-data-validation)。 + 有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/tidb-lightning-physical-import-mode-usage#configure-disk-quota-new-in-v620)。 - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) +* GA DM 增量数据校验的功能 [#4426](https://github.com/pingcap/tiflow/issues/4426) @[[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** - 更多信息,请参考[用户文档](链接)。 + 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖于强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的,因为上下游的数据在不断变化,导致用户难以对表里面的全部数据进行一致性校验。 + + 过去,需要中断业务,做全量数据校验,会影响用户业务。现在推出该功能后,在一些不可中断的业务场景,无需中断业务,通过该功能就可以实现增量数据校验。 + + 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/dm-continuous-data-validation)。 ### 数据共享与订阅 -* TiCDC 支持输出 storage sink [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) +* TiCDC 支持输出 storage sink [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** TiCDC 支持将 changed log 输出到 S3/Azure Blob Storage/NFS,以及兼容 S3 协议的存储服务中。Cloud Storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。 TiCDC 将 changed log 保存到文件,然后发送到 storage 中;消费程序定时从 storage 读取新产生的 changed log files 进行处理。 Storage sink 支持 changed log 格式位 canal-json/csv,此外 changed log 从 TiCDC 同步到 storage 的延迟可以达到 xx,支持更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12151/files)。 - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 部署及运维 -* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) +* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) **tw@shichun-0415** - TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的的网络故障。 + TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的的网络故障。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12075)。 - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) +### 备份和恢复 - 更多信息,请参考[用户文档](链接)。 +* TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** -### 备份和恢复 + TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据, 以实现 TiKV 集群 [`api-version`](https://docs.pingcap.com/zh/tidb/v6.4/tikv-configuration-file#api-version-%E4%BB%8E-v610-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 的升级。 -* TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) -功能描述:TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 - 功能简介:TiKV-BR 是一个 TiKV 集群的备份和恢复工具。 - 功能价值: TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据, 以实现 TiKV 集群 [`api-version`](https://docs.pingcap.com/zh/tidb/v6.4/tikv-configuration-file#api-version-%E4%BB%8E-v610-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 的升级。 - 如何使用:参考用户文档 更多信息,请参考[用户文档]( https://tikv.org/docs/dev/concepts/explore-tikv-features/backup-restore/ )。 ## 兼容性变更 @@ -284,8 +254,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 其他 ## 废弃功能 -即将于 v6.6.0 版本废弃 v4.0.7 版本引入的 Amending Transaction 机制,并使用[元数据锁](/metadata-lock.md) 替代。 +即将于 v6.6.0 版本废弃 v4.0.7 版本引入的 Amending Transaction 机制,并使用[元数据锁](/metadata-lock.md) 替代。 ## 改进提升 From 09b91a29311e0216d2defd785ff8c22fb8003e0f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 2 Dec 2022 11:35:30 +0800 Subject: [PATCH 030/161] Update releases/release-6.5.0.md Co-authored-by: Lux --- releases/release-6.5.0.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index fd20f1dd45cd..5eb6ecddca9a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -80,11 +80,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 可观测性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) +* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) - 更多信息,请参考[用户文档](链接)。 + TiDB v6.5.0 且 TiDB Operator v1.4.0 之后,在 Kubernetes 上支持将 TiDB Dashboard 作为独立的 Pod 部署。在 TiDB Operator 环境,可直接访问该 Pod 的 IP 来打开 TiDB Dashboard。 + + 独立部署 TiDB Dashboard 后,用户将获得这些收益:1. 该组件的计算将不会再对 PD 节点有压力,更好的保障集群运行;2. 如果 PD 节点因异常不可访问,也还可以继续使用 Dashboard 进行集群诊断;3. 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 + + 具体信息,参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard) ### 性能 From d6a96fbbeab3935390dcafcaaa014b1651edfeac Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 2 Dec 2022 13:32:36 +0800 Subject: [PATCH 031/161] Apply suggestions from code review Co-authored-by: Ian --- releases/release-6.5.0.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5eb6ecddca9a..5aed8bf5b452 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -80,7 +80,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 可观测性 -* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) +* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) **tw@shichun-0415 TiDB v6.5.0 且 TiDB Operator v1.4.0 之后,在 Kubernetes 上支持将 TiDB Dashboard 作为独立的 Pod 部署。在 TiDB Operator 环境,可直接访问该 Pod 的 IP 来打开 TiDB Dashboard。 @@ -204,15 +204,28 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Storage sink 支持 changed log 格式位 canal-json/csv,此外 changed log 从 TiCDC 同步到 storage 的延迟可以达到 xx,支持更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12151/files)。 +* TiCDC 性能提升 **tw@shichun-0415 + + 在 TiDB 场景测试验证中, TiCDC 的性能得到了比较大提升,单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s,即使在常规的 TiKV/TiCDC 滚动升级场景同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Sync point 后,吞吐 xx rows/s 时,容灾复制延迟可以保持在 x s。 ### 部署及运维 -* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) **tw@shichun-0415** +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 备份和恢复 + +* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) **tw@shichun-0415 TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的的网络故障。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12075)。 -### 备份和恢复 +* PITR 性能大幅提升提升 **tw@shichun-0415 + + PITR 恢复的日志恢复阶单台 TiKV 的恢复速度可以达到 xx MB/s,提升了 x 倍,恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 目标。 * TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** From 8f07d4bb14a033ea01797665ac6f5c03c7ab2f96 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 2 Dec 2022 19:26:08 +0800 Subject: [PATCH 032/161] Apply suggestions from code review Co-authored-by: Feng Liyuan --- releases/release-6.5.0.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5aed8bf5b452..7727cb37bdb8 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -38,6 +38,18 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 +* 完整支持非事务 DML 语句。其中包括非事务 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE`。[#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) + + 在大批量的数据处理场景,单一大事务 SQL 处理有可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。 + 其中非事务 `DELETE` 在 v6.1.0 已经支持,非事务 `INSERT`、`REPLACE` 和 `UPDATE` 在 v6.5.0 支持。 + + 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statemetn-batch.md)。 + +* 支持 Time to live (TTL)(实验特性)。 + + TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 + + 更多信息请参考[Time to live(TTL)](/ttl.md) * TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: @@ -207,6 +219,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 性能提升 **tw@shichun-0415 在 TiDB 场景测试验证中, TiCDC 的性能得到了比较大提升,单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s,即使在常规的 TiKV/TiCDC 滚动升级场景同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Sync point 后,吞吐 xx rows/s 时,容灾复制延迟可以保持在 x s。 + ### 部署及运维 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From f099b61c1a7de74c876247de0acb28a163673d32 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 5 Dec 2022 10:33:32 +0800 Subject: [PATCH 033/161] Update releases/release-6.5.0.md Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-6.5.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7727cb37bdb8..6bf6725b9221 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -248,6 +248,14 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ## 兼容性变更 +* 支持高性能、全局单调递增的 AUTO_INCREMENT 列属性 [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** + + TiDB v6.4.0 引入了 AUTO_INCREMENT 的 MySQL 兼容模式,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增,v6.5.0 版本该功能正式 GA,使用该兼容模式的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。使用该特性能够更容易地实现查询结果按自增 ID 排序。要使用 MySQL 兼容模式,你需要在建表时将 AUTO_ID_CACHE 设置为 1。 +` +CREATE TABLE t(a int AUTO_INCREMENT key) AUTO_ID_CACHE 1; +` +更多信息,请参考[用户文档](/auto-increment.md#mysql-兼容模式)。 + ### 系统变量 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | From 607f18de010425c6cb97b2997cd1bf8d91e60606 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 5 Dec 2022 10:36:37 +0800 Subject: [PATCH 034/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 6bf6725b9221..69348b1d3e7b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -44,11 +44,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 其中非事务 `DELETE` 在 v6.1.0 已经支持,非事务 `INSERT`、`REPLACE` 和 `UPDATE` 在 v6.5.0 支持。 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statemetn-batch.md)。 - + * 支持 Time to live (TTL)(实验特性)。 TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 - + 更多信息请参考[Time to live(TTL)](/ttl.md) * TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** @@ -95,9 +95,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) **tw@shichun-0415 TiDB v6.5.0 且 TiDB Operator v1.4.0 之后,在 Kubernetes 上支持将 TiDB Dashboard 作为独立的 Pod 部署。在 TiDB Operator 环境,可直接访问该 Pod 的 IP 来打开 TiDB Dashboard。 - + 独立部署 TiDB Dashboard 后,用户将获得这些收益:1. 该组件的计算将不会再对 PD 节点有压力,更好的保障集群运行;2. 如果 PD 节点因异常不可访问,也还可以继续使用 Dashboard 进行集群诊断;3. 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 - + 具体信息,参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard) ### 性能 @@ -170,11 +170,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### MySQL 兼容性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) +* 支持高性能、全局单调递增的 AUTO_INCREMENT 列属性 [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + TiDB v6.4.0 引入了 AUTO_INCREMENT 的 MySQL 兼容模式,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增,v6.5.0 版本该功能正式 GA,使用该兼容模式的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。使用该特性能够更容易地实现查询结果按自增 ID 排序。要使用 MySQL 兼容模式,你需要在建表时将 AUTO_ID_CACHE 设置为 1。 - 更多信息,请参考[用户文档](链接)。 + ```sql + CREATE TABLE t(a int AUTO_INCREMENT key) AUTO_ID_CACHE 1; + ``` + + 更多信息,请参考[用户文档](/auto-increment.md#mysql-兼容模式)。 ### 数据迁移 @@ -237,7 +241,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12075)。 * PITR 性能大幅提升提升 **tw@shichun-0415 - + PITR 恢复的日志恢复阶单台 TiKV 的恢复速度可以达到 xx MB/s,提升了 x 倍,恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 目标。 * TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** @@ -248,14 +252,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ## 兼容性变更 -* 支持高性能、全局单调递增的 AUTO_INCREMENT 列属性 [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** - - TiDB v6.4.0 引入了 AUTO_INCREMENT 的 MySQL 兼容模式,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增,v6.5.0 版本该功能正式 GA,使用该兼容模式的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。使用该特性能够更容易地实现查询结果按自增 ID 排序。要使用 MySQL 兼容模式,你需要在建表时将 AUTO_ID_CACHE 设置为 1。 -` -CREATE TABLE t(a int AUTO_INCREMENT key) AUTO_ID_CACHE 1; -` -更多信息,请参考[用户文档](/auto-increment.md#mysql-兼容模式)。 - ### 系统变量 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | From 9469fdd3ae53517202d4a8c47f1926e1df25b6d6 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 5 Dec 2022 10:41:25 +0800 Subject: [PATCH 035/161] format updates --- releases/release-6.5.0.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 69348b1d3e7b..1fc759cc5cc3 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -38,18 +38,19 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 -* 完整支持非事务 DML 语句。其中包括非事务 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE`。[#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) +* 完整支持非事务 DML 语句。其中包括非事务 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE`。[#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) **tw@ran-huang** 在大批量的数据处理场景,单一大事务 SQL 处理有可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。 其中非事务 `DELETE` 在 v6.1.0 已经支持,非事务 `INSERT`、`REPLACE` 和 `UPDATE` 在 v6.5.0 支持。 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statemetn-batch.md)。 -* 支持 Time to live (TTL)(实验特性)。 +* 支持 Time to live (TTL)(实验特性)**tw@ran-huang** TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 更多信息请参考[Time to live(TTL)](/ttl.md) + * TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: From a4b8d6f64021c92904f2459e281ab5d50d882f04 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Mon, 5 Dec 2022 15:13:15 +0800 Subject: [PATCH 036/161] FD-987 global mem control GA. Recommendation to remove txn-total-size-limit. --- releases/release-6.5.0.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 1fc759cc5cc3..13cb6f0239ef 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -155,6 +155,16 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 +* TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) + + 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或停止会话等手段限制内存使用,保证 TiDB 的稳定性。 + + 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即停止会话)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被停掉。 + + 对于运行 v6.5.0 及以上版本的客户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而由系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 + + 更多信息,请参考[用户文档](/configure-memory-usage.md)。 + ### 易用性 * 完善 EXPLAIN ANALYZE 输出的 TiFlash 的 TableFullScan 算子的统计信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** From b5826b7608cc59822aa9501d6666fddfedf6dced Mon Sep 17 00:00:00 2001 From: Roger Song Date: Mon, 5 Dec 2022 15:30:48 +0800 Subject: [PATCH 037/161] FD-1131 --- releases/release-6.5.0.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 13cb6f0239ef..ad117ba782dc 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -139,6 +139,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 +* TiFlash 对获取表行数的操作进行针对优化 [#37165](https://github.com/pingcap/tidb/issues/37165) @[elsa0520](https://github.com/elsa0520) + + 在数据分析的场景中,通过无过滤条件的 `count(*)` 获取表的实际行数是一个常见操作。 TiFlash 在新版本中优化了 `count(*)` 的改写,自动选择带有“非空”属性的数据类型最短的列进行计数, 可以有效降低 TiFlash 上发生的 I/O 数量,进而提升获取表行数的执行效率。 + + ### 事务 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From b557e375287fd0e692da97cc6601bd89dc5b4d83 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Mon, 5 Dec 2022 15:35:05 +0800 Subject: [PATCH 038/161] Put 2 features into key features --- releases/release-6.5.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index ad117ba782dc..f9e7cb564786 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -15,10 +15,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: - 优化器代价模型 V2 GA +- TiDB 全局内存控制 GA - 全局 hint 干预视图内查询的计划生成 - 满足密码合规审计需求 [密码管理](/password-management.md) - TiDB 添加索引的速度提升为原来的 10 倍 - Flashback Cluster 功能兼容 TiCDC 和 PiTR +- JSON 抽取函数下推至 TiFlash ## 新功能 From 6dbd0c9a35bfcca201b934c241873337471ec076 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 5 Dec 2022 16:09:30 +0800 Subject: [PATCH 039/161] Apply suggestions from code review --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index f9e7cb564786..1578aced744c 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -40,7 +40,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 -* 完整支持非事务 DML 语句。其中包括非事务 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE`。[#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) **tw@ran-huang** +* 完整支持非事务 DML 语句。其中包括非事务 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE`。[#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) **tw@Oreoxmt** 在大批量的数据处理场景,单一大事务 SQL 处理有可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。 其中非事务 `DELETE` 在 v6.1.0 已经支持,非事务 `INSERT`、`REPLACE` 和 `UPDATE` 在 v6.5.0 支持。 From 1b0df1e16777e5afdad84276a2b985122bac7c70 Mon Sep 17 00:00:00 2001 From: Flowyi Date: Mon, 5 Dec 2022 18:58:57 +0800 Subject: [PATCH 040/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 1578aced744c..efe33f2ed881 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -375,7 +375,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 TiFlash 重启不能正确合并小文件的问题 [#6159](https://github.com/pingcap/tiflash/issues/6159) @[lidezhu](https://github.com/lidezhu) + - 修复 TiFlash Open File OPS 过高的问题 [#6345](https://github.com/pingcap/tiflash/issues/6345) @[JaySon-Huang](https://github.com/JaySon-Huang) - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools From 9f46e60326c35841a8f319d58e199dc9744e6b7c Mon Sep 17 00:00:00 2001 From: Flowyi Date: Mon, 5 Dec 2022 18:59:23 +0800 Subject: [PATCH 041/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index efe33f2ed881..f9364fa058f2 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -326,7 +326,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 提升了 TiFlash 在 SQL 端没有攒批的场景的写入性能 [#6404](https://github.com/pingcap/tiflash/issues/6404) @[lidezhu](https://github.com/lidezhu) + - 增加了 TableFullScan 的输出信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools From 51e025b5bf042ae60482666730fd66a6d543097e Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 6 Dec 2022 10:30:07 +0800 Subject: [PATCH 042/161] modify note for json function pushdown --- releases/release-6.5.0.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index f9e7cb564786..e57375f73662 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -117,6 +117,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` + TiDB 通过将函数下推至 TiFlash 加速分析计算。JSON 数据类型非常灵活,常用于快速发展的行业,如 WEB3 等。支持下推 JSON 函数至 TiFlash 可以更好的满足此类业务需求。 + + TiDB 将继续完善,支持更多的 JSON 函数下推至 TiFlash。 + * 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `regexp_like` From b46a479a8b00cc917cfbab13c7444b477b130c71 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 6 Dec 2022 11:59:58 +0800 Subject: [PATCH 043/161] refine note: - add index acceleration GA - metadata lock GA - flashback cluster GA - support full non-transactional DML - global hint - cost model version 2 GA - auto-increment MySQL mode GA Signed-off-by: Aolin --- releases/release-6.5.0.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 8e5abdcb5b33..cf9224b6d090 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -26,26 +26,27 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### SQL -* 添加索引的性能提升 10 倍 [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) **tw@Oreoxmt** +* TiDB 添加索引的性能提升为原来的 10 倍 [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) **tw@Oreoxmt** - TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)功能提升创建索引回填过程的速度,v6.5.0 版本该功能正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 + TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)作为实验特性,提升了添加索引回填过程的速度。该功能在 v6.5.0 正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。添加索引加速适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 * 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) **tw@Oreoxmt** - TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)特性通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误,v6.5.0 版本该功能正式 GA 并默认打开,适用于各类 DDL 变更场景。 + TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。 + + 更多信息,请参考[用户文档](/metadata-lock.md)。 * 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) **tw@Oreoxmt** - TiDB v6.4.0 引入 `FLASHBACK CLUSTER TO TIMESTAMP` 语句支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点,v6.5.0 版本该功能正式 GA,适用于快速撤消 DML 误操作,支持集群分钟级别的快速回退,支持在允许时间段内反复回退,并兼容 PITR 和 TiCDC 等工具。 + TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并兼容 PITR 和 TiCDC 等工具。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 -* 完整支持非事务 DML 语句。其中包括非事务 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE`。[#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) **tw@Oreoxmt** +* 完整支持包含 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE` 的非事务 DML 语句 [#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) **tw@Oreoxmt** - 在大批量的数据处理场景,单一大事务 SQL 处理有可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。 - 其中非事务 `DELETE` 在 v6.1.0 已经支持,非事务 `INSERT`、`REPLACE` 和 `UPDATE` 在 v6.5.0 支持。 + 在大批量的数据处理场景,单一大事务 SQL 处理可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个 SQL 语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。TiDB 从 v6.1.0 开始支持非事务 `DELETE` 语句,v6.5.0 新增对非事务 `INSERT`、`REPLACE` 和 `UPDATE` 语句的支持。 - 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statemetn-batch.md)。 + 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statement-batch.md)。 * 支持 Time to live (TTL)(实验特性)**tw@ran-huang** @@ -127,9 +128,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `regexp_instr` * `regexp_substr` -* 新增全局 hint 干预[视图](/develop/dev-guide-use-views.md)内查询的计划生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) **tw@Oreoxmt** +* 新增全局 Hint 干预[视图](/views.md)内查询的计划生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) **tw@Oreoxmt** - [视图](/develop/dev-guide-use-views.md)是数据库常见的建模方式。 当 SQL 语句中包含对视图的访问时,部分情况下需要用 hint 对视图内查询的执行计划进行干预,以获得最佳性能。 在 v6.5.0 中, TiDB 允许针对视图内的查询块添加全局 hint 。 全局 hint 由 “查询块命名” 和 “ hint 引用” 两部分组成,为包含复杂视图嵌套的 SQL 提供 hint 的注入手段, 增强了执行计划控制能力, 进而稳定复杂 SQL 的执行性能。 + 当 SQL 语句中包含对视图的访问时,部分情况下需要用 Hint 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。全局 Hint 由[查询块命名](/optimizer-hints.md#第-1-步使用-qb_name-hint-重命名视图内的查询块)和 [Hint 引用](/optimizer-hints.md#第-2-步添加实际需要的-hint)两部分组成。该特性为包含复杂视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 @@ -137,11 +138,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 -* 优化器代价模型 V2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 优化器代价模型 Cost Model Version 2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** - TiDB v6.2.0 引入了新的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),通过更准确的代价估算方式,更加有利于选到最优执行计划,尤其在部署了 TiFlash 的情况下,新的代价模型自动选择合理的存储引擎,避免过多的人工介入。 经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA,新创建的集群将默认使用新代价模型。 对于升级到 v6.5.0 的用户, 由于新的代价模型可能会改变原有的执行计划,在经过充分的性能测试之后,可以通过变量 [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 切换到新的代价模型。 + TiDB v6.2.0 引入了代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) 作为实验特性,通过更准确的代价估算方式,有利于最优执行计划的选择。尤其在部署了 TiFlash 的情况下,Cost Model Version 2 自动选择合理的存储引擎,避免过多的人工介入。经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA。新创建的集群将默认使用 Cost Model Version 2。对于升级到 v6.5.0 的集群,由于 Cost Model Version 2 可能会改变原有的执行计划,在经过充分的性能测试之后,你可以通过设置变量 [`tidb_cost_model_version = 2`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 使用新的代价模型。 - 优化器代价模型 V2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 + Cost Model Version 2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 @@ -192,9 +193,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### MySQL 兼容性 -* 支持高性能、全局单调递增的 AUTO_INCREMENT 列属性 [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** +* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** - TiDB v6.4.0 引入了 AUTO_INCREMENT 的 MySQL 兼容模式,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增,v6.5.0 版本该功能正式 GA,使用该兼容模式的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。使用该特性能够更容易地实现查询结果按自增 ID 排序。要使用 MySQL 兼容模式,你需要在建表时将 AUTO_ID_CACHE 设置为 1。 + TiDB v6.4.0 引入了 `AUTO_INCREMENT` 的 MySQL 兼容模式作为实验特性,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增。使用该特性能够更容易地实现查询结果按自增 ID 排序。该功能在 v6.5.0 正式 GA。使用该功能的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。要使用 MySQL 兼容模式,你需要在建表时将 `AUTO_ID_CACHE` 设置为 `1`。 ```sql CREATE TABLE t(a int AUTO_INCREMENT key) AUTO_ID_CACHE 1; From 4b9846b4052cfb3107d816746cf78f884bfe09f6 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Tue, 6 Dec 2022 15:19:04 +0800 Subject: [PATCH 044/161] address comment --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index cf9224b6d090..326461c90b32 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -169,9 +169,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) - 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或停止会话等手段限制内存使用,保证 TiDB 的稳定性。 + 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等手段限制内存使用,保证 TiDB 的稳定性。 - 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即停止会话)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被停掉。 + 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被取消。 对于运行 v6.5.0 及以上版本的客户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而由系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 From a110e3d45f0b2c11d3b7539b8d0ed931919877b2 Mon Sep 17 00:00:00 2001 From: Ran Date: Tue, 6 Dec 2022 19:36:56 +0800 Subject: [PATCH 045/161] add compatibility changes --- releases/release-6.5.0.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 326461c90b32..116f69663e64 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -148,7 +148,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiFlash 对获取表行数的操作进行针对优化 [#37165](https://github.com/pingcap/tidb/issues/37165) @[elsa0520](https://github.com/elsa0520) - 在数据分析的场景中,通过无过滤条件的 `count(*)` 获取表的实际行数是一个常见操作。 TiFlash 在新版本中优化了 `count(*)` 的改写,自动选择带有“非空”属性的数据类型最短的列进行计数, 可以有效降低 TiFlash 上发生的 I/O 数量,进而提升获取表行数的执行效率。 + 在数据分析的场景中,通过无过滤条件的 `count(*)` 获取表的实际行数是一个常见操作。 TiFlash 在新版本中优化了 `count(*)` 的改写,自动选择带有“非空”属性的数据类型最短的列进行计数, 可以有效降低 TiFlash 上发生的 I/O 数量,进而提升获取表行数的执行效率。 ### 事务 @@ -169,11 +169,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) - 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等手段限制内存使用,保证 TiDB 的稳定性。 + 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等手段限制内存使用,保证 TiDB 的稳定性。 - 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被取消。 - - 对于运行 v6.5.0 及以上版本的客户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而由系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 + 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被取消。 + + 对于运行 v6.5.0 及以上版本的客户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而由系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 更多信息,请参考[用户文档](/configure-memory-usage.md)。 @@ -283,9 +283,21 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | -| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接 | +| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | +| [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | +| [`tidb_source_id`](/system-variables.md#tidb_source_id-从-v650-版本开始引入) | 新增 | 设置在[双向复制](/ticdc/ticdc-bidirectional-replication.md)系统内不同集群的 ID。| +| [`tidb_ttl_delete_batch_size`](/system-variables.md#tidb_ttl_delete_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中单个删除事务中允许删除的最大行数。| +| [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用来对每个 TiDB 节点的 TTL 删除操作进行限流。其值代表了在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| +| [`tidb_ttl_delete_worker_count`](/system-variables.md#tidb_ttl_delete_worker_count-从-v650-版本开始引入) | 新增 | 这个变量用于设置每个 TiDB 节点上 TTL 删除任务的最大并发数。| +| [`tidb_ttl_job_enable`](/system-variables.md#tidb_ttl_job_enable-从-v650-版本开始引入) | 新增 | 这个变量用于控制是否启动 TTL 后台清理任务。如果设置为 `OFF`,所有具有 TTL 属性的表会自动停止清理过期数据。| +| [`tidb_ttl_job_run_interval`](/system-variables.md#tidb_ttl_job_run_interval-从-v650-版本开始引入) | 新增 | 这个变量用于控制 TTL 后台清理任务的调度周期。比如,如果当前值设置成了 `1h0m0s`,则代表每张设置了 TTL 属性的表会每小时清理一次过期数据。| +| [`tidb_ttl_job_schedule_window_start_time`](/system-variables.md#tidb_ttl_job_schedule_window_start_time-从-v650-版本开始引入) | 新增 | 这个变量用于控制 TTL 后台清理任务的调度窗口的起始时间。请谨慎调整此参数,过小的窗口有可能会造成过期数据的清理无法完成。| +| [`tidb_ttl_job_schedule_window_end_time`](/system-variables.md#tidb_ttl_job_schedule_window_end_time-从-v650-版本开始引入) | 新增 | 这个变量用于控制 TTL 后台清理任务的调度窗口的结束时间。请谨慎调整此参数,过小的窗口有可能会造成过期数据的清理无法完成。| +| [`tidb_ttl_scan_batch_size`](/system-variables.md#tidb_ttl_scan_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中用来扫描过期数据的每个 `SELECT` 语句的 `LIMIT` 的值。| +| [`tidb_ttl_scan_worker_count`](/system-variables.md#tidb_ttl_scan_worker_count-从-v650-版本开始引入) | 新增 | 这个变量用于设置每个 TiDB 节点 TTL 扫描任务的最大并发数。| + | [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON` | | [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,密码字典功能,设置的用户密码不允许包含字典中的单词。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 设置为 `2` (STRONG) 时,该变量才生效。默认值为空 | | [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的开关,设置为 `ON` 后,TiDB 才进行密码复杂度检查。默认值为 `OFF` | From 372b4e1ffd74456b833c612dbc9ddb63d5b5d481 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 7 Dec 2022 10:28:53 +0800 Subject: [PATCH 046/161] add TiKV compatibility change --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 116f69663e64..dd8dd6c2842b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -314,7 +314,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | -| | | | | +| TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms` | | | | | | | | | | | From 98eac5aa68748e4b11f44331eabfa8c44e47063f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 7 Dec 2022 14:16:44 +0800 Subject: [PATCH 047/161] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Feng Liyuan Co-authored-by: 王超 Co-authored-by: Zhou Kunqin <25057648+time-and-fate@users.noreply.github.com> Co-authored-by: fzzf678 <108643977+fzzf678@users.noreply.github.com> Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> Co-authored-by: Lux Co-authored-by: cfzjywxk --- releases/release-6.5.0.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index dd8dd6c2842b..3feb7c1ba13d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -48,11 +48,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statement-batch.md)。 -* 支持 Time to live (TTL)(实验特性)**tw@ran-huang** +* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) **tw@ran-huang** TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 - 更多信息请参考[Time to live(TTL)](/ttl.md) + 更多信息请参考[Time to live(TTL)](/time-to-live.md) * TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** @@ -108,7 +108,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** - 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 + 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) @@ -167,7 +167,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 -* TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) +* TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等手段限制内存使用,保证 TiDB 的稳定性。 @@ -187,7 +187,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 执行计划支持 JSON 格式的打印 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** - 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。 借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 + 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain.md)。 @@ -227,7 +227,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/tidb-lightning-physical-import-mode-usage#configure-disk-quota-new-in-v620)。 -* GA DM 增量数据校验的功能 [#4426](https://github.com/pingcap/tiflow/issues/4426) @[[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +* GA DM 增量数据校验的功能 [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖于强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的,因为上下游的数据在不断变化,导致用户难以对表里面的全部数据进行一致性校验。 @@ -261,7 +261,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的的网络故障。 - 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12075)。 + 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 * PITR 性能大幅提升提升 **tw@shichun-0415 @@ -282,11 +282,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | +| [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,表示默认将 TiDB 实例的内存限制设为总内存的 80%。| | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | +| [`tidb_index_merge_intersection_concurrency`](/system-variables.md#tidb_index_merge_intersection_concurrency-从-v650-版本开始引入) | 新增 | 这个变量用来设置索引合并进行交集操作时的最大并发度,仅在以动态裁剪模式访问分区表时有效。 | | [`tidb_source_id`](/system-variables.md#tidb_source_id-从-v650-版本开始引入) | 新增 | 设置在[双向复制](/ticdc/ticdc-bidirectional-replication.md)系统内不同集群的 ID。| | [`tidb_ttl_delete_batch_size`](/system-variables.md#tidb_ttl_delete_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中单个删除事务中允许删除的最大行数。| | [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用来对每个 TiDB 节点的 TTL 删除操作进行限流。其值代表了在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| @@ -314,6 +316,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | +| TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms` | | | | | | | | | | | @@ -328,13 +331,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 对于 `bit` and `char` 类型的列,使 `INFORMATION_SCHEMA.COLUMNS` 的显示结果与 MySQL 一致 [#25472](https://github.com/pingcap/tidb/issues/25472) @[hawkingrei](https://github.com/hawkingrei) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13768](https://github.com/tikv/tikv/pull/13768) [@HuSharp](https://github.com/HuSharp) - 改进持续对特定行只加锁但不更新情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) + PD @@ -349,6 +352,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + Tools + + TiDB Dashboard + + - 在慢查询页面新增三个字段 `是否由 prepare 语句生成`,`查询计划是否来自缓存`,`查询计划是否来自绑定` 的描述。 [#1445](https://github.com/pingcap/tidb-dashboard/pull/1445/files) @[shhdgit](https://github.com/shhdgit) + + Backup & Restore (BR) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -378,7 +385,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 chunk reuse 功能部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) + - 修复 `tidb_constraint_check_in_place_pessimistic` 可能被全局设置影响内部 session 的问题 [#38766](https://github.com/pingcap/tidb/issues/38766) @[ekexium](https://github.com/ekexium) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV From 664ea8a6537c86b073bb99047b3c8b82ba2d19b3 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 7 Dec 2022 14:20:01 +0800 Subject: [PATCH 048/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 3feb7c1ba13d..c0c5943ce98a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -387,7 +387,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 修复 chunk reuse 功能部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) - 修复 `tidb_constraint_check_in_place_pessimistic` 可能被全局设置影响内部 session 的问题 [#38766](https://github.com/pingcap/tidb/issues/38766) @[ekexium](https://github.com/ekexium) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复了 AUTO_INCREMENT 列无法和 Check 约束一起使用的问题 #38894 @YangKeao + - 修复使用 'insert ignore into' 往 smallint 类型 auto increment 的列插入 string 类型数据会报错的问题 #38483 @hawkingrei + - 修复了重命名分区表的分区列操作出现空指针报错的问题 #38932 @mjonss + - 修复了一个修改分区表的分区列导致 DDL 卡死的问题 #38530 @mjonss + - 修复了从 v4.0 升级到 v6.4 后 'admin show job' 操作崩溃的问题 #38980 @tangenta + - 修复了 tidb_decode_key 函数未正确处理分区表编码的问题 #39304 @Defined2014 + - 修复了 log rotate 时,grpc 的错误日志信息未被重定向到正确的日志文件的问题 #38941 @xhebox + TiKV From f9c2b7fd488f1be5a5bec11d8889c169dc9f3fe7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 7 Dec 2022 14:21:44 +0800 Subject: [PATCH 049/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c0c5943ce98a..b8ffe11ed458 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -387,13 +387,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 修复 chunk reuse 功能部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) - 修复 `tidb_constraint_check_in_place_pessimistic` 可能被全局设置影响内部 session 的问题 [#38766](https://github.com/pingcap/tidb/issues/38766) @[ekexium](https://github.com/ekexium) - - 修复了 AUTO_INCREMENT 列无法和 Check 约束一起使用的问题 #38894 @YangKeao - - 修复使用 'insert ignore into' 往 smallint 类型 auto increment 的列插入 string 类型数据会报错的问题 #38483 @hawkingrei - - 修复了重命名分区表的分区列操作出现空指针报错的问题 #38932 @mjonss - - 修复了一个修改分区表的分区列导致 DDL 卡死的问题 #38530 @mjonss - - 修复了从 v4.0 升级到 v6.4 后 'admin show job' 操作崩溃的问题 #38980 @tangenta - - 修复了 tidb_decode_key 函数未正确处理分区表编码的问题 #39304 @Defined2014 - - 修复了 log rotate 时,grpc 的错误日志信息未被重定向到正确的日志文件的问题 #38941 @xhebox + - 修复了 AUTO_INCREMENT 列无法和 Check 约束一起使用的问题 [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) + - 修复使用 'insert ignore into' 往 smallint 类型 auto increment 的列插入 string 类型数据会报错的问题 [#38483](https://github.com/pingcap/tidb/issues/38483) @[hawkingrei](https://github.com/hawkingrei) + - 修复了重命名分区表的分区列操作出现空指针报错的问题 [#38932](https://github.com/pingcap/tidb/issues/38932) @[mjonss](https://github.com/mjonss) + - 修复了一个修改分区表的分区列导致 DDL 卡死的问题 [#38530](https://github.com/pingcap/tidb/issues/38530) @[mjonss](https://github.com/mjonss) + - 修复了从 v4.0 升级到 v6.4 后 'admin show job' 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) + - 修复了 `tidb_decode_key` 函数未正确处理分区表编码的问题 [#39304](https://github.com/pingcap/tidb/issues/39304) @[Defined2014](https://github.com/Defined2014) + - 修复了 log rotate 时,grpc 的错误日志信息未被重定向到正确的日志文件的问题 [#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) + TiKV From a0ff25d5cb3309f5cdd75c94b1deb23d9a601a41 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 7 Dec 2022 14:36:15 +0800 Subject: [PATCH 050/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index b8ffe11ed458..ae168165a4f4 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -118,7 +118,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - TiDB 通过将函数下推至 TiFlash 加速分析计算。JSON 数据类型非常灵活,常用于快速发展的行业,如 WEB3 等。支持下推 JSON 函数至 TiFlash 可以更好的满足此类业务需求。 + TiDB 通过将函数下推至 TiFlash 加速分析计算。JSON 数据类型非常灵活。支持下推 JSON 函数至 TiFlash 可以使 TiDB 利用 TiFlash 进行包含 JSON 类型数据的实时分析。 TiDB 将继续完善,支持更多的 JSON 函数下推至 TiFlash。 From 80b5edd1bc65563a6fc6982c4c0439dc38f206bd Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 7 Dec 2022 14:56:11 +0800 Subject: [PATCH 051/161] Update releases/release-6.5.0.md Co-authored-by: Roger Song --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index ae168165a4f4..8f9b50272d04 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -118,7 +118,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - TiDB 通过将函数下推至 TiFlash 加速分析计算。JSON 数据类型非常灵活。支持下推 JSON 函数至 TiFlash 可以使 TiDB 利用 TiFlash 进行包含 JSON 类型数据的实时分析。 + JSON 格式为应用设计提供了更灵活的建模方式, 目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 把 JSON 函数下推至 TiFlash 将会加速对大量 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 TiDB 将持续完善,在未来版本支持更多的 JSON 函数下推至 TiFlash。 TiDB 将继续完善,支持更多的 JSON 函数下推至 TiFlash。 From 7246b308791d70140f4a1a35d0bb472410682d70 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 7 Dec 2022 14:58:16 +0800 Subject: [PATCH 052/161] modify note for tiflash push down json function --- releases/release-6.5.0.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 8f9b50272d04..75855e31047b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -118,9 +118,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - JSON 格式为应用设计提供了更灵活的建模方式, 目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 把 JSON 函数下推至 TiFlash 将会加速对大量 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 TiDB 将持续完善,在未来版本支持更多的 JSON 函数下推至 TiFlash。 - - TiDB 将继续完善,支持更多的 JSON 函数下推至 TiFlash。 + JSON 格式为应用设计提供了更灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 把 JSON 函数下推至 TiFlash 可以加速对 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 TiDB 将持续完善,在未来版本支持更多的 JSON 函数下推至 TiFlash。 * 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** From 66af7c0974500aa30cd2f99eb793c5e9b38369f0 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 7 Dec 2022 14:59:21 +0800 Subject: [PATCH 053/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 75855e31047b..c524259140b2 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -118,7 +118,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - JSON 格式为应用设计提供了更灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 把 JSON 函数下推至 TiFlash 可以加速对 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 TiDB 将持续完善,在未来版本支持更多的 JSON 函数下推至 TiFlash。 + JSON 格式为应用设计提供了更灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 把 JSON 函数下推至 TiFlash 可以加速对 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。TiDB 将持续完善,在未来版本支持更多的 JSON 函数下推至 TiFlash。 * 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** From f4bf9cf60b1f7b9f3f54b98cd2d7c52dc93b4eb1 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 7 Dec 2022 16:38:21 +0800 Subject: [PATCH 054/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c524259140b2..1214ce5f83fc 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -287,6 +287,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | | [`tidb_index_merge_intersection_concurrency`](/system-variables.md#tidb_index_merge_intersection_concurrency-从-v650-版本开始引入) | 新增 | 这个变量用来设置索引合并进行交集操作时的最大并发度,仅在以动态裁剪模式访问分区表时有效。 | +| [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | | [`tidb_source_id`](/system-variables.md#tidb_source_id-从-v650-版本开始引入) | 新增 | 设置在[双向复制](/ticdc/ticdc-bidirectional-replication.md)系统内不同集群的 ID。| | [`tidb_ttl_delete_batch_size`](/system-variables.md#tidb_ttl_delete_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中单个删除事务中允许删除的最大行数。| | [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用来对每个 TiDB 节点的 TTL 删除操作进行限流。其值代表了在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| From e61d30a929505a90f51cd0ff3c1c9925edd86798 Mon Sep 17 00:00:00 2001 From: Ryan Liu <2842195+moyun@users.noreply.github.com> Date: Wed, 7 Dec 2022 17:52:22 +0900 Subject: [PATCH 055/161] update index-merge --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 1214ce5f83fc..e470ced1fa62 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -106,9 +106,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 性能 -* 完整支持索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** +* 进一步增强索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** - 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。用户可以通过使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 + 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前版本仅支持优化器自动选择 “OR” 条件下的索引合并,用户须使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) From af96db34532647f7f0d40ff5dd3adcdde3097268 Mon Sep 17 00:00:00 2001 From: Ran Date: Wed, 7 Dec 2022 17:01:36 +0800 Subject: [PATCH 056/161] refine language --- releases/release-6.5.0.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e470ced1fa62..0612218c2487 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -52,7 +52,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 - 更多信息请参考[Time to live(TTL)](/time-to-live.md) + 更多信息,请参考[用户文档](/time-to-live.md)。 * TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** @@ -70,7 +70,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** - TiDB 启用密码复杂度策略功能后,在为用户设置密码时,会检查密码长度、大写/小写字符个数、数字字符个数、特殊字符个数、密码字典、是否与用户名相同,以此确保为用户设置一个安全的密码。 + TiDB 启用密码复杂度策略功能后,在用户设置密码时,TiDB 会检查密码长度、大写和小写字符个数、数字字符个数、特殊字符个数、密码字典匹配、是否与用户名相同等,以此确保用户设置了安全的密码。 TiDB 支持密码强度检查函数 `VALIDATE_PASSWORD_STRENGTH()`,用于判定一个给定密码的强度。 @@ -78,21 +78,21 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** - TiDB 支持密码过期策略,包括:手动密码过期、全局级别自动密码过期、账户级别自动密码过期。启用密码过期策略功能后,用户必须定期修改密码,防止密码长期使用带来的泄露风险,提高密码安全性。 + TiDB 支持密码过期策略,包括手动密码过期、全局级别自动密码过期、账户级别自动密码过期。启用密码过期策略功能后,用户必须定期修改密码,防止密码长期使用带来的泄露风险,提高密码安全性。 - 更多信息,请参考[用户文档](/password-management.md#密码过期策略) + 更多信息,请参考[用户文档](/password-management.md#密码过期策略)。 * 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) **tw@ran-huang** - TiDB 支持密码重用策略,包括:全局级别密码重用策略、账户级别密码重用策略。启用密码重用策略功能后,用户不允许使用最近一段时间使用过的密码,不允许使用最近几次使用过的密码,以此降低密码的重复使用带来的泄漏风险,提高密码安全性。 + TiDB 支持密码重用策略,包括全局级别密码重用策略、账户级别密码重用策略。启用密码重用策略功能后,用户不能使用最近一段时间使用过的密码或最近几次使用过的密码,以此降低密码的重复使用带来的泄漏风险,提高密码安全性。 - 更多信息,请参考[用户文档](/password-management.md#密码重用策略) + 更多信息,请参考[用户文档](/password-management.md#密码重用策略)。 * 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) **tw@ran-huang** - TiDB 启用密码连续错误限制登录策略功能后,当用户登录时密码连续多次错误,此时该账户将被临时锁定,达到锁定时间后将自动解锁。 + TiDB 启用密码连续错误限制登录策略功能后,当用户登录时,如果连续多次密码错误,账户将被临时锁定,达到锁定时间后将自动解锁。 - 更多信息,请参考[用户文档](/password-management.md#密码连续错误限制登录策略) + 更多信息,请参考[用户文档](/password-management.md#密码连续错误限制登录策略)。 ### 可观测性 @@ -183,9 +183,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 -* 执行计划支持 JSON 格式的打印 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** +* 执行计划支持打印 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** - 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `explain format = tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 + 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `EXPLAIN FORMAT=tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain.md)。 From 4c95cff427e5248c789e6a63be036fadcb018e3d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 7 Dec 2022 17:59:30 +0800 Subject: [PATCH 057/161] Apply suggestions from code review Co-authored-by: Ping Yu Co-authored-by: Chunzhu Li --- releases/release-6.5.0.md | 53 +++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 0612218c2487..7898a588a4bf 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -335,7 +335,28 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiKV - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - `cdc.min-ts-interval` 默认值从 1s 改为 200ms 以降低 CDC 延迟 [#12840](https://github.com/tikv/tikv/issues/12840) @[hicqu](https://github.com/hicqu) + - 引入 witness peer [#12876](https://github.com/tikv/tikv/issues/12876) @[Connor1996](https://github.com/Connor1996) + - 当剩余空间不足时停止 Raft Engine 的写入以避免硬盘空间耗尽 [#13642](https://github.com/tikv/tikv/issues/13642) @[jiayang-zheng](https://github.com/jiayang-zheng) + - 实现 `json_valid` 函数下推 [#13571](https://github.com/tikv/tikv/issues/13571) @[lizhenhuan](https://github.com/lizhenhuan) + - 支持在一个备份请求中同时备份多个范围的数据 [#13701](https://github.com/tikv/tikv/issues/13701) @[Leavrth](https://github.com/Leavrth) + - 更新 rusoto 库以支持备份到 ap-southeast-3 [#13751](https://github.com/tikv/tikv/issues/13751) @[3pointer](https://github.com/3pointer) + - 减少悲观事务冲突 [#13298](https://github.com/tikv/tikv/issues/13298) @[MyonKeminta](https://github.com/MyonKeminta) + - 减少不必要的检查以提升 flashback 的性能 [#13800](https://github.com/tikv/tikv/issues/13800) @[JmPotato](https://github.com/JmPotato) + - 缓存外部存储对象以提升恢复性能 [#13798](https://github.com/tikv/tikv/issues/13798) @[YuJuncen](https://github.com/YuJuncen) + - PiTR 支持批量写入 kv 文件以提升恢复速度 [#13788](https://github.com/tikv/tikv/issues/13788) @[joccau](https://github.com/joccau) + - 在专用线程中运行 CheckLeader 以缩短 TiCDC 的复制延迟 [#13774](https://github.com/tikv/tikv/issues/13774) @[overvenus](https://github.com/overvenus) + - PiTR 允许复用已下载的 kv 文件以提升恢复性能 [#13788](https://github.com/tikv/tikv/issues/13788) @[joccau](https://github.com/joccau) + - Checkpoint 支持拉取模式 [#13824](https://github.com/tikv/tikv/issues/13824) @[YuJuncen](https://github.com/YuJuncen) + - 优化 flashback 的稳定性 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) + - 升级 crossbeam-channel 以优化发送端的自旋问题 [#13815](https://github.com/tikv/tikv/issues/13815) @[sticnarf](https://github.com/sticnarf) + - Coprocessor 支持批量处理 [#13849](https://github.com/tikv/tikv/issues/13849) @[cfzjywxk](https://github.com/cfzjywxk) + - PiTR 在写入 kv 文件时过滤无效的 kv 事件 [#13853](https://github.com/tikv/tikv/issues/13853) @[joccau](https://github.com/joccau) + - 故障恢复时通知 TiKV 唤醒休眠的 region 以减少等待时间 [#13648](https://github.com/tikv/tikv/issues/13648) @[LykxSassinator](https://github.com/LykxSassinator) + - 通过代码优化减少内存申请 [#13836](https://github.com/tikv/tikv/pull/13836) @[BusyJay](https://github.com/BusyJay) + - 优化 flashback 与 CDC 特性的兼容性 [#13823](https://github.com/tikv/tikv/pull/13823) @[JmPotato](https://github.com/JmPotato) + - 引入 raft extension 以提升代码可扩展性 [#13864](https://github.com/tikv/tikv/pull/13864) @[BusyJay](https://github.com/BusyJay) + - 通过引入 `hint_min_ts` 加速 flashback [#13842](https://github.com/tikv/tikv/pull/13842) @[JmPotato](https://github.com/JmPotato) - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13768](https://github.com/tikv/tikv/pull/13768) [@HuSharp](https://github.com/HuSharp) - 改进持续对特定行只加锁但不更新情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) + PD @@ -362,12 +383,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 采用并发的方式对数据进行编码,极大提升了同步到 kafka 的吞吐能力[#7532](https://github.com/pingcap/tiflow/issues/7532)[#7543](https://github.com/pingcap/tiflow/issues/7543)[#7540](https://github.com/pingcap/tiflow/issues/7540) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 通过不再解析黑名单表的数据提升了 dm 同步数据的性能[#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) + - 通过异步写与批量写的方式提升 dm relay 写数据效率[#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) + - 改进 DM 前置检查的错误提示信息[#7696](https://github.com/pingcap/tiflow/pull/7696) @[buchuitoudegou](https://github.com/buchuitoudegou) + - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性[#7373](https://github.com/pingcap/tiflow/pull/7372) @[lyzx2001](https://github.com/lyzx2001) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Lightning @@ -396,7 +420,14 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiKV - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 raft engine ctl 中的错误 [#13108](https://github.com/tikv/tikv/issues/13108) @[tabokie](https://github.com/tabokie) + - 修复 tikv-ctl 中 compact raft 命令的错误 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) + - 修复当启用 TLS 时 log backup 无法使用的问题 [#13851](https://github.com/tikv/tikv/issues/13851) @[YuJuncen](https://github.com/YuJuncen) + - 修复对 Geometry 字段类型的支持 [#13651](https://github.com/tikv/tikv/issues/13651) @[dveeden](https://github.com/dveeden) + - 修复由于删除引起的 flashback 死循环问题 [#13743](https://github.com/tikv/tikv/issues/13743) @[JmPotato](https://github.com/JmPotato) + - 修复当未使用 new collation 时 `like` 无法处理 `_` 中非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) + - 修复 tikv-ctl 执行 reset-to-version 时出现 segfault 的问题 [#13829](https://github.com/tikv/tikv/issues/13829) @[tabokie](https://github.com/tabokie) + - 修复 flashback 可能覆盖错误的写记录的问题 [#13844](https://github.com/tikv/tikv/issues/13844) @[JmPotato](https://github.com/JmPotato) - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD @@ -419,17 +450,25 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 PD leader crash时 CDC 卡住的问题[#7470](https://github.com/pingcap/tiflow/issues/7470) + - 修复在执行drop table 时用户快速暂停恢复同步任务导致可能的数据丢失问题[#7682](https://github.com/pingcap/tiflow/issues/7682) + - 兼容上游开启 TiFlash 时版本兼容性问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) + - 修复下游网络出现故障导致cdc 卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) + - 修复用户快速删除、创建同名同步任务可能导致的数据丢失问题 [#7657](https://github.com/pingcap/tiflow/issues/7657) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复无法在上游开启 gtid mode 且无数据时启动 all mode 任务的错误 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) + - 修复 DM-worker 异常重启可能引起的多 worker 写同一下游同张表的错误 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) + - 修复上游数据库使用正则匹配授权时 DM 前置检查不通过的错误[#7645](https://github.com/pingcap/tiflow/issues/7645) @[lance6716](https://github.com/lance6716) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Lightning - - note [#issue](链接) @[贡献者 GitHub ID](链接) +```suggestion + - 修复 TiDB Lightning 导入巨大数据源文件时的内存泄漏问题 [#39331](https://github.com/pingcap/tidb/issues/39331) @[dsdashun](https://github.com/dsdashun) + - 修复 TiDB Lightning 在并行导入冲突检测时无法正确检测的问题 [#39476](https://github.com/pingcap/tidb/issues/39476) @[dsdashun](https://github.com/dsdashun) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiUP From 6db6f17f7464031df51528241fdf77b44011cb42 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 7 Dec 2022 20:40:29 +0800 Subject: [PATCH 058/161] Update releases/release-6.5.0.md Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7898a588a4bf..157e9d19a009 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -167,7 +167,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** - 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到, 当全局内存消耗接近 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等手段限制内存使用,保证 TiDB 的稳定性。 + 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被取消。 From 2cef137b323c094d2777c756dd4a3db6bf0f6be5 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 7 Dec 2022 20:41:38 +0800 Subject: [PATCH 059/161] Update releases/release-6.5.0.md Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 157e9d19a009..0b6d61e7d85f 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -169,7 +169,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 - 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今会被内存管理模块跟踪: 当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证行为向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时, TiDB 仍旧会保证事务使用到这么大的内存而不被取消。 + 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今被内存管理模块跟踪:当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时,TiDB 仍旧会保证事务使用到 `txn-total-size-limit` 所设定的内存而不被取消。 对于运行 v6.5.0 及以上版本的客户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而由系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 From 79f1691a6f88b74883f9746e76345d8674b3e495 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 7 Dec 2022 22:52:11 +0800 Subject: [PATCH 060/161] add changes for two system variables --- releases/release-6.5.0.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 0b6d61e7d85f..52c099931773 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -275,19 +275,21 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 系统变量 -| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +| 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | +| [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | +| [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | +| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,当该变量的值为`closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | | [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,表示默认将 TiDB 实例的内存限制设为总内存的 80%。| -| [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略 | -| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接 | -| [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | +| [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略。 | +| [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | +| [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | | [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | | [`tidb_index_merge_intersection_concurrency`](/system-variables.md#tidb_index_merge_intersection_concurrency-从-v650-版本开始引入) | 新增 | 这个变量用来设置索引合并进行交集操作时的最大并发度,仅在以动态裁剪模式访问分区表时有效。 | -| [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | | [`tidb_source_id`](/system-variables.md#tidb_source_id-从-v650-版本开始引入) | 新增 | 设置在[双向复制](/ticdc/ticdc-bidirectional-replication.md)系统内不同集群的 ID。| | [`tidb_ttl_delete_batch_size`](/system-variables.md#tidb_ttl_delete_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中单个删除事务中允许删除的最大行数。| | [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用来对每个 TiDB 节点的 TTL 删除操作进行限流。其值代表了在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| @@ -298,7 +300,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_ttl_job_schedule_window_end_time`](/system-variables.md#tidb_ttl_job_schedule_window_end_time-从-v650-版本开始引入) | 新增 | 这个变量用于控制 TTL 后台清理任务的调度窗口的结束时间。请谨慎调整此参数,过小的窗口有可能会造成过期数据的清理无法完成。| | [`tidb_ttl_scan_batch_size`](/system-variables.md#tidb_ttl_scan_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中用来扫描过期数据的每个 `SELECT` 语句的 `LIMIT` 的值。| | [`tidb_ttl_scan_worker_count`](/system-variables.md#tidb_ttl_scan_worker_count-从-v650-版本开始引入) | 新增 | 这个变量用于设置每个 TiDB 节点 TTL 扫描任务的最大并发数。| - | [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON` | | [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,密码字典功能,设置的用户密码不允许包含字典中的单词。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 设置为 `2` (STRONG) 时,该变量才生效。默认值为空 | | [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的开关,设置为 `ON` 后,TiDB 才进行密码复杂度检查。默认值为 `OFF` | From 5ed0afdc2648efc9ba59fe05dd94cf0f4164151d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 7 Dec 2022 23:02:17 +0800 Subject: [PATCH 061/161] Apply suggestions from code review Co-authored-by: 3pointer Co-authored-by: Xiaoju Wu --- releases/release-6.5.0.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 52c099931773..e62e7834fd42 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -132,7 +132,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 -* [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** +* 支持将 [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 @@ -282,7 +282,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | | [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | -| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,当该变量的值为`closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | +| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,当该变量的值为 `closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同。对于生效的节点,TiDB 会优先选择分布在同一可用区的副本执行读取操作,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | | [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,表示默认将 TiDB 实例的内存限制设为总内存的 80%。| | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略。 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | @@ -379,7 +379,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + Backup & Restore (BR) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化清理备份日志数据是 BR 的内存使用(https://github.com/pingcap/tidb/issues/38869) @Leavrth (https://github.com/Leavrth) + - 提升在恢复时的稳定性,允许 PD leader 切换的情况发生(https://github.com/pingcap/tidb/issues/36910) @MoCuishle28 (https://github.com/MoCuishle28) + - 日志备份的 tls 功能使用 openssl 协议,提升 tls 兼容性。(https://github.com/tikv/tikv/issues/13867) +@YuJuncen (https://github.com/YuJuncen) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiCDC @@ -418,6 +421,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 修复了从 v4.0 升级到 v6.4 后 'admin show job' 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) - 修复了 `tidb_decode_key` 函数未正确处理分区表编码的问题 [#39304](https://github.com/pingcap/tidb/issues/39304) @[Defined2014](https://github.com/Defined2014) - 修复了 log rotate 时,grpc 的错误日志信息未被重定向到正确的日志文件的问题 [#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) + - 修复了 `begin; select... for update;` 点查在 read engines 未配置 TiKV 时生成非预期执行计划的问题 [#39344](https://github.com/pingcap/tidb/issues/39344) @[Yisaer](https://github.com/Yisaer) + - 修复了错误地下推 `StreamAgg` 到 TiFlash 导致结果错误的问题 [#39266](https://github.com/pingcap/tidb/issues/39266) @[fixdb](https://github.com/fixdb) + TiKV @@ -446,7 +451,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + Backup & Restore (BR) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复清理备份日志数据时错误删除数据导致数据丢失的问题(https://github.com/pingcap/tidb/issues/38939) @Leavrth (https://github.com/Leavrth) + - 修复在大于 6.1 版本关闭 new_collation 设置,仍然恢复失败的问题(https://github.com/pingcap/tidb/issues/39150) @MoCuishle28 (https://github.com/MoCuishle28) + - 修复因非 s3 存储的不兼容请求导致备份 panic 的问题(https://github.com/pingcap/tidb/issues/39545) @3pointer (https://github.com/3pointer) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiCDC @@ -467,7 +474,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Lightning -```suggestion - 修复 TiDB Lightning 导入巨大数据源文件时的内存泄漏问题 [#39331](https://github.com/pingcap/tidb/issues/39331) @[dsdashun](https://github.com/dsdashun) - 修复 TiDB Lightning 在并行导入冲突检测时无法正确检测的问题 [#39476](https://github.com/pingcap/tidb/issues/39476) @[dsdashun](https://github.com/dsdashun) - note [#issue](链接) @[贡献者 GitHub ID](链接) From cbb7470cf7df2db27ceae99b4060eb7ad75e6282 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 8 Dec 2022 10:22:25 +0800 Subject: [PATCH 062/161] Update releases/release-6.5.0.md Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e62e7834fd42..4bb9039733f7 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -112,7 +112,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) -* 新增支持下推[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** +* 新增支持下推以下[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** * `->` * `->>` From 8d22e1e82f831f55a2d250fac21a21b2efcdf3b2 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 8 Dec 2022 10:22:54 +0800 Subject: [PATCH 063/161] Update releases/release-6.5.0.md Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 4bb9039733f7..7702627f807b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -118,7 +118,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - JSON 格式为应用设计提供了更灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 把 JSON 函数下推至 TiFlash 可以加速对 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。TiDB 将持续完善,在未来版本支持更多的 JSON 函数下推至 TiFlash。 + JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 * 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** From 8f4b1ff7490680a019fd8259e02efb50dfbece5e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 8 Dec 2022 15:27:55 +0800 Subject: [PATCH 064/161] Apply suggestions from code review --- releases/release-6.5.0.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7702627f807b..29a3c9906b94 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -54,15 +54,19 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/time-to-live.md)。 -* TiFlash 支持 `INSERT SELECT` 语句(实验功能) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** +* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** - 用户可以指定 TiFlash 执行 `INSERT SELECT` 中的 `SELECT` 子句(分析查询),并将结果在此事务中写回到 TIDB 表中: + 从 v6.5.0 起, TiDB 支持下推 `INSERT INTO SELECT` 语句中的 `SELECT` 子句(分析查询)到 TiFlash,你可以将 TiFlash 的查询结果方便地保存到 `INSERT INTO` 指定的 TiDB 表中供后续分析使用,起到了结果缓存(即结果物化)的效果。例如: ```sql - insert into t2 select mod(x,y) from t1; + INSERT INTO t2 SELECT Mod(x,y) FROM t1; ``` - 用户可以方便地保存(物化)TiFlash 的计算结果以供下游步骤使用,可以起到结果缓存(物化)的效果。适用于以下场景:使用 TiFlash 做复杂分析,需重复使用计算结果或响应高并发的在线请求,计算性质本身聚合性好(相对输入数据,计算得出的结果集比较小,推荐 100MB 以内)。作为写入对象的 结果表本身没有特别限制,可以任意选择是否添加 TiFlash 副本。 + 在实验特性阶段,该功能默认关闭。要开启此功能,请设置系统变量 [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) 为 `ON`。使用该特性时,`INSERT INTO` 指定的结果表没有特殊限制,你可以自由选择是否为该表添加 TiFlash 副本。该特性典型的使用场景包括: + + - 使用 TiFlash 做复杂分析 + - 需重复使用 TiFlash计算结果或响应高并发的在线请求 + - 相对输入数据,计算需要得出的结果集比较小,推荐 100MiB 以内 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 @@ -120,7 +124,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 -* 新增支持下推[字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** +* 新增支持下推以下 [字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `regexp_like` * `regexp_instr` @@ -134,7 +138,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持将 [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** - [分区表](/partitioned-table.md)在 v6.1.0 正式 GA, TiDB 持续提升分区表相关的性能。 在 v6.5.0 中, 排序操作如 `ORDER BY`, `LIMIT` 能够下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 + [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中, TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 * 优化器代价模型 Cost Model Version 2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** From 91f6f9d06518f3b7bebb9280fe98a611f2bd0a4a Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 8 Dec 2022 15:34:24 +0800 Subject: [PATCH 065/161] Update releases/release-6.5.0.md Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 29a3c9906b94..5bf2993376ee 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -183,7 +183,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 完善 EXPLAIN ANALYZE 输出的 TiFlash 的 TableFullScan 算子的统计信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** - [`EXPLAIN ANALYZE`] 语句可以输出执行计划及运行时的统计信息。现有版本的统计信息中,TiFlash 的 TableFullScan 算子统计信息不完善。v6.5.0 版本对 TableFullScan 算子的统计信息进行完善,补充了 dmfile 相关的执行信息,可以更加清晰的展示 TiFlash 的数据扫描状态信息,方便进行性能分析。 + [`EXPLAIN ANALYZE`] 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 From a97dc3eacf7c5639eca5ff43dc26dbd6e2ddcf3c Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 8 Dec 2022 15:35:19 +0800 Subject: [PATCH 066/161] Update releases/release-6.5.0.md Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5bf2993376ee..bf4355eea2a8 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -181,7 +181,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 易用性 -* 完善 EXPLAIN ANALYZE 输出的 TiFlash 的 TableFullScan 算子的统计信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** +* 完善 `EXPLAIN ANALYZE` 输出结果中 TiFlash 的 TableFullScan 算子的执行信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** [`EXPLAIN ANALYZE`] 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 From 972d0af898807c648186ecc34ac43d25bb89a5a3 Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 8 Dec 2022 17:39:46 +0800 Subject: [PATCH 067/161] fix format issues for improvements for bug fixes --- releases/release-6.5.0.md | 45 ++++++++------------------------------- 1 file changed, 9 insertions(+), 36 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index bf4355eea2a8..7c139a20a734 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -336,7 +336,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB - 对于 `bit` and `char` 类型的列,使 `INFORMATION_SCHEMA.COLUMNS` 的显示结果与 MySQL 一致 [#25472](https://github.com/pingcap/tidb/issues/25472) @[hawkingrei](https://github.com/hawkingrei) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV @@ -373,7 +372,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 提升了 TiFlash 在 SQL 端没有攒批的场景的写入性能 [#6404](https://github.com/pingcap/tiflash/issues/6404) @[lidezhu](https://github.com/lidezhu) - 增加了 TableFullScan 的输出信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools @@ -383,16 +381,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + Backup & Restore (BR) - - 优化清理备份日志数据是 BR 的内存使用(https://github.com/pingcap/tidb/issues/38869) @Leavrth (https://github.com/Leavrth) - - 提升在恢复时的稳定性,允许 PD leader 切换的情况发生(https://github.com/pingcap/tidb/issues/36910) @MoCuishle28 (https://github.com/MoCuishle28) - - 日志备份的 tls 功能使用 openssl 协议,提升 tls 兼容性。(https://github.com/tikv/tikv/issues/13867) -@YuJuncen (https://github.com/YuJuncen) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化清理备份日志数据是 BR 的内存使用 [#38869](https://github.com/pingcap/tidb/issues/38869) @[Leavrth](https://github.com/Leavrth) + - 提升在恢复时的稳定性,允许 PD leader 切换的情况发生 [#36910](https://github.com/pingcap/tidb/issues/36910) @[MoCuishle28](https://github.com/MoCuishle28) + - 日志备份的 tls 功能使用 openssl 协议,提升 tls 兼容性。[#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) + TiCDC - - 采用并发的方式对数据进行编码,极大提升了同步到 kafka 的吞吐能力[#7532](https://github.com/pingcap/tiflow/issues/7532)[#7543](https://github.com/pingcap/tiflow/issues/7543)[#7540](https://github.com/pingcap/tiflow/issues/7540) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 采用并发的方式对数据进行编码,极大提升了同步到 kafka 的吞吐能力 [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) [#7540](https://github.com/pingcap/tiflow/issues/7540) + TiDB Data Migration (DM) @@ -400,17 +395,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 通过异步写与批量写的方式提升 dm relay 写数据效率[#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) - 改进 DM 前置检查的错误提示信息[#7696](https://github.com/pingcap/tiflow/pull/7696) @[buchuitoudegou](https://github.com/buchuitoudegou) - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性[#7373](https://github.com/pingcap/tiflow/pull/7372) @[lyzx2001](https://github.com/lyzx2001) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - + TiDB Lightning - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - + TiUP - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) ## 错误修复 @@ -438,7 +422,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 修复当未使用 new collation 时 `like` 无法处理 `_` 中非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) - 修复 tikv-ctl 执行 reset-to-version 时出现 segfault 的问题 [#13829](https://github.com/tikv/tikv/issues/13829) @[tabokie](https://github.com/tabokie) - 修复 flashback 可能覆盖错误的写记录的问题 [#13844](https://github.com/tikv/tikv/issues/13844) @[JmPotato](https://github.com/JmPotato) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD @@ -449,43 +432,33 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 修复 TiFlash 重启不能正确合并小文件的问题 [#6159](https://github.com/pingcap/tiflash/issues/6159) @[lidezhu](https://github.com/lidezhu) - 修复 TiFlash Open File OPS 过高的问题 [#6345](https://github.com/pingcap/tiflash/issues/6345) @[JaySon-Huang](https://github.com/JaySon-Huang) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools + Backup & Restore (BR) - - 修复清理备份日志数据时错误删除数据导致数据丢失的问题(https://github.com/pingcap/tidb/issues/38939) @Leavrth (https://github.com/Leavrth) - - 修复在大于 6.1 版本关闭 new_collation 设置,仍然恢复失败的问题(https://github.com/pingcap/tidb/issues/39150) @MoCuishle28 (https://github.com/MoCuishle28) - - 修复因非 s3 存储的不兼容请求导致备份 panic 的问题(https://github.com/pingcap/tidb/issues/39545) @3pointer (https://github.com/3pointer) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复清理备份日志数据时错误删除数据导致数据丢失的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) + - 修复在大于 6.1 版本关闭 new_collation 设置,仍然恢复失败的问题 [#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) + - 修复因非 s3 存储的不兼容请求导致备份 panic 的问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + TiCDC - - 修复 PD leader crash时 CDC 卡住的问题[#7470](https://github.com/pingcap/tiflow/issues/7470) - - 修复在执行drop table 时用户快速暂停恢复同步任务导致可能的数据丢失问题[#7682](https://github.com/pingcap/tiflow/issues/7682) + - 修复 PD leader crash时 CDC 卡住的问题 [#7470](https://github.com/pingcap/tiflow/issues/7470) + - 修复在执行drop table 时用户快速暂停恢复同步任务导致可能的数据丢失问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) - 兼容上游开启 TiFlash 时版本兼容性问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) - 修复下游网络出现故障导致cdc 卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) - 修复用户快速删除、创建同名同步任务可能导致的数据丢失问题 [#7657](https://github.com/pingcap/tiflow/issues/7657) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) - 修复无法在上游开启 gtid mode 且无数据时启动 all mode 任务的错误 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) - 修复 DM-worker 异常重启可能引起的多 worker 写同一下游同张表的错误 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) - 修复上游数据库使用正则匹配授权时 DM 前置检查不通过的错误[#7645](https://github.com/pingcap/tiflow/issues/7645) @[lance6716](https://github.com/lance6716) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Lightning - 修复 TiDB Lightning 导入巨大数据源文件时的内存泄漏问题 [#39331](https://github.com/pingcap/tidb/issues/39331) @[dsdashun](https://github.com/dsdashun) - 修复 TiDB Lightning 在并行导入冲突检测时无法正确检测的问题 [#39476](https://github.com/pingcap/tidb/issues/39476) @[dsdashun](https://github.com/dsdashun) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - + TiUP - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) ## 贡献者 From d975a82af6be75d4241c91ced7106efc08307fae Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 8 Dec 2022 17:41:02 +0800 Subject: [PATCH 068/161] Apply suggestions from code review Co-authored-by: ShuNing --- releases/release-6.5.0.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7c139a20a734..cc6b6aa701ab 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -366,7 +366,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + PD - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化锁的粒度以减少锁争用,提升高并发下心跳的处理能力 [#5586](https://github.com/tikv/pd/issues/5586) @[rleungx](https://github.com/rleungx) + - 优化调度器在大规模集群下的性能问题,提升调度策略生产速度 [#5473](https://github.com/tikv/pd/issues/5473) @[bufferflies](https://github.com/bufferflies) + - 增加 btree 的泛型性支持 [#5606](https://github.com/tikv/pd/issues/5606) @[rleungx](https://github.com/rleungx) + - 优化心跳处理过程,减少一些不要的开销 [#5648](https://github.com/tikv/pd/issues/5648)@[rleungx](https://github.com/rleungx) + - 增加了自动清理 tombstone store 的功能 [#5348](https://github.com/tikv/pd/issues/5348) @[nolouch](https://github.com/nolouch) + TiFlash @@ -426,7 +430,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + PD - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复热点调度配置在没有修改的情况下不持久化的问题 [#5701](https://github.com/tikv/pd/issues/5701) @[HunDunDM](https://github.com/HunDunDM) + - 修复 rank-formula-version 在升级过程中没有保持升级前的配置的问题 [#5699](https://github.com/tikv/pd/issues/5698) @[HunDunDM](https://github.com/HunDunDM) + TiFlash From 1bd6d620ca1af5f71f482477d8a22bb5240dd68e Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 8 Dec 2022 18:13:14 +0800 Subject: [PATCH 069/161] add compatibility changes for raw-min-ts-outlier-threshold --- releases/release-6.5.0.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index cc6b6aa701ab..5064d79f922a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -319,14 +319,19 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | +| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | +| TiKV | [`raw-min-ts-outlier-threshold`] | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms` | | | | | | | | | | | ### 其他 +- [索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)默认开启,与 [PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 功能不兼容。在使用索引加速功能时,需要确保后台没有启动 PITR 备份任务,否则可能会出现非预期结果,详情请参考[tidb_ddl_enable_fast_reorg](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)。 + + + ## 废弃功能 即将于 v6.6.0 版本废弃 v4.0.7 版本引入的 Amending Transaction 机制,并使用[元数据锁](/metadata-lock.md) 替代。 @@ -363,6 +368,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 通过引入 `hint_min_ts` 加速 flashback [#13842](https://github.com/tikv/tikv/pull/13842) @[JmPotato](https://github.com/JmPotato) - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13768](https://github.com/tikv/tikv/pull/13768) [@HuSharp](https://github.com/HuSharp) - 改进持续对特定行只加锁但不更新情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) + + PD - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -370,7 +376,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 优化调度器在大规模集群下的性能问题,提升调度策略生产速度 [#5473](https://github.com/tikv/pd/issues/5473) @[bufferflies](https://github.com/bufferflies) - 增加 btree 的泛型性支持 [#5606](https://github.com/tikv/pd/issues/5606) @[rleungx](https://github.com/rleungx) - 优化心跳处理过程,减少一些不要的开销 [#5648](https://github.com/tikv/pd/issues/5648)@[rleungx](https://github.com/rleungx) - - 增加了自动清理 tombstone store 的功能 [#5348](https://github.com/tikv/pd/issues/5348) @[nolouch](https://github.com/nolouch) + - 增加了自动清理 tombstone store 的功能 [#5348](https://github.com/tikv/pd/issues/5348) @[nolouch](https://github.com/nolouch) + TiFlash @@ -404,7 +410,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB - - 修复 chunk reuse 功能部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) + - 修复 chunk reuse 功能部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) - 修复 `tidb_constraint_check_in_place_pessimistic` 可能被全局设置影响内部 session 的问题 [#38766](https://github.com/pingcap/tidb/issues/38766) @[ekexium](https://github.com/ekexium) - 修复了 AUTO_INCREMENT 列无法和 Check 约束一起使用的问题 [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) - 修复使用 'insert ignore into' 往 smallint 类型 auto increment 的列插入 string 类型数据会报错的问题 [#38483](https://github.com/pingcap/tidb/issues/38483) @[hawkingrei](https://github.com/hawkingrei) From ca32d9f859871814e6c2cb4357aad890122baa36 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 8 Dec 2022 22:19:30 +0800 Subject: [PATCH 070/161] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> Co-authored-by: xixirangrang Co-authored-by: Ian Co-authored-by: Ping Yu --- releases/release-6.5.0.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5064d79f922a..5809dbd7790d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -20,7 +20,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 满足密码合规审计需求 [密码管理](/password-management.md) - TiDB 添加索引的速度提升为原来的 10 倍 - Flashback Cluster 功能兼容 TiCDC 和 PiTR -- JSON 抽取函数下推至 TiFlash +- 支持通过 `INSERT INTO SELECT` 语句[保存 TiFlash 查询结果](/tiflash/tiflash-results-materialization.md)(实验特性) +- 支持下推 JSON 抽取函数下推至 TiFlash +- 进一步增强索引合并[INDEX MERGE](/glossary.md#index-merge)功能 ## 新功能 @@ -65,7 +67,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在实验特性阶段,该功能默认关闭。要开启此功能,请设置系统变量 [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) 为 `ON`。使用该特性时,`INSERT INTO` 指定的结果表没有特殊限制,你可以自由选择是否为该表添加 TiFlash 副本。该特性典型的使用场景包括: - 使用 TiFlash 做复杂分析 - - 需重复使用 TiFlash计算结果或响应高并发的在线请求 + - 需重复使用 TiFlash 查询结果或响应高并发的在线请求 - 相对输入数据,计算需要得出的结果集比较小,推荐 100MiB 以内 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 @@ -110,7 +112,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 性能 -* 进一步增强索引合并[INDEX MERGE](/glossary.md#index-merge)功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[@time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** +* 进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前版本仅支持优化器自动选择 “OR” 条件下的索引合并,用户须使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 @@ -221,9 +223,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 原先用户仅迁移少数几张表,也需要解析上游整个 binlog 文件,即仍需要解析该 binlog 文件中不需要迁移的表的 binlog event,效率会比较低,同时如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。通过只解析在迁移任务里的库表对象的 binlog event 可以大大提升 binlog 解析效率,提升任务稳定性。 -* Lightning 支持 disk quota 特性 GA,可避免 Lightning 任务写满本地磁盘 [#无](无) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** +* TiDB Lightning 支持 disk quota 特性 GA,可避免 TiDB Lightning 任务写满本地磁盘 [#无](无) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** - 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV,TiDB Lightning 删除本地临时文件后,再继续导入过程。 + 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV。TiDB Lightning 删除本地临时文件后,再继续导入过程。 有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。 @@ -245,6 +247,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Storage sink 支持 changed log 格式位 canal-json/csv,此外 changed log 从 TiCDC 同步到 storage 的延迟可以达到 xx,支持更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12151/files)。 +* TiCDC 支持两个或者多个 TiDB 集群之间相互复制 @[asddongmen](https://github.com/asddongmen) **tw@shichun-0415** + + TiCDC 支持在多个 TiDB 集群之间进行双向复制。 如果业务上需要 TiDB 多活,尤其是异地多活的场景,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC changefeed 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TIDB 集群之间的数据相互复制。更多信息,请参考[用户文档](/ticdc/ticdc/ticdc-bidirectional-replication.md). + * TiCDC 性能提升 **tw@shichun-0415 在 TiDB 场景测试验证中, TiCDC 的性能得到了比较大提升,单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s,即使在常规的 TiKV/TiCDC 滚动升级场景同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Sync point 后,吞吐 xx rows/s 时,容灾复制延迟可以保持在 x s。 @@ -271,9 +277,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** - TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据, 以实现 TiKV 集群 [`api-version`](https://docs.pingcap.com/zh/tidb/v6.4/tikv-configuration-file#api-version-%E4%BB%8E-v610-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 的升级。 + TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据, 以实现 TiKV 集群 [`api-version`](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) 的升级。 - 更多信息,请参考[用户文档]( https://tikv.org/docs/dev/concepts/explore-tikv-features/backup-restore/ )。 + 更多信息,请参考[用户文档](https://tikv.org/docs/latest/concepts/explore-tikv-features/backup-restore/)。 ## 兼容性变更 @@ -328,6 +334,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 其他 +从 v6.5.0 起,`mysql.user` 表新增 `Password_reuse_history` 和 `Password_reuse_time` 两个字段。 - [索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)默认开启,与 [PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 功能不兼容。在使用索引加速功能时,需要确保后台没有启动 PITR 备份任务,否则可能会出现非预期结果,详情请参考[tidb_ddl_enable_fast_reorg](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)。 @@ -351,19 +358,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持在一个备份请求中同时备份多个范围的数据 [#13701](https://github.com/tikv/tikv/issues/13701) @[Leavrth](https://github.com/Leavrth) - 更新 rusoto 库以支持备份到 ap-southeast-3 [#13751](https://github.com/tikv/tikv/issues/13751) @[3pointer](https://github.com/3pointer) - 减少悲观事务冲突 [#13298](https://github.com/tikv/tikv/issues/13298) @[MyonKeminta](https://github.com/MyonKeminta) - - 减少不必要的检查以提升 flashback 的性能 [#13800](https://github.com/tikv/tikv/issues/13800) @[JmPotato](https://github.com/JmPotato) - 缓存外部存储对象以提升恢复性能 [#13798](https://github.com/tikv/tikv/issues/13798) @[YuJuncen](https://github.com/YuJuncen) - - PiTR 支持批量写入 kv 文件以提升恢复速度 [#13788](https://github.com/tikv/tikv/issues/13788) @[joccau](https://github.com/joccau) - 在专用线程中运行 CheckLeader 以缩短 TiCDC 的复制延迟 [#13774](https://github.com/tikv/tikv/issues/13774) @[overvenus](https://github.com/overvenus) - - PiTR 允许复用已下载的 kv 文件以提升恢复性能 [#13788](https://github.com/tikv/tikv/issues/13788) @[joccau](https://github.com/joccau) - Checkpoint 支持拉取模式 [#13824](https://github.com/tikv/tikv/issues/13824) @[YuJuncen](https://github.com/YuJuncen) - - 优化 flashback 的稳定性 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) - 升级 crossbeam-channel 以优化发送端的自旋问题 [#13815](https://github.com/tikv/tikv/issues/13815) @[sticnarf](https://github.com/sticnarf) - Coprocessor 支持批量处理 [#13849](https://github.com/tikv/tikv/issues/13849) @[cfzjywxk](https://github.com/cfzjywxk) - - PiTR 在写入 kv 文件时过滤无效的 kv 事件 [#13853](https://github.com/tikv/tikv/issues/13853) @[joccau](https://github.com/joccau) - 故障恢复时通知 TiKV 唤醒休眠的 region 以减少等待时间 [#13648](https://github.com/tikv/tikv/issues/13648) @[LykxSassinator](https://github.com/LykxSassinator) - 通过代码优化减少内存申请 [#13836](https://github.com/tikv/tikv/pull/13836) @[BusyJay](https://github.com/BusyJay) - - 优化 flashback 与 CDC 特性的兼容性 [#13823](https://github.com/tikv/tikv/pull/13823) @[JmPotato](https://github.com/JmPotato) - 引入 raft extension 以提升代码可扩展性 [#13864](https://github.com/tikv/tikv/pull/13864) @[BusyJay](https://github.com/BusyJay) - 通过引入 `hint_min_ts` 加速 flashback [#13842](https://github.com/tikv/tikv/pull/13842) @[JmPotato](https://github.com/JmPotato) - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13768](https://github.com/tikv/tikv/pull/13768) [@HuSharp](https://github.com/HuSharp) @@ -428,10 +429,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 修复 tikv-ctl 中 compact raft 命令的错误 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) - 修复当启用 TLS 时 log backup 无法使用的问题 [#13851](https://github.com/tikv/tikv/issues/13851) @[YuJuncen](https://github.com/YuJuncen) - 修复对 Geometry 字段类型的支持 [#13651](https://github.com/tikv/tikv/issues/13651) @[dveeden](https://github.com/dveeden) - - 修复由于删除引起的 flashback 死循环问题 [#13743](https://github.com/tikv/tikv/issues/13743) @[JmPotato](https://github.com/JmPotato) - 修复当未使用 new collation 时 `like` 无法处理 `_` 中非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) - 修复 tikv-ctl 执行 reset-to-version 时出现 segfault 的问题 [#13829](https://github.com/tikv/tikv/issues/13829) @[tabokie](https://github.com/tabokie) - - 修复 flashback 可能覆盖错误的写记录的问题 [#13844](https://github.com/tikv/tikv/issues/13844) @[JmPotato](https://github.com/JmPotato) + PD From 75539a9365718abec3c324338e29132d78df17d2 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 9 Dec 2022 10:25:19 +0800 Subject: [PATCH 071/161] update global hint and cost model v2 --- releases/release-6.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5809dbd7790d..32d24a2e6ad4 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -48,7 +48,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在大批量的数据处理场景,单一大事务 SQL 处理可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个 SQL 语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。TiDB 从 v6.1.0 开始支持非事务 `DELETE` 语句,v6.5.0 新增对非事务 `INSERT`、`REPLACE` 和 `UPDATE` 语句的支持。 - 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [BATCH](/sql-statements/sql-statement-batch.md)。 + 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [`BATCH` 语句](/sql-statements/sql-statement-batch.md)。 * 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) **tw@ran-huang** @@ -132,9 +132,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `regexp_instr` * `regexp_substr` -* 新增全局 Hint 干预[视图](/views.md)内查询的计划生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) **tw@Oreoxmt** +* 新增全局 Hint 干预[视图](/views.md)内查询计划的生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) **tw@Oreoxmt** - 当 SQL 语句中包含对视图的访问时,部分情况下需要用 Hint 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。全局 Hint 由[查询块命名](/optimizer-hints.md#第-1-步使用-qb_name-hint-重命名视图内的查询块)和 [Hint 引用](/optimizer-hints.md#第-2-步添加实际需要的-hint)两部分组成。该特性为包含复杂视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。 + 部分视图访问的场景需要用 Hint 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。该特性为包含复杂视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。全局 Hint 通过[查询块命名](/optimizer-hints.md#第-1-步使用-qb_name-hint-重命名视图内的查询块)和 [Hint 引用](/optimizer-hints.md#第-2-步添加实际需要的-hint)来开启。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 @@ -142,11 +142,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中, TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 -* 优化器代价模型 Cost Model Version 2 GA [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 优化器引入更精准的代价模型 Cost Model Version 2 [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** TiDB v6.2.0 引入了代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) 作为实验特性,通过更准确的代价估算方式,有利于最优执行计划的选择。尤其在部署了 TiFlash 的情况下,Cost Model Version 2 自动选择合理的存储引擎,避免过多的人工介入。经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA。新创建的集群将默认使用 Cost Model Version 2。对于升级到 v6.5.0 的集群,由于 Cost Model Version 2 可能会改变原有的执行计划,在经过充分的性能测试之后,你可以通过设置变量 [`tidb_cost_model_version = 2`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 使用新的代价模型。 - Cost Model Version 2 的 GA,大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 + Cost Model Version 2 成为正式功能大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 From 08466203d1855886e2995d44b7dab1bca3225020 Mon Sep 17 00:00:00 2001 From: qiancai Date: Fri, 9 Dec 2022 14:08:29 +0800 Subject: [PATCH 072/161] format updates --- releases/release-6.5.0.md | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 32d24a2e6ad4..6ac0615f0c0d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -334,11 +334,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 其他 -从 v6.5.0 起,`mysql.user` 表新增 `Password_reuse_history` 和 `Password_reuse_time` 两个字段。 +- 从 v6.5.0 起,`mysql.user` 表新增 `Password_reuse_history` 和 `Password_reuse_time` 两个字段。 - [索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)默认开启,与 [PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 功能不兼容。在使用索引加速功能时,需要确保后台没有启动 PITR 备份任务,否则可能会出现非预期结果,详情请参考[tidb_ddl_enable_fast_reorg](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)。 - - ## 废弃功能 即将于 v6.6.0 版本废弃 v4.0.7 版本引入的 Amending Transaction 机制,并使用[元数据锁](/metadata-lock.md) 替代。 @@ -372,7 +370,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + PD - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化锁的粒度以减少锁争用,提升高并发下心跳的处理能力 [#5586](https://github.com/tikv/pd/issues/5586) @[rleungx](https://github.com/rleungx) - 优化调度器在大规模集群下的性能问题,提升调度策略生产速度 [#5473](https://github.com/tikv/pd/issues/5473) @[bufferflies](https://github.com/bufferflies) - 增加 btree 的泛型性支持 [#5606](https://github.com/tikv/pd/issues/5606) @[rleungx](https://github.com/rleungx) @@ -398,14 +395,14 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiCDC - - 采用并发的方式对数据进行编码,极大提升了同步到 kafka 的吞吐能力 [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) [#7540](https://github.com/pingcap/tiflow/issues/7540) + - 采用并发的方式对数据进行编码,极大提升了同步到 kafka 的吞吐能力 [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) [#7540](https://github.com/pingcap/tiflow/issues/7540) @[3AceShowHand](https://github.com/3AceShowHand) @[sdojjy](https://github.com/sdojjy) + TiDB Data Migration (DM) - - 通过不再解析黑名单表的数据提升了 dm 同步数据的性能[#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) - - 通过异步写与批量写的方式提升 dm relay 写数据效率[#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) - - 改进 DM 前置检查的错误提示信息[#7696](https://github.com/pingcap/tiflow/pull/7696) @[buchuitoudegou](https://github.com/buchuitoudegou) - - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性[#7373](https://github.com/pingcap/tiflow/pull/7372) @[lyzx2001](https://github.com/lyzx2001) + - 通过不再解析黑名单表的数据提升了 dm 同步数据的性能 [#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) + - 通过异步写与批量写的方式提升 dm relay 写数据效率 [#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) + - 改进 DM 前置检查的错误提示信息 [#7696](https://github.com/pingcap/tiflow/pull/7696) @[buchuitoudegou](https://github.com/buchuitoudegou) + - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性 [#7373](https://github.com/pingcap/tiflow/pull/7372) @[lyzx2001](https://github.com/lyzx2001) ## 错误修复 @@ -434,7 +431,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + PD - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 修复热点调度配置在没有修改的情况下不持久化的问题 [#5701](https://github.com/tikv/pd/issues/5701) @[HunDunDM](https://github.com/HunDunDM) - 修复 rank-formula-version 在升级过程中没有保持升级前的配置的问题 [#5699](https://github.com/tikv/pd/issues/5698) @[HunDunDM](https://github.com/HunDunDM) @@ -453,11 +449,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiCDC - - 修复 PD leader crash时 CDC 卡住的问题 [#7470](https://github.com/pingcap/tiflow/issues/7470) - - 修复在执行drop table 时用户快速暂停恢复同步任务导致可能的数据丢失问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) - - 兼容上游开启 TiFlash 时版本兼容性问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) - - 修复下游网络出现故障导致cdc 卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) - - 修复用户快速删除、创建同名同步任务可能导致的数据丢失问题 [#7657](https://github.com/pingcap/tiflow/issues/7657) + - 修复 PD leader crash时 CDC 卡住的问题 [#7470](https://github.com/pingcap/tiflow/issues/7470) @[zeminzhou](https://github.com/zeminzhou) + - 修复在执行drop table 时用户快速暂停恢复同步任务导致可能的数据丢失问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) @[asddongmen](https://github.com/asddongmen) + - 兼容上游开启 TiFlash 时版本兼容性问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) @[overvenus](https://github.com/overvenus) + - 修复下游网络出现故障导致cdc 卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) @[hicqu](https://github.com/hicqu) + - 修复用户快速删除、创建同名同步任务可能导致的数据丢失问题 [#7657](https://github.com/pingcap/tiflow/issues/7657) @[overvenus](https://github.com/overvenus) + TiDB Data Migration (DM) From eaf2418853426ff3f3263a00d78a4797ac13a23d Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 13 Dec 2022 13:55:53 +0800 Subject: [PATCH 073/161] Apply suggestions from code review --- releases/release-6.5.0.md | 40 +++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 6ac0615f0c0d..591e67dcb4d6 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -209,35 +209,35 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据迁移 -* 支持导出和导入压缩后的 CSV、SQL 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) **tw@hfxsd** +* 支持导出和导入 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) **tw@hfxsd** - Dumpling 支持将数据导出为 SQL、CSV 的压缩文件,支持 gzip/snappy/zstd 三种压缩格式。Lightning 支持导入压缩后的 SQL、CSV 文件,支持gzip/snappy/zstd 三种压缩格式。 + Dumpling 支持将数据导出为 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 的压缩文件。TiDB Lightning 也支持导入这些格式的压缩文件。 - 之前用户导出数据或者导入数据都需要提供较大的存储空间,用于存储导出或者即将导入的非压缩后的 csv 、sql文件,导致存储成本增加。该功能发布后,通过压缩存储空间,可以大大降低用户的存储成本。 + 有这个功能之前,导出数据或者导入数据都需要提供较大的存储空间,用于存储导出或者即将导入的 CSV 和 SQL 文件,导致较高的存储成本。该功能发布后,通过压缩存储空间,可以大幅降低存储成本。 - 更多信息,请参考[用户文档](https://github.com/pingcap/tidb/issues/38514)。 + 更多信息,请参考[用户文档](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)。 -* 优化了 binlog 解析能力 [#无](无) @[gmhdbjd](https://github.com/GMHDBJD) **tw@hfxsd** +* 优化了 binlog 解析能力 [#924](https://github.com/pingcap/dm/issues/924) @[gmhdbjd](https://github.com/GMHDBJD) **tw@hfxsd** - 可将不在迁移任务里的库、表对象的 binlog event 过滤掉不做解析,从而提升解析效率和稳定性。该策略在 6.5 版本默认生效,用户无需额外操作。 + 可将不在迁移任务里的库、表对象的 binlog event 过滤掉,不做解析,从而提升解析效率和稳定性。该策略在 v6.5.0 版本默认生效,无需额外操作。 - 原先用户仅迁移少数几张表,也需要解析上游整个 binlog 文件,即仍需要解析该 binlog 文件中不需要迁移的表的 binlog event,效率会比较低,同时如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。通过只解析在迁移任务里的库表对象的 binlog event 可以大大提升 binlog 解析效率,提升任务稳定性。 + 有这个功能之前,即使仅迁移几张表,也需要解析上游整个 binlog 文件,即仍要解析该 binlog 文件中不需要迁移的表的 binlog event,效率较低。同时,如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。推出该功能后,通过只解析在迁移任务里的库表对象的 binlog event,可以大大提升 binlog 解析效率,提升任务稳定性。 -* TiDB Lightning 支持 disk quota 特性 GA,可避免 TiDB Lightning 任务写满本地磁盘 [#无](无) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** +* TiDB Lightning 支持 disk quota 特性 GA,可避免 TiDB Lightning 任务写满本地磁盘 [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV。TiDB Lightning 删除本地临时文件后,再继续导入过程。 - 有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。 + 有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。推出该功能后,可避免 TiDB Lightning 任务写满本地磁盘。 - 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/tidb-lightning-physical-import-mode-usage#configure-disk-quota-new-in-v620)。 + 更多信息,请参考[用户文档](/tidb-lightning-physical-import-mode-usage.md#磁盘资源配额-从-v6.2.0-版本开始引入)。 -* GA DM 增量数据校验的功能 [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +* DM 增量数据校验的功能 GA [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** - 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖于强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的,因为上下游的数据在不断变化,导致用户难以对表里面的全部数据进行一致性校验。 + 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后再对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的。由于上下游的数据在不断变化,导致用户难以对表里的全部数据进行一致性校验。 - 过去,需要中断业务,做全量数据校验,会影响用户业务。现在推出该功能后,在一些不可中断的业务场景,无需中断业务,通过该功能就可以实现增量数据校验。 + 过去,需要中断业务才能进行全量数据校验,会影响业务。推出该功能后,你无需中断业务即可实现增量数据校验。 - 更多信息,请参考[用户文档]( https://docs.pingcap.com/tidb/v6.4/dm-continuous-data-validation)。 + 更多信息,请参考[用户文档](/dm/dm-continuous-data-validation.md)。 ### 数据共享与订阅 @@ -371,9 +371,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + PD - 优化锁的粒度以减少锁争用,提升高并发下心跳的处理能力 [#5586](https://github.com/tikv/pd/issues/5586) @[rleungx](https://github.com/rleungx) - - 优化调度器在大规模集群下的性能问题,提升调度策略生产速度 [#5473](https://github.com/tikv/pd/issues/5473) @[bufferflies](https://github.com/bufferflies) - - 增加 btree 的泛型性支持 [#5606](https://github.com/tikv/pd/issues/5606) @[rleungx](https://github.com/rleungx) - - 优化心跳处理过程,减少一些不要的开销 [#5648](https://github.com/tikv/pd/issues/5648)@[rleungx](https://github.com/rleungx) + - 优化调度器在大规模集群下的性能,提升调度策略生产速度 [#5473](https://github.com/tikv/pd/issues/5473) @[bufferflies](https://github.com/bufferflies) + - 提高 PD 加载 Region 的速度 [#5606](https://github.com/tikv/pd/issues/5606) @[rleungx](https://github.com/rleungx) + - 优化心跳处理过程,减少不必要的开销 [#5648](https://github.com/tikv/pd/issues/5648)@[rleungx](https://github.com/rleungx) - 增加了自动清理 tombstone store 的功能 [#5348](https://github.com/tikv/pd/issues/5348) @[nolouch](https://github.com/nolouch) + TiFlash @@ -385,7 +385,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Dashboard - - 在慢查询页面新增三个字段 `是否由 prepare 语句生成`,`查询计划是否来自缓存`,`查询计划是否来自绑定` 的描述。 [#1445](https://github.com/pingcap/tidb-dashboard/pull/1445/files) @[shhdgit](https://github.com/shhdgit) + - 在慢查询页面新增以下三个字段:`是否由 prepare 语句生成`、`查询计划是否来自缓存`、`查询计划是否来自绑定`。[#1451](https://github.com/pingcap/tidb-dashboard/issues/1451) @[shhdgit](https://github.com/shhdgit) + Backup & Restore (BR) @@ -432,11 +432,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + PD - 修复热点调度配置在没有修改的情况下不持久化的问题 [#5701](https://github.com/tikv/pd/issues/5701) @[HunDunDM](https://github.com/HunDunDM) - - 修复 rank-formula-version 在升级过程中没有保持升级前的配置的问题 [#5699](https://github.com/tikv/pd/issues/5698) @[HunDunDM](https://github.com/HunDunDM) + - 修复 `rank-formula-version` 在升级过程中没有保持升级前的配置的问题 [#5698](https://github.com/tikv/pd/issues/5698) @[HunDunDM](https://github.com/HunDunDM) + TiFlash - - 修复 TiFlash 重启不能正确合并小文件的问题 [#6159](https://github.com/pingcap/tiflash/issues/6159) @[lidezhu](https://github.com/lidezhu) + - 修复 TiFlash 重启后不能正确合并小文件的问题 [#6159](https://github.com/pingcap/tiflash/issues/6159) @[lidezhu](https://github.com/lidezhu) - 修复 TiFlash Open File OPS 过高的问题 [#6345](https://github.com/pingcap/tiflash/issues/6345) @[JaySon-Huang](https://github.com/JaySon-Huang) + Tools From fe4ad5566f29428ac056ca8f9431d9b61fd6c778 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 13 Dec 2022 14:45:31 +0800 Subject: [PATCH 074/161] update tikv improvement --- releases/release-6.5.0.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 591e67dcb4d6..5338e92283a0 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -349,12 +349,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiKV - - `cdc.min-ts-interval` 默认值从 1s 改为 200ms 以降低 CDC 延迟 [#12840](https://github.com/tikv/tikv/issues/12840) @[hicqu](https://github.com/hicqu) - - 引入 witness peer [#12876](https://github.com/tikv/tikv/issues/12876) @[Connor1996](https://github.com/Connor1996) + - `cdc.min-ts-interval` 默认值从 `1s` 改为 `200ms` 以降低 CDC 延迟 [#12840](https://github.com/tikv/tikv/issues/12840) @[hicqu](https://github.com/hicqu) - 当剩余空间不足时停止 Raft Engine 的写入以避免硬盘空间耗尽 [#13642](https://github.com/tikv/tikv/issues/13642) @[jiayang-zheng](https://github.com/jiayang-zheng) - 实现 `json_valid` 函数下推 [#13571](https://github.com/tikv/tikv/issues/13571) @[lizhenhuan](https://github.com/lizhenhuan) - 支持在一个备份请求中同时备份多个范围的数据 [#13701](https://github.com/tikv/tikv/issues/13701) @[Leavrth](https://github.com/Leavrth) - - 更新 rusoto 库以支持备份到 ap-southeast-3 [#13751](https://github.com/tikv/tikv/issues/13751) @[3pointer](https://github.com/3pointer) + - 更新 rusoto 库以支持备份到 AWS 的 Asia Pacific (Jakarta) 区域 (ap-southeast-3) [#13751](https://github.com/tikv/tikv/issues/13751) @[3pointer](https://github.com/3pointer) - 减少悲观事务冲突 [#13298](https://github.com/tikv/tikv/issues/13298) @[MyonKeminta](https://github.com/MyonKeminta) - 缓存外部存储对象以提升恢复性能 [#13798](https://github.com/tikv/tikv/issues/13798) @[YuJuncen](https://github.com/YuJuncen) - 在专用线程中运行 CheckLeader 以缩短 TiCDC 的复制延迟 [#13774](https://github.com/tikv/tikv/issues/13774) @[overvenus](https://github.com/overvenus) From 17c99ea577154de1a18ebfcc409ef58e81fb0bbf Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 13 Dec 2022 22:21:08 +0800 Subject: [PATCH 075/161] refine descriptions of TiKV improvements and bug fixes --- releases/release-6.5.0.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 5338e92283a0..ce8fb1894500 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -360,12 +360,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - Checkpoint 支持拉取模式 [#13824](https://github.com/tikv/tikv/issues/13824) @[YuJuncen](https://github.com/YuJuncen) - 升级 crossbeam-channel 以优化发送端的自旋问题 [#13815](https://github.com/tikv/tikv/issues/13815) @[sticnarf](https://github.com/sticnarf) - Coprocessor 支持批量处理 [#13849](https://github.com/tikv/tikv/issues/13849) @[cfzjywxk](https://github.com/cfzjywxk) - - 故障恢复时通知 TiKV 唤醒休眠的 region 以减少等待时间 [#13648](https://github.com/tikv/tikv/issues/13648) @[LykxSassinator](https://github.com/LykxSassinator) - - 通过代码优化减少内存申请 [#13836](https://github.com/tikv/tikv/pull/13836) @[BusyJay](https://github.com/BusyJay) - - 引入 raft extension 以提升代码可扩展性 [#13864](https://github.com/tikv/tikv/pull/13864) @[BusyJay](https://github.com/BusyJay) - - 通过引入 `hint_min_ts` 加速 flashback [#13842](https://github.com/tikv/tikv/pull/13842) @[JmPotato](https://github.com/JmPotato) - - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13768](https://github.com/tikv/tikv/pull/13768) [@HuSharp](https://github.com/HuSharp) - - 改进持续对特定行只加锁但不更新情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) + - 故障恢复时通知 TiKV 唤醒休眠的 Region 以减少等待时间 [#13648](https://github.com/tikv/tikv/issues/13648) @[LykxSassinator](https://github.com/LykxSassinator) + - 通过代码优化减少内存申请的大小 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) + - 引入 raft extension 以提升代码可扩展性 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) + - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13760](https://github.com/tikv/tikv/issues/13760) [@HuSharp](https://github.com/HuSharp) + - 改进持续对特定行只加锁但不更新的情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) + PD @@ -421,12 +420,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiKV - - 修复 raft engine ctl 中的错误 [#13108](https://github.com/tikv/tikv/issues/13108) @[tabokie](https://github.com/tabokie) - - 修复 tikv-ctl 中 compact raft 命令的错误 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) - - 修复当启用 TLS 时 log backup 无法使用的问题 [#13851](https://github.com/tikv/tikv/issues/13851) @[YuJuncen](https://github.com/YuJuncen) - - 修复对 Geometry 字段类型的支持 [#13651](https://github.com/tikv/tikv/issues/13651) @[dveeden](https://github.com/dveeden) - - 修复当未使用 new collation 时 `like` 无法处理 `_` 中非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) - - 修复 tikv-ctl 执行 reset-to-version 时出现 segfault 的问题 [#13829](https://github.com/tikv/tikv/issues/13829) @[tabokie](https://github.com/tabokie) + - 修复 raft engine ctl 中的错误 [#11119](https://github.com/tikv/tikv/issues/11119) @[tabokie](https://github.com/tabokie) + - 修复 tikv-ctl 执行 compact raft 命令时报错的问题 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) + - 修复当启用 TLS 时 log backup 无法使用的问题 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) + - 修复对 Geometry 字段类型的支持问题 [#13651](https://github.com/tikv/tikv/issues/13651) @[dveeden](https://github.com/dveeden) + - 修复当未启用 new collation 时 `LIKE` 操作符中的 `_` 无法匹配非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) + - 修复 tikv-ctl 执行 `reset-to-version` 命令时被终止的问题 [#13829](https://github.com/tikv/tikv/issues/13829) @[tabokie](https://github.com/tabokie) + PD From 60a0e1eca8f4de449809835e728e3b58e6560567 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Dec 2022 14:14:18 +0800 Subject: [PATCH 076/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index ce8fb1894500..bfc21e1c7587 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -72,6 +72,14 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 +* 新增支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) + + 受 SQL 语句执行时各种因素的影响,之前最优的执行计划偶尔会被新的执行计划替代,进而影响 SQL 性能。在这种场景下,最优的执行计划可能仍旧在 SQL 执行历史中,还没有被清除。 + + 在 v6.5.0 中,TiDB 扩展了 `CREATE [GLOBAL | SESSION] BINDING FROM` 语句中的绑定对象,支持根据历史执行计划创建绑定。当 SQL 语句的执行计划发生改变时,只要原来的执行计划仍然在 SQL 执行历史内存表(例如,`statements_summary`)中,就可以在 `CREATE [GLOBAL | SESSION] BINDING FROM` 语句中通过指定 `plan_digest` 绑定原来的的执行计划,快速恢复 SQL 性能。此方式可以简化执行计划突变问题的处理,提升运维效率。 + + 更多信息,请参考[用户文档](/sql-plan-management.md#根据历史执行计划创建绑定)。 + ### 安全 * 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** From 143938c205bbd23f742a8ace9d0587abb143b8bb Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Dec 2022 14:20:53 +0800 Subject: [PATCH 077/161] Apply suggestions from code review --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index bfc21e1c7587..2df4a6f588f5 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -72,11 +72,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 -* 新增支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) +* 新增支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** 受 SQL 语句执行时各种因素的影响,之前最优的执行计划偶尔会被新的执行计划替代,进而影响 SQL 性能。在这种场景下,最优的执行计划可能仍旧在 SQL 执行历史中,还没有被清除。 - 在 v6.5.0 中,TiDB 扩展了 `CREATE [GLOBAL | SESSION] BINDING FROM` 语句中的绑定对象,支持根据历史执行计划创建绑定。当 SQL 语句的执行计划发生改变时,只要原来的执行计划仍然在 SQL 执行历史内存表(例如,`statements_summary`)中,就可以在 `CREATE [GLOBAL | SESSION] BINDING FROM` 语句中通过指定 `plan_digest` 绑定原来的的执行计划,快速恢复 SQL 性能。此方式可以简化执行计划突变问题的处理,提升运维效率。 + 在 v6.5.0 中,TiDB 扩展了 [`CREATE [GLOBAL | SESSION] BINDING`](/sql-statements/sql-statement-create-binding.md) 语句中的绑定对象,支持根据历史执行计划创建绑定。当 SQL 语句的执行计划发生改变时,只要原来的执行计划仍然在 SQL 执行历史内存表(例如,`statements_summary`)中,就可以在 `CREATE [GLOBAL | SESSION] BINDING` 语句中通过指定 `plan_digest` 绑定原来的的执行计划,快速恢复 SQL 性能。此方式可以简化执行计划突变问题的处理,提升运维效率。 更多信息,请参考[用户文档](/sql-plan-management.md#根据历史执行计划创建绑定)。 From 99808f5d6cd71636860677977374093d4717d3c0 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:38:01 +0800 Subject: [PATCH 078/161] Apply suggestions from code review --- releases/release-6.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2df4a6f588f5..218275ef7190 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -122,9 +122,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** - 新增了对在 WHERE 语句中使用 `AND` 联结的过滤条件的索引合并能力(v6.5 之前的版本只支持 `OR` 连接词的情况),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前版本仅支持优化器自动选择 “OR” 条件下的索引合并,用户须使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint 来开启对于 AND 联结的索引合并。 + 对于在 `WHERE` 子句中使用 `AND` 联结的过滤条件,现已支持使用索引合并特性(v6.5 之前的版本只支持对 `OR` 联结词的过滤条件使用索引合并),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前版本仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 联结的索引合并,用户须使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 - 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能), 以及优化器相关的[用户文档](/explain-index-merge.md) + 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能),以及优化器相关的[用户文档](/explain-index-merge.md) * 新增支持下推以下[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** @@ -179,13 +179,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](链接)。 -* TiDB 全局内存控制 GA [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** +* TiDB 全局内存控制成为正式功能(GA) [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** - 在 v6.5.0 中,TiDB 中主要的内存消耗都已经能被全局内存控制跟踪到。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 + 自 v6.5.0 起,全局内存控制的特性已能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今被内存管理模块跟踪:当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时,TiDB 仍旧会保证事务使用到 `txn-total-size-limit` 所设定的内存而不被取消。 - 对于运行 v6.5.0 及以上版本的客户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而由系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 + 对于运行 v6.5.0 及以上版本的用户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而使用系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 更多信息,请参考[用户文档](/configure-memory-usage.md)。 From 298b714f5786a1309547e4023afe0d911f61e7f0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Dec 2022 15:10:39 +0800 Subject: [PATCH 079/161] Apply suggestions from code review Co-authored-by: Feng Liyuan --- releases/release-6.5.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 218275ef7190..eab08c850de5 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -23,6 +23,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持通过 `INSERT INTO SELECT` 语句[保存 TiFlash 查询结果](/tiflash/tiflash-results-materialization.md)(实验特性) - 支持下推 JSON 抽取函数下推至 TiFlash - 进一步增强索引合并[INDEX MERGE](/glossary.md#index-merge)功能 +- [非事务 DML 语句](/non-transactional-dml.md) +- 支持 [Time to live (TTL)](/time-to-live.md)(实验特性) ## 新功能 @@ -76,7 +78,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 受 SQL 语句执行时各种因素的影响,之前最优的执行计划偶尔会被新的执行计划替代,进而影响 SQL 性能。在这种场景下,最优的执行计划可能仍旧在 SQL 执行历史中,还没有被清除。 - 在 v6.5.0 中,TiDB 扩展了 [`CREATE [GLOBAL | SESSION] BINDING`](/sql-statements/sql-statement-create-binding.md) 语句中的绑定对象,支持根据历史执行计划创建绑定。当 SQL 语句的执行计划发生改变时,只要原来的执行计划仍然在 SQL 执行历史内存表(例如,`statements_summary`)中,就可以在 `CREATE [GLOBAL | SESSION] BINDING` 语句中通过指定 `plan_digest` 绑定原来的的执行计划,快速恢复 SQL 性能。此方式可以简化执行计划突变问题的处理,提升运维效率。 + 在 v6.5.0 中,TiDB 扩展了 [`CREATE [GLOBAL | SESSION] BINDING`](/sql-statements/sql-statement-create-binding.md) 语句中的绑定对象,支持根据历史执行计划创建绑定。当 SQL 语句的执行计划发生改变时,只要原来的执行计划仍然在 SQL 执行历史内存表(例如,`statements_summary`)中,就可以在 `CREATE [GLOBAL | SESSION] BINDING` 语句中通过指定 `plan_digest` 绑定原来的执行计划,快速恢复 SQL 性能。此方式可以简化执行计划突变问题的处理,提升运维效率。 更多信息,请参考[用户文档](/sql-plan-management.md#根据历史执行计划创建绑定)。 From 225827b74b5e1c24b66011ac52476bd1083c38e7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Dec 2022 15:13:26 +0800 Subject: [PATCH 080/161] Apply suggestions from code review Co-authored-by: Ran --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index eab08c850de5..23eef6f719ce 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -195,7 +195,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 完善 `EXPLAIN ANALYZE` 输出结果中 TiFlash 的 TableFullScan 算子的执行信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** - [`EXPLAIN ANALYZE`] 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 + `EXPLAIN ANALYZE` 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 @@ -407,7 +407,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Data Migration (DM) - - 通过不再解析黑名单表的数据提升了 dm 同步数据的性能 [#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) + - 通过不再解析黑名单表的数据提升了 DM 同步数据的性能 [#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) - 通过异步写与批量写的方式提升 dm relay 写数据效率 [#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) - 改进 DM 前置检查的错误提示信息 [#7696](https://github.com/pingcap/tiflow/pull/7696) @[buchuitoudegou](https://github.com/buchuitoudegou) - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性 [#7373](https://github.com/pingcap/tiflow/pull/7372) @[lyzx2001](https://github.com/lyzx2001) @@ -431,7 +431,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiKV - 修复 raft engine ctl 中的错误 [#11119](https://github.com/tikv/tikv/issues/11119) @[tabokie](https://github.com/tabokie) - - 修复 tikv-ctl 执行 compact raft 命令时报错的问题 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) + - 修复 tikv-ctl 执行 `compact raft` 命令时报错的问题 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) - 修复当启用 TLS 时 log backup 无法使用的问题 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) - 修复对 Geometry 字段类型的支持问题 [#13651](https://github.com/tikv/tikv/issues/13651) @[dveeden](https://github.com/dveeden) - 修复当未启用 new collation 时 `LIKE` 操作符中的 `_` 无法匹配非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) From c9b8fd4da4a5d0e8e3c32078438b0f0010bb6f2b Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 14 Dec 2022 16:11:50 +0800 Subject: [PATCH 081/161] Apply suggestions from code review --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 23eef6f719ce..3eac87db37e1 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -124,7 +124,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** - 对于在 `WHERE` 子句中使用 `AND` 联结的过滤条件,现已支持使用索引合并特性(v6.5 之前的版本只支持对 `OR` 联结词的过滤条件使用索引合并),TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前版本仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 联结的索引合并,用户须使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 + 在 v6.5.0 前,TiDB 只支持对 `OR` 联结词的过滤条件使用索引合并特性。自 v6.5.0 起,对于在 `WHERE` 子句中使用 `AND` 联结的过滤条件,TiDB 已支持使用索引合并特性,TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前 v6.5.0 版本仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 联结的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能),以及优化器相关的[用户文档](/explain-index-merge.md) @@ -185,9 +185,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 自 v6.5.0 起,全局内存控制的特性已能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 - 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今被内存管理模块跟踪:当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 所定义的阀值时,将会触发系统变量 [tidb-mem-oom-action](/system-variables.md#tidbmemoomaction-span-classversion-mark从-v610-版本开始引入span) 所定义的行为 (默认为 `CANCEL` ,即取消操作)。 为了保证向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时,TiDB 仍旧会保证事务使用到 `txn-total-size-limit` 所设定的内存而不被取消。 + 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今被内存管理模块跟踪:当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) 所定义的阀值时,将会触发系统变量 [tidb_mem_oom_action](/system-variables.md#tidb_mem_oom_action-从-v610-版本开始引入) 所定义的行为 (默认为 `CANCEL`,即取消操作)。 为了保证向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时,TiDB 仍旧会保证事务可以使用到 `txn-total-size-limit` 所设定的内存量而不被取消。 - 对于运行 v6.5.0 及以上版本的用户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而使用系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidbmemquotaquery) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 + 对于运行 v6.5.0 及以上版本的用户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而使用系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 更多信息,请参考[用户文档](/configure-memory-usage.md)。 From dd7cd293a202dea2b2e217f8bcbf8bb6bb0cb637 Mon Sep 17 00:00:00 2001 From: Ran Date: Wed, 14 Dec 2022 17:02:29 +0800 Subject: [PATCH 082/161] Apply suggestions from code review --- releases/release-6.5.0.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 3eac87db37e1..8b8bd5801ec3 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -257,9 +257,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Storage sink 支持 changed log 格式位 canal-json/csv,此外 changed log 从 TiCDC 同步到 storage 的延迟可以达到 xx,支持更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12151/files)。 -* TiCDC 支持两个或者多个 TiDB 集群之间相互复制 @[asddongmen](https://github.com/asddongmen) **tw@shichun-0415** +* TiCDC 支持在多个 TiDB 集群之间进行双向复制 @[asddongmen](https://github.com/asddongmen) **tw@ran-huang** - TiCDC 支持在多个 TiDB 集群之间进行双向复制。 如果业务上需要 TiDB 多活,尤其是异地多活的场景,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC changefeed 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TIDB 集群之间的数据相互复制。更多信息,请参考[用户文档](/ticdc/ticdc/ticdc-bidirectional-replication.md). + TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要 TiDB 多活,尤其是异地多活的场景下,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 + + 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 * TiCDC 性能提升 **tw@shichun-0415 @@ -465,7 +467,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Data Migration (DM) - - 修复无法在上游开启 gtid mode 且无数据时启动 all mode 任务的错误 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) + - 修复在上游开启 GTID mode 且无数据时,无法启动 all mode 任务的问题 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) - 修复 DM-worker 异常重启可能引起的多 worker 写同一下游同张表的错误 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) - 修复上游数据库使用正则匹配授权时 DM 前置检查不通过的错误[#7645](https://github.com/pingcap/tiflow/issues/7645) @[lance6716](https://github.com/lance6716) From 4e1cd438a9a4c7dc0014e5dbcf880eb90468ff66 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 14 Dec 2022 17:21:32 +0800 Subject: [PATCH 083/161] Apply suggestions from code review --- releases/release-6.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 8b8bd5801ec3..69b990f25928 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -357,7 +357,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB - - 对于 `bit` and `char` 类型的列,使 `INFORMATION_SCHEMA.COLUMNS` 的显示结果与 MySQL 一致 [#25472](https://github.com/pingcap/tidb/issues/25472) @[hawkingrei](https://github.com/hawkingrei) + - 对于 `BIT` 和 `CHAR` 类型的列,使 `INFORMATION_SCHEMA.COLUMNS` 的显示结果与 MySQL 一致 [#25472](https://github.com/pingcap/tidb/issues/25472) @[hawkingrei](https://github.com/hawkingrei) + TiKV @@ -418,16 +418,16 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB - - 修复 chunk reuse 功能部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) + - 修复 chunk reuse 功能在部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) - 修复 `tidb_constraint_check_in_place_pessimistic` 可能被全局设置影响内部 session 的问题 [#38766](https://github.com/pingcap/tidb/issues/38766) @[ekexium](https://github.com/ekexium) - - 修复了 AUTO_INCREMENT 列无法和 Check 约束一起使用的问题 [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) - - 修复使用 'insert ignore into' 往 smallint 类型 auto increment 的列插入 string 类型数据会报错的问题 [#38483](https://github.com/pingcap/tidb/issues/38483) @[hawkingrei](https://github.com/hawkingrei) + - 修复了 `AUTO_INCREMENT` 列无法和 `Check` 约束一起使用的问题 [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) + - 修复使用 `INSERT IGNORE INTO` 往 `SMALLINT` 类型的自增列插入 `STRING` 类型的数据会报错的问题 [#38483](https://github.com/pingcap/tidb/issues/38483) @[hawkingrei](https://github.com/hawkingrei) - 修复了重命名分区表的分区列操作出现空指针报错的问题 [#38932](https://github.com/pingcap/tidb/issues/38932) @[mjonss](https://github.com/mjonss) - 修复了一个修改分区表的分区列导致 DDL 卡死的问题 [#38530](https://github.com/pingcap/tidb/issues/38530) @[mjonss](https://github.com/mjonss) - - 修复了从 v4.0 升级到 v6.4 后 'admin show job' 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) + - 修复了从 v4.0 升级到 v6.4 后 `ADMIN SHOW JOB` 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) - 修复了 `tidb_decode_key` 函数未正确处理分区表编码的问题 [#39304](https://github.com/pingcap/tidb/issues/39304) @[Defined2014](https://github.com/Defined2014) - - 修复了 log rotate 时,grpc 的错误日志信息未被重定向到正确的日志文件的问题 [#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) - - 修复了 `begin; select... for update;` 点查在 read engines 未配置 TiKV 时生成非预期执行计划的问题 [#39344](https://github.com/pingcap/tidb/issues/39344) @[Yisaer](https://github.com/Yisaer) + - 修复了日志轮转时,gRPC 的错误日志信息未被重定向到正确的日志文件的问题 [#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) + - 修复了 `BEGIN; SELECT... FOR UPDATE;` 点查在 read engines 未配置 TiKV 时生成非预期执行计划的问题 [#39344](https://github.com/pingcap/tidb/issues/39344) @[Yisaer](https://github.com/Yisaer) - 修复了错误地下推 `StreamAgg` 到 TiFlash 导致结果错误的问题 [#39266](https://github.com/pingcap/tidb/issues/39266) @[fixdb](https://github.com/fixdb) + TiKV From 5800e2cbf78ab0547087ca81d2f41137ff3c5146 Mon Sep 17 00:00:00 2001 From: Ran Date: Wed, 14 Dec 2022 19:09:23 +0800 Subject: [PATCH 084/161] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 69b990f25928..c83d01aea154 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -199,9 +199,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 -* 执行计划支持打印 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** +* 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** - 在新版本中,TiDB 扩展了执行计划的打印格式。 通过 `EXPLAIN FORMAT=tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 + 在 v6.5.0 中,TiDB 扩展了执行计划的打印格式。通过 `EXPLAIN FORMAT=tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain.md)。 From 026c5c89c4a9fc1213289476e3ade8b6fd19043d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Dec 2022 23:54:03 +0800 Subject: [PATCH 085/161] Apply suggestions from code review Co-authored-by: Ran --- releases/release-6.5.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c83d01aea154..a4e0aed5282b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -374,7 +374,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - Coprocessor 支持批量处理 [#13849](https://github.com/tikv/tikv/issues/13849) @[cfzjywxk](https://github.com/cfzjywxk) - 故障恢复时通知 TiKV 唤醒休眠的 Region 以减少等待时间 [#13648](https://github.com/tikv/tikv/issues/13648) @[LykxSassinator](https://github.com/LykxSassinator) - 通过代码优化减少内存申请的大小 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) - - 引入 raft extension 以提升代码可扩展性 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) + - 引入 Raft extension 以提升代码可扩展性 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) - tikv-ctl 支持查询某个 key 范围中包含哪些 Region [#13760](https://github.com/tikv/tikv/issues/13760) [@HuSharp](https://github.com/HuSharp) - 改进持续对特定行只加锁但不更新的情况下的读写性能 [#13694](https://github.com/tikv/tikv/issues/13694) [@sticnarf](https://github.com/sticnarf) @@ -410,9 +410,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Data Migration (DM) - 通过不再解析黑名单表的数据提升了 DM 同步数据的性能 [#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) - - 通过异步写与批量写的方式提升 dm relay 写数据效率 [#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) - - 改进 DM 前置检查的错误提示信息 [#7696](https://github.com/pingcap/tiflow/pull/7696) @[buchuitoudegou](https://github.com/buchuitoudegou) - - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性 [#7373](https://github.com/pingcap/tiflow/pull/7372) @[lyzx2001](https://github.com/lyzx2001) + - 通过异步写与批量写的方式提升 DM relay 的写数据效率 [#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) + - 改进 DM 前置检查的错误提示信息 [#7621](https://github.com/pingcap/tiflow/issues/7621) @[buchuitoudegou](https://github.com/buchuitoudegou) + - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性 [#5017](https://github.com/pingcap/tiflow/issues/5017) @[lyzx2001](https://github.com/lyzx2001) ## 错误修复 @@ -432,9 +432,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiKV - - 修复 raft engine ctl 中的错误 [#11119](https://github.com/tikv/tikv/issues/11119) @[tabokie](https://github.com/tabokie) + - 修复 Raft Engine ctl 中的错误 [#11119](https://github.com/tikv/tikv/issues/11119) @[tabokie](https://github.com/tabokie) - 修复 tikv-ctl 执行 `compact raft` 命令时报错的问题 [#13515](https://github.com/tikv/tikv/issues/13515) @[guoxiangCN](https://github.com/guoxiangCN) - - 修复当启用 TLS 时 log backup 无法使用的问题 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) + - 修复当启用 TLS 时日志备份无法使用的问题 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) - 修复对 Geometry 字段类型的支持问题 [#13651](https://github.com/tikv/tikv/issues/13651) @[dveeden](https://github.com/dveeden) - 修复当未启用 new collation 时 `LIKE` 操作符中的 `_` 无法匹配非 ASCII 字符的问题 [#13769](https://github.com/tikv/tikv/issues/13769) @[YangKeao](https://github.com/YangKeao) - 修复 tikv-ctl 执行 `reset-to-version` 命令时被终止的问题 [#13829](https://github.com/tikv/tikv/issues/13829) @[tabokie](https://github.com/tabokie) @@ -468,8 +468,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Data Migration (DM) - 修复在上游开启 GTID mode 且无数据时,无法启动 all mode 任务的问题 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) - - 修复 DM-worker 异常重启可能引起的多 worker 写同一下游同张表的错误 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) - - 修复上游数据库使用正则匹配授权时 DM 前置检查不通过的错误[#7645](https://github.com/pingcap/tiflow/issues/7645) @[lance6716](https://github.com/lance6716) + - (dup) 修复当 DM worker 即将退出时新 worker 调度过快导致数据被重复同步的问题 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) + - 修复上游数据库使用正则匹配授权时 DM 前置检查不通过的错误 [#7645](https://github.com/pingcap/tiflow/issues/7645) @[lance6716](https://github.com/lance6716) + TiDB Lightning From 98178169e96ab0e199913fc8f4ba009f2d4b3242 Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 15 Dec 2022 00:59:02 +0800 Subject: [PATCH 086/161] add doc links to key features --- releases/release-6.5.0.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index a4e0aed5282b..a2dcf468c3ce 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,17 +14,21 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- 优化器代价模型 V2 GA -- TiDB 全局内存控制 GA -- 全局 hint 干预视图内查询的计划生成 -- 满足密码合规审计需求 [密码管理](/password-management.md) -- TiDB 添加索引的速度提升为原来的 10 倍 -- Flashback Cluster 功能兼容 TiCDC 和 PiTR -- 支持通过 `INSERT INTO SELECT` 语句[保存 TiFlash 查询结果](/tiflash/tiflash-results-materialization.md)(实验特性) -- 支持下推 JSON 抽取函数下推至 TiFlash -- 进一步增强索引合并[INDEX MERGE](/glossary.md#index-merge)功能 -- [非事务 DML 语句](/non-transactional-dml.md) +- [代价模型 V2](/cost-model.md#cost-model-version-2) GA +- [TiDB 全局内存控制](/configure-memory-usage.md) GA +- [全局 Hint](/optimizer-hints.md#全局生效的-Hint) 干预视图内查询的计划生成 +- [密码管理](/password-management.md)满足密码合规审计需求 +- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) 功能 GA,添加索引性能提升为原来的 10 倍 +- [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 功能 GA,并兼容 TiCDC 和 PITR +- 支持[保存 TiFlash 查询结果](/tiflash/tiflash-results-materialization.md)(实验特性) +- 支持[下推 `JSON_EXTRACT()` 函数](/tiflash/tiflash-supported-pushdown-calculations.md)至 TiFlash +- 进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 +- 支持[非事务 DML 语句](/non-transactional-dml.md) - 支持 [Time to live (TTL)](/time-to-live.md)(实验特性) +- 支持通过 TiCDC [将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(S3/Azure Blob Storage/NFS) +- 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md) +- [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min +- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒 ## 新功能 @@ -330,8 +334,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`validate_password.number_count`](/system-variables.md#validate_passwordnumber_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中数字字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | | [`validate_password.policy`](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的强度,强度等级分为 `[0, 1, 2]` 。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 1 | | [`validate_password.special_char_count`](/system-variables.md#validate_passwordspecial_char_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中特殊字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | -| | | | -| | | | ### 配置文件参数 @@ -341,8 +343,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | | TiKV | [`raw-min-ts-outlier-threshold`] | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms` | -| | | | | -| | | | | ### 其他 From 65a18de7435a6174b9ec8060d298ad31c06557ca Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Dec 2022 10:16:37 +0800 Subject: [PATCH 087/161] Apply suggestions from code review Co-authored-by: Ran --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index a2dcf468c3ce..4850d8bde390 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -74,7 +74,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 使用 TiFlash 做复杂分析 - 需重复使用 TiFlash 查询结果或响应高并发的在线请求 - - 相对输入数据,计算需要得出的结果集比较小,推荐 100MiB 以内 + - 与查询的输入数据相比,所需的结果集比较小,推荐 100 MiB 以内 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 @@ -138,7 +138,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。 通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 + JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 * 新增支持下推以下 [字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** @@ -152,7 +152,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 -* 支持将 [分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** +* 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中, TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 From 6e118d5b258b783ac8372f63bef66d4df6bb769f Mon Sep 17 00:00:00 2001 From: Ran Date: Thu, 15 Dec 2022 10:54:46 +0800 Subject: [PATCH 088/161] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 4850d8bde390..aa653fe3d8a7 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -467,8 +467,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Data Migration (DM) - - 修复在上游开启 GTID mode 且无数据时,无法启动 all mode 任务的问题 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) - - (dup) 修复当 DM worker 即将退出时新 worker 调度过快导致数据被重复同步的问题 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) + - 修复在上游开启 `GTID` mode 且无数据时,无法启动 `all` mode 任务的问题 [#7037](https://github.com/pingcap/tiflow/issues/7037) @[liumengya94](https://github.com/liumengya94) + - 修复当 DM worker 即将退出时新 worker 调度过快导致数据被重复同步的问题 [#7658](https://github.com/pingcap/tiflow/issues/7658) @[GMHDBJD](https://github.com/GMHDBJD) - 修复上游数据库使用正则匹配授权时 DM 前置检查不通过的错误 [#7645](https://github.com/pingcap/tiflow/issues/7645) @[lance6716](https://github.com/lance6716) + TiDB Lightning From 15a42d987559bbc693eddac7a6f03d601c73387a Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Thu, 15 Dec 2022 11:02:27 +0800 Subject: [PATCH 089/161] review observability, ticdc, and BR new features --- releases/release-6.5.0.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index aa653fe3d8a7..413ce6fc2796 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -120,9 +120,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TiDB v6.5.0 且 TiDB Operator v1.4.0 之后,在 Kubernetes 上支持将 TiDB Dashboard 作为独立的 Pod 部署。在 TiDB Operator 环境,可直接访问该 Pod 的 IP 来打开 TiDB Dashboard。 - 独立部署 TiDB Dashboard 后,用户将获得这些收益:1. 该组件的计算将不会再对 PD 节点有压力,更好的保障集群运行;2. 如果 PD 节点因异常不可访问,也还可以继续使用 Dashboard 进行集群诊断;3. 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 + 独立部署 TiDB Dashboard,可以获得以下收益: - 具体信息,参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard) + - TiDB Dashboard 的计算将不会再对 PD 节点有压力,可以更好的保障集群运行。 + - 如果 PD 节点因异常不可访问,也还可以继续使用 TiDB Dashboard 进行集群诊断。 + - 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 + + 更多信息,参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 ### 性能 @@ -255,11 +259,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据共享与订阅 -* TiCDC 支持输出 storage sink [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** +* TiCDC 支持输出变更数据至 storage sink [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** - TiCDC 支持将 changed log 输出到 S3/Azure Blob Storage/NFS,以及兼容 S3 协议的存储服务中。Cloud Storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。 TiCDC 将 changed log 保存到文件,然后发送到 storage 中;消费程序定时从 storage 读取新产生的 changed log files 进行处理。 + TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。TiCDC 将 changed log 保存到文件,然后发送到存储系统中;消费程序定时从存储系统读取新产生的 changed log files 进行处理。 - Storage sink 支持 changed log 格式位 canal-json/csv,此外 changed log 从 TiCDC 同步到 storage 的延迟可以达到 xx,支持更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/12151/files)。 + Storage sink 支持格式为 canal-json 和 csv 的 changed log,此外 changed log 从 TiCDC 同步到存储的延迟可以达到 xx。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 * TiCDC 支持在多个 TiDB 集群之间进行双向复制 @[asddongmen](https://github.com/asddongmen) **tw@ran-huang** @@ -269,7 +273,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 性能提升 **tw@shichun-0415 - 在 TiDB 场景测试验证中, TiCDC 的性能得到了比较大提升,单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s,即使在常规的 TiKV/TiCDC 滚动升级场景同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Sync point 后,吞吐 xx rows/s 时,容灾复制延迟可以保持在 x s。 + 在 TiDB 场景测试验证中, TiCDC 的性能得到了比较大提升。 + + 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐为 xx rows/s 时,容灾复制延迟可以保持在 x s。 ### 部署及运维 @@ -287,9 +293,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 -* PITR 性能大幅提升提升 **tw@shichun-0415 +* PITR 性能大幅提升 **tw@shichun-0415 - PITR 恢复的日志恢复阶单台 TiKV 的恢复速度可以达到 xx MB/s,提升了 x 倍,恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 目标。 + PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 xx MB/s,提升了 x 倍。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 目标。 * TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** From fb5698607f530f5dec43c47f952c1f2b664d7ae1 Mon Sep 17 00:00:00 2001 From: Ran Date: Thu, 15 Dec 2022 11:07:48 +0800 Subject: [PATCH 090/161] Update releases/release-6.5.0.md Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 413ce6fc2796..72629e6e7b37 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -415,7 +415,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + TiDB Data Migration (DM) - - 通过不再解析黑名单表的数据提升了 DM 同步数据的性能 [#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) + - 通过不再解析黑名单中表的数据提升 DM 同步数据的性能 [#7622](https://github.com/pingcap/tiflow/pull/7622) @[GMHDBJD](https://github.com/GMHDBJD) - 通过异步写与批量写的方式提升 DM relay 的写数据效率 [#7580](https://github.com/pingcap/tiflow/pull/7580) @[GMHDBJD](https://github.com/GMHDBJD) - 改进 DM 前置检查的错误提示信息 [#7621](https://github.com/pingcap/tiflow/issues/7621) @[buchuitoudegou](https://github.com/buchuitoudegou) - 改进 DM 针对老版本 MySQL 使用 `SHOW SLAVE HOSTS` 获取结果时的兼容性 [#5017](https://github.com/pingcap/tiflow/issues/5017) @[lyzx2001](https://github.com/lyzx2001) From e85a402d74ad294bee78f682830fc341ab0964d3 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Thu, 15 Dec 2022 12:00:43 +0800 Subject: [PATCH 091/161] review br and ticdc improvements and bug fixes --- releases/release-6.5.0.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 72629e6e7b37..69e660e39c8b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -405,13 +405,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + Backup & Restore (BR) - - 优化清理备份日志数据是 BR 的内存使用 [#38869](https://github.com/pingcap/tidb/issues/38869) @[Leavrth](https://github.com/Leavrth) - - 提升在恢复时的稳定性,允许 PD leader 切换的情况发生 [#36910](https://github.com/pingcap/tidb/issues/36910) @[MoCuishle28](https://github.com/MoCuishle28) - - 日志备份的 tls 功能使用 openssl 协议,提升 tls 兼容性。[#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) + - 优化清理备份日志数据时 BR 的内存使用 [#38869](https://github.com/pingcap/tidb/issues/38869) @[Leavrth](https://github.com/Leavrth) + - (dup) 修复恢复过程中由于 PD leader 切换导致恢复失败的问题 [#36910](https://github.com/pingcap/tidb/issues/36910) @[MoCuishle28](https://github.com/MoCuishle28) + - 日志备份的 TLS 功能使用 OpenSSL 协议,提升 TLS 的兼容性 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) + TiCDC - - 采用并发的方式对数据进行编码,极大提升了同步到 kafka 的吞吐能力 [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) [#7540](https://github.com/pingcap/tiflow/issues/7540) @[3AceShowHand](https://github.com/3AceShowHand) @[sdojjy](https://github.com/sdojjy) + - (dup) 提升 Kafka 相关协议的编码性能 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) @[3AceShowHand](https://github.com/3AceShowHand) @[sdojjy](https://github.com/sdojjy) + TiDB Data Migration (DM) @@ -459,16 +459,16 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 + Backup & Restore (BR) - - 修复清理备份日志数据时错误删除数据导致数据丢失的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) - - 修复在大于 6.1 版本关闭 new_collation 设置,仍然恢复失败的问题 [#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) + - (dup) 修复 BR 删除日志备份数据时,会删除不应被删除的数据的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) + - (dup) 修复数据库或数据表中使用旧的排序规则框架时,数据恢复失败的问题[#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) - 修复因非 s3 存储的不兼容请求导致备份 panic 的问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + TiCDC - - 修复 PD leader crash时 CDC 卡住的问题 [#7470](https://github.com/pingcap/tiflow/issues/7470) @[zeminzhou](https://github.com/zeminzhou) - - 修复在执行drop table 时用户快速暂停恢复同步任务导致可能的数据丢失问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) @[asddongmen](https://github.com/asddongmen) - - 兼容上游开启 TiFlash 时版本兼容性问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) @[overvenus](https://github.com/overvenus) - - 修复下游网络出现故障导致cdc 卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) @[hicqu](https://github.com/hicqu) + - 修复 PD leader crash 时 TiCDC 卡住的问题 [#7470](https://github.com/pingcap/tiflow/issues/7470) @[zeminzhou](https://github.com/zeminzhou) + - (dup) 修复在执行 DDL 后,暂停然后恢复 changefeed 会导致数据丢失的问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) @[asddongmen](https://github.com/asddongmen) + - 修复存在高版本 TiFlash 时,TiCDC 会误报错的问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) @[overvenus](https://github.com/overvenus) + - (dup) 修复下游网络发生异常时 sink 模块卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) @[hicqu](https://github.com/hicqu) - 修复用户快速删除、创建同名同步任务可能导致的数据丢失问题 [#7657](https://github.com/pingcap/tiflow/issues/7657) @[overvenus](https://github.com/overvenus) + TiDB Data Migration (DM) From 5d9d24f405c0e58628f1296e842525184ccce4f0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Dec 2022 12:03:58 +0800 Subject: [PATCH 092/161] Apply suggestions from @yiwen92 --- releases/release-6.5.0.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 69e660e39c8b..7a46a309f5ec 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,17 +14,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- [代价模型 V2](/cost-model.md#cost-model-version-2) GA -- [TiDB 全局内存控制](/configure-memory-usage.md) GA -- [全局 Hint](/optimizer-hints.md#全局生效的-Hint) 干预视图内查询的计划生成 +- 通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 控制全局内存的功能 GA - [密码管理](/password-management.md)满足密码合规审计需求 -- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) 功能 GA,添加索引性能提升为原来的 10 倍 +- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) 功能 GA,添加索引的性能提升较 v6.1 提升了 10 倍 +- 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式),兼容 MySQL - [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 功能 GA,并兼容 TiCDC 和 PITR -- 支持[保存 TiFlash 查询结果](/tiflash/tiflash-results-materialization.md)(实验特性) - 支持[下推 `JSON_EXTRACT()` 函数](/tiflash/tiflash-supported-pushdown-calculations.md)至 TiFlash -- 进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 +- 增强[优化器代价模型](/cost-model.md#cost-model-version-2)并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 - 支持[非事务 DML 语句](/non-transactional-dml.md) -- 支持 [Time to live (TTL)](/time-to-live.md)(实验特性) +- 支持通过行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性) - 支持通过 TiCDC [将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(S3/Azure Blob Storage/NFS) - 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md) - [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min From fbd610f3fa70fc34a403a2f323b4190d8d5560bd Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Dec 2022 16:21:14 +0800 Subject: [PATCH 093/161] Apply suggestions from code review Co-authored-by: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> --- releases/release-6.5.0.md | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7a46a309f5ec..2a60bff73d66 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -170,23 +170,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在数据分析的场景中,通过无过滤条件的 `count(*)` 获取表的实际行数是一个常见操作。 TiFlash 在新版本中优化了 `count(*)` 的改写,自动选择带有“非空”属性的数据类型最短的列进行计数, 可以有效降低 TiFlash 上发生的 I/O 数量,进而提升获取表行数的执行效率。 - -### 事务 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 稳定性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * TiDB 全局内存控制成为正式功能(GA) [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** 自 v6.5.0 起,全局内存控制的特性已能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 @@ -346,7 +331,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | | TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | | TiKV | [`raw-min-ts-outlier-threshold`] | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | -| TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms` | +| TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms`。 | +| TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | ### 其他 From a91d0d9419ca2df1d1ba85c7d61ce35337db018f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Dec 2022 16:45:34 +0800 Subject: [PATCH 094/161] Apply suggestions from code review --- releases/release-6.5.0.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2a60bff73d66..0413f7601fb5 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -341,7 +341,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ## 废弃功能 -即将于 v6.6.0 版本废弃 v4.0.7 版本引入的 Amending Transaction 机制,并使用[元数据锁](/metadata-lock.md) 替代。 +v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 机制,并使用[元数据锁](/metadata-lock.md) 替代。 ## 改进提升 @@ -471,3 +471,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 感谢来自 TiDB 社区的贡献者们: - [贡献者 GitHub ID](链接) +- [e1ijah1](https://github.com/e1ijah1) +- [guoxiangCN](https://github.com/guoxiangCN)(首次贡献者) +- [jiayang-zheng](https://github.com/jiayang-zheng) +- [jiyfhust](https://github.com/jiyfhust) +- [mikechengwei](https://github.com/mikechengwei) +- [pingandb](https://github.com/pingandb) +- [sashashura](https://github.com/sashashura) +- [sourcelliu](https://github.com/sourcelliu) +- [wxbty](https://github.com/wxbty) From 36c9a54674fe79f1bab18d32427cf004c666baa1 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 15 Dec 2022 17:14:54 +0800 Subject: [PATCH 095/161] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-6.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 0413f7601fb5..6c9165744321 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -128,11 +128,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 性能 -* 进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** +* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持合取范式(`AND` 连接的表达式)[#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** - 在 v6.5.0 前,TiDB 只支持对 `OR` 联结词的过滤条件使用索引合并特性。自 v6.5.0 起,对于在 `WHERE` 子句中使用 `AND` 联结的过滤条件,TiDB 已支持使用索引合并特性,TiDB 的索引合并至此可以覆盖更一般的查询过滤条件组合,不再限定于并集(`OR`)关系。当前 v6.5.0 版本仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 联结的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 + 在 v6.5.0 前,TiDB 只支持对 `OR` 连接词的过滤条件使用索引合并特性。自 v6.5.0 起,TiDB 支持对于在 `WHERE` 子句中使用 `AND` 连接的过滤条件使用索引合并特性。TiDB 的索引合并至此可以覆盖更多普遍的查询过滤条件组合,不再限定于并集(`OR`)关系。v6.5.0 仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 连接的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 - 关于“索引合并”功能的介绍请参阅 [v5.4 release note](/release-5.4.0#性能),以及优化器相关的[用户文档](/explain-index-merge.md) + 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/release-5.4.0#性能),以及优化器相关的[用户文档](/explain-index-merge.md) * 新增支持下推以下[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** @@ -172,13 +172,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 稳定性 -* TiDB 全局内存控制成为正式功能(GA) [#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** +* TiDB 全局内存控制成为正式功能(GA)[#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** - 自 v6.5.0 起,全局内存控制的特性已能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的预设值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 + TiDB v6.4.0 引入了全局内存控制作为实验特性。自 v6.5.0 起,全局内存控制成为正式功能,能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的阈值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 - 需要注意的是, 会话中事务所消耗的内存 (由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值) 如今被内存管理模块跟踪:当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) 所定义的阀值时,将会触发系统变量 [tidb_mem_oom_action](/system-variables.md#tidb_mem_oom_action-从-v610-版本开始引入) 所定义的行为 (默认为 `CANCEL`,即取消操作)。 为了保证向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时,TiDB 仍旧会保证事务可以使用到 `txn-total-size-limit` 所设定的内存量而不被取消。 + 需要注意的是,会话中事务所消耗的内存(由配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 设置最大值)如今被内存管理模块跟踪:当单个会话的内存消耗达到系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) 所定义的阀值时,将会触发系统变量 [`tidb_mem_oom_action`](/system-variables.md#tidb_mem_oom_action-从-v610-版本开始引入) 所定义的行为(默认为 `CANCEL`,即取消操作)。为了保证向前兼容,当配置 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit) 为非默认值时,TiDB 仍旧会保证事务可以使用到 `txn-total-size-limit` 所设定的内存量而不被取消。 - 对于运行 v6.5.0 及以上版本的用户,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而使用系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 + 在使用 v6.5.0 及以上版本时,建议移除配置项 [`txn-total-size-limit`](/tidb-configuration-file.md#txn-total-size-limit),取消对事务内存做单独的限制,转而使用系统变量 [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) 和 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 对全局内存进行管理,从而提高内存的使用效率。 更多信息,请参考[用户文档](/configure-memory-usage.md)。 From 68d8283c6407cae7f19934e39e76aa2c21183cc9 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 15 Dec 2022 17:15:39 +0800 Subject: [PATCH 096/161] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-6.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 6c9165744321..8f54ee1a60da 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -408,13 +408,13 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 + TiDB - - 修复 chunk reuse 功能在部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) + - 修复 chunk 复用功能在部分情况下内存 chunk 被错误使用的问题 [#38917](https://github.com/pingcap/tidb/issues/38917) @[keeplearning20221](https://github.com/keeplearning20221) - 修复 `tidb_constraint_check_in_place_pessimistic` 可能被全局设置影响内部 session 的问题 [#38766](https://github.com/pingcap/tidb/issues/38766) @[ekexium](https://github.com/ekexium) - - 修复了 `AUTO_INCREMENT` 列无法和 `Check` 约束一起使用的问题 [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) + - 修复了 `AUTO_INCREMENT` 列无法和 `CHECK` 约束一起使用的问题 [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) - 修复使用 `INSERT IGNORE INTO` 往 `SMALLINT` 类型的自增列插入 `STRING` 类型的数据会报错的问题 [#38483](https://github.com/pingcap/tidb/issues/38483) @[hawkingrei](https://github.com/hawkingrei) - 修复了重命名分区表的分区列操作出现空指针报错的问题 [#38932](https://github.com/pingcap/tidb/issues/38932) @[mjonss](https://github.com/mjonss) - - 修复了一个修改分区表的分区列导致 DDL 卡死的问题 [#38530](https://github.com/pingcap/tidb/issues/38530) @[mjonss](https://github.com/mjonss) - - 修复了从 v4.0 升级到 v6.4 后 `ADMIN SHOW JOB` 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) + - 修复了修改分区表的分区列导致 DDL 卡死的问题 [#38530](https://github.com/pingcap/tidb/issues/38530) @[mjonss](https://github.com/mjonss) + - 修复了从 v4.0.16 升级到 v6.4.0 后 `ADMIN SHOW JOB` 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) - 修复了 `tidb_decode_key` 函数未正确处理分区表编码的问题 [#39304](https://github.com/pingcap/tidb/issues/39304) @[Defined2014](https://github.com/Defined2014) - 修复了日志轮转时,gRPC 的错误日志信息未被重定向到正确的日志文件的问题 [#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) - 修复了 `BEGIN; SELECT... FOR UPDATE;` 点查在 read engines 未配置 TiKV 时生成非预期执行计划的问题 [#39344](https://github.com/pingcap/tidb/issues/39344) @[Yisaer](https://github.com/Yisaer) From 25e17e99c617e292cbfe7073028941a8120eac07 Mon Sep 17 00:00:00 2001 From: Ran Date: Thu, 15 Dec 2022 18:02:41 +0800 Subject: [PATCH 097/161] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 8f54ee1a60da..97061ba54a86 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -302,12 +302,12 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略。 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | -| [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略 | +| [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | | [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | | [`tidb_index_merge_intersection_concurrency`](/system-variables.md#tidb_index_merge_intersection_concurrency-从-v650-版本开始引入) | 新增 | 这个变量用来设置索引合并进行交集操作时的最大并发度,仅在以动态裁剪模式访问分区表时有效。 | | [`tidb_source_id`](/system-variables.md#tidb_source_id-从-v650-版本开始引入) | 新增 | 设置在[双向复制](/ticdc/ticdc-bidirectional-replication.md)系统内不同集群的 ID。| | [`tidb_ttl_delete_batch_size`](/system-variables.md#tidb_ttl_delete_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中单个删除事务中允许删除的最大行数。| -| [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用来对每个 TiDB 节点的 TTL 删除操作进行限流。其值代表了在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| +| [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用于限制在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| | [`tidb_ttl_delete_worker_count`](/system-variables.md#tidb_ttl_delete_worker_count-从-v650-版本开始引入) | 新增 | 这个变量用于设置每个 TiDB 节点上 TTL 删除任务的最大并发数。| | [`tidb_ttl_job_enable`](/system-variables.md#tidb_ttl_job_enable-从-v650-版本开始引入) | 新增 | 这个变量用于控制是否启动 TTL 后台清理任务。如果设置为 `OFF`,所有具有 TTL 属性的表会自动停止清理过期数据。| | [`tidb_ttl_job_run_interval`](/system-variables.md#tidb_ttl_job_run_interval-从-v650-版本开始引入) | 新增 | 这个变量用于控制 TTL 后台清理任务的调度周期。比如,如果当前值设置成了 `1h0m0s`,则代表每张设置了 TTL 属性的表会每小时清理一次过期数据。| @@ -315,21 +315,21 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_ttl_job_schedule_window_end_time`](/system-variables.md#tidb_ttl_job_schedule_window_end_time-从-v650-版本开始引入) | 新增 | 这个变量用于控制 TTL 后台清理任务的调度窗口的结束时间。请谨慎调整此参数,过小的窗口有可能会造成过期数据的清理无法完成。| | [`tidb_ttl_scan_batch_size`](/system-variables.md#tidb_ttl_scan_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中用来扫描过期数据的每个 `SELECT` 语句的 `LIMIT` 的值。| | [`tidb_ttl_scan_worker_count`](/system-variables.md#tidb_ttl_scan_worker_count-从-v650-版本开始引入) | 新增 | 这个变量用于设置每个 TiDB 节点 TTL 扫描任务的最大并发数。| -| [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON` | -| [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,密码字典功能,设置的用户密码不允许包含字典中的单词。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 设置为 `2` (STRONG) 时,该变量才生效。默认值为空 | -| [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的开关,设置为 `ON` 后,TiDB 才进行密码复杂度检查。默认值为 `OFF` | -| [`validate_password.length`](/system-variables.md#validate_passwordlength-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码最小长度。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 8 | -| [`validate_password.mixed_case_count`](/system-variables.md#validate_passwordmixed_case_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中大写字符和小写字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | -| [`validate_password.number_count`](/system-variables.md#validate_passwordnumber_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中数字字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | -| [`validate_password.policy`](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的强度,强度等级分为 `[0, 1, 2]` 。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 1 | -| [`validate_password.special_char_count`](/system-variables.md#validate_passwordspecial_char_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中特殊字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1 | +| [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON`。 | +| [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,密码字典功能,设置的用户密码不允许包含字典中的单词。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 设置为 `2` (STRONG) 时,该变量才生效。默认值为空。 | +| [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的开关,设置为 `ON` 后,TiDB 才进行密码复杂度检查。默认值为 `OFF`。 | +| [`validate_password.length`](/system-variables.md#validate_passwordlength-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码最小长度。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 8。 | +| [`validate_password.mixed_case_count`](/system-variables.md#validate_passwordmixed_case_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中大写字符和小写字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1。 | +| [`validate_password.number_count`](/system-variables.md#validate_passwordnumber_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中数字字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1。 | +| [`validate_password.policy`](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的强度,强度等级分为 `[0, 1, 2]` 。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 1。 | +| [`validate_password.special_char_count`](/system-variables.md#validate_passwordspecial_char_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中特殊字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | -| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 "true" ,表示 TiDB 服务端将直接断开密码已过期用户的连接 | +| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接 | | TiKV | [`raw-min-ts-outlier-threshold`] | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms`。 | | TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | From 69eb0b2cdb98569f0c95b9c6ac97766566b5b09f Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Thu, 15 Dec 2022 18:22:09 +0800 Subject: [PATCH 098/161] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-6.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 97061ba54a86..9c2cfaaf1ffa 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -120,9 +120,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 独立部署 TiDB Dashboard,可以获得以下收益: - - TiDB Dashboard 的计算将不会再对 PD 节点有压力,可以更好的保障集群运行。 - - 如果 PD 节点因异常不可访问,也还可以继续使用 TiDB Dashboard 进行集群诊断。 - - 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 + - TiDB Dashboard 的计算将不会再对 PD 节点有压力,可以更好的保障集群运行。 + - 如果 PD 节点因异常不可访问,也还可以继续使用 TiDB Dashboard 进行集群诊断。 + - 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 更多信息,参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 @@ -256,7 +256,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 性能提升 **tw@shichun-0415 - 在 TiDB 场景测试验证中, TiCDC 的性能得到了比较大提升。 + 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐为 xx rows/s 时,容灾复制延迟可以保持在 x s。 @@ -272,7 +272,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) **tw@shichun-0415 - TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的的网络故障。 + TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的网络故障。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 @@ -282,7 +282,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** - TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据, 以实现 TiKV 集群 [`api-version`](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) 的升级。 + TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据,以实现 TiKV 集群 [`api-version`](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) 的升级。 更多信息,请参考[用户文档](https://tikv.org/docs/latest/concepts/explore-tikv-features/backup-restore/)。 @@ -445,7 +445,7 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 - (dup) 修复 BR 删除日志备份数据时,会删除不应被删除的数据的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) - (dup) 修复数据库或数据表中使用旧的排序规则框架时,数据恢复失败的问题[#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) - - 修复因非 s3 存储的不兼容请求导致备份 panic 的问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + - 复阿里云和华为云跟 S3 存储不完全兼容导致的备份失败的问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + TiCDC From 7c66345a12e2bf208a8fd853fba063a7b6212f14 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 15 Dec 2022 18:41:01 +0800 Subject: [PATCH 099/161] Apply suggestions from code review Co-authored-by: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> --- releases/release-6.5.0.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 9c2cfaaf1ffa..aa6d60064e8a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -214,19 +214,19 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Dumpling 支持将数据导出为 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 的压缩文件。TiDB Lightning 也支持导入这些格式的压缩文件。 - 有这个功能之前,导出数据或者导入数据都需要提供较大的存储空间,用于存储导出或者即将导入的 CSV 和 SQL 文件,导致较高的存储成本。该功能发布后,通过压缩存储空间,可以大幅降低存储成本。 + 有这个功能之前,导出数据或者导入数据都需要较大的存储空间,用于存储已经导出或即将导入的 CSV 和 SQL 文件,需要较高的存储成本。该功能发布后,通过压缩数据文件,可以大幅降低存储成本。 更多信息,请参考[用户文档](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)。 * 优化了 binlog 解析能力 [#924](https://github.com/pingcap/dm/issues/924) @[gmhdbjd](https://github.com/GMHDBJD) **tw@hfxsd** - 可将不在迁移任务里的库、表对象的 binlog event 过滤掉,不做解析,从而提升解析效率和稳定性。该策略在 v6.5.0 版本默认生效,无需额外操作。 + 该功能允许过滤掉不在迁移任务里的库和表对象的 binlog event,不做解析,从而提升解析效率和稳定性。该策略在 v6.5.0 版本默认生效,无需额外操作。 有这个功能之前,即使仅迁移几张表,也需要解析上游整个 binlog 文件,即仍要解析该 binlog 文件中不需要迁移的表的 binlog event,效率较低。同时,如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。推出该功能后,通过只解析在迁移任务里的库表对象的 binlog event,可以大大提升 binlog 解析效率,提升任务稳定性。 -* TiDB Lightning 支持 disk quota 特性 GA,可避免 TiDB Lightning 任务写满本地磁盘 [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** +* Disk quota 功能 GA [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** - 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件的过程,优先将已经完成排序的 key-value 写入到 TiKV。TiDB Lightning 删除本地临时文件后,再继续导入过程。 + 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件,而是优先将已经完成排序的 key-value 写入 TiKV。TiDB Lightning 删除本地临时文件后,再继续导入过程。 有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。推出该功能后,可避免 TiDB Lightning 任务写满本地磁盘。 @@ -378,14 +378,14 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 + TiFlash - - 提升了 TiFlash 在 SQL 端没有攒批的场景的写入性能 [#6404](https://github.com/pingcap/tiflash/issues/6404) @[lidezhu](https://github.com/lidezhu) - - 增加了 TableFullScan 的输出信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) + - 提升了 TiFlash 在 SQL 端没有攒批场景时的写入性能 [#6404](https://github.com/pingcap/tiflash/issues/6404) @[lidezhu](https://github.com/lidezhu) + - 在 `explain analyze` 结果中增加更多关于 TableFullScan 算子的信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) + Tools + TiDB Dashboard - - 在慢查询页面新增以下三个字段:`是否由 prepare 语句生成`、`查询计划是否来自缓存`、`查询计划是否来自绑定`。[#1451](https://github.com/pingcap/tidb-dashboard/issues/1451) @[shhdgit](https://github.com/shhdgit) + - 在慢查询页面新增以下三个字段:`是否由 prepare 语句生成`、`查询计划是否来自缓存`、`查询计划是否来自绑定` [#1451](https://github.com/pingcap/tidb-dashboard/issues/1451) @[shhdgit](https://github.com/shhdgit) + Backup & Restore (BR) @@ -431,13 +431,13 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 + PD - - 修复热点调度配置在没有修改的情况下不持久化的问题 [#5701](https://github.com/tikv/pd/issues/5701) @[HunDunDM](https://github.com/HunDunDM) + - 修复热点调度配置在没有修改的情况下不持久化的问题 [#5701](https://github.com/tikv/pd/issues/5701) @[HunDunDM](https://github.com/HunDunDM) - 修复 `rank-formula-version` 在升级过程中没有保持升级前的配置的问题 [#5698](https://github.com/tikv/pd/issues/5698) @[HunDunDM](https://github.com/HunDunDM) + TiFlash - - 修复 TiFlash 重启后不能正确合并小文件的问题 [#6159](https://github.com/pingcap/tiflash/issues/6159) @[lidezhu](https://github.com/lidezhu) - - 修复 TiFlash Open File OPS 过高的问题 [#6345](https://github.com/pingcap/tiflash/issues/6345) @[JaySon-Huang](https://github.com/JaySon-Huang) + - 修复 TiFlash 重启后 delta 层的小文件无法合并 (compact) 的问题 [#6159](https://github.com/pingcap/tiflash/issues/6159) @[lidezhu](https://github.com/lidezhu) + - 修复 TiFlash File Open OPS 过高的问题 [#6345](https://github.com/pingcap/tiflash/issues/6345) @[JaySon-Huang](https://github.com/JaySon-Huang) + Tools From e73fa26d911f7906896b890bf84b48440ec1b172 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Thu, 15 Dec 2022 19:03:03 +0800 Subject: [PATCH 100/161] wording --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index aa6d60064e8a..32ea053856bb 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -445,7 +445,7 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 - (dup) 修复 BR 删除日志备份数据时,会删除不应被删除的数据的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) - (dup) 修复数据库或数据表中使用旧的排序规则框架时,数据恢复失败的问题[#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) - - 复阿里云和华为云跟 S3 存储不完全兼容导致的备份失败的问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + - 修复阿里云和华为云与 S3 存储不完全兼容导致的备份失败问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + TiCDC From db72efa70257958d20ddab712a51892e7e7cdffb Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Thu, 15 Dec 2022 19:05:20 +0800 Subject: [PATCH 101/161] add the missing # before issue --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 32ea053856bb..ddf52b9116e6 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -445,7 +445,7 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 - (dup) 修复 BR 删除日志备份数据时,会删除不应被删除的数据的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) - (dup) 修复数据库或数据表中使用旧的排序规则框架时,数据恢复失败的问题[#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) - - 修复阿里云和华为云与 S3 存储不完全兼容导致的备份失败问题 [39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + - 修复阿里云和华为云与 S3 存储不完全兼容导致的备份失败问题 [#39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + TiCDC From 58c546ee25aa91f6c83305b561014f5784486743 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 15 Dec 2022 20:18:53 +0800 Subject: [PATCH 102/161] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- releases/release-6.5.0.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index ddf52b9116e6..437c99185409 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -162,7 +162,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TiDB v6.2.0 引入了代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) 作为实验特性,通过更准确的代价估算方式,有利于最优执行计划的选择。尤其在部署了 TiFlash 的情况下,Cost Model Version 2 自动选择合理的存储引擎,避免过多的人工介入。经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA。新创建的集群将默认使用 Cost Model Version 2。对于升级到 v6.5.0 的集群,由于 Cost Model Version 2 可能会改变原有的执行计划,在经过充分的性能测试之后,你可以通过设置变量 [`tidb_cost_model_version = 2`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 使用新的代价模型。 - Cost Model Version 2 成为正式功能大幅提升了 TiDB 优化器的整体能力,并切实地向更加强大的 HTAP 数据库演进。 + Cost Model Version 2 成为正式功能大幅提升了 TiDB 优化器的整体能力,并使 TiDB 切实地向更加强大的 HTAP 数据库演进。 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 @@ -351,9 +351,8 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 + TiKV - - `cdc.min-ts-interval` 默认值从 `1s` 改为 `200ms` 以降低 CDC 延迟 [#12840](https://github.com/tikv/tikv/issues/12840) @[hicqu](https://github.com/hicqu) - 当剩余空间不足时停止 Raft Engine 的写入以避免硬盘空间耗尽 [#13642](https://github.com/tikv/tikv/issues/13642) @[jiayang-zheng](https://github.com/jiayang-zheng) - - 实现 `json_valid` 函数下推 [#13571](https://github.com/tikv/tikv/issues/13571) @[lizhenhuan](https://github.com/lizhenhuan) + - 支持将 `json_valid` 函数下推至 TiKV [#13571](https://github.com/tikv/tikv/issues/13571) @[lizhenhuan](https://github.com/lizhenhuan) - 支持在一个备份请求中同时备份多个范围的数据 [#13701](https://github.com/tikv/tikv/issues/13701) @[Leavrth](https://github.com/Leavrth) - 更新 rusoto 库以支持备份到 AWS 的 Asia Pacific (Jakarta) 区域 (ap-southeast-3) [#13751](https://github.com/tikv/tikv/issues/13751) @[3pointer](https://github.com/3pointer) - 减少悲观事务冲突 [#13298](https://github.com/tikv/tikv/issues/13298) @[MyonKeminta](https://github.com/MyonKeminta) @@ -361,7 +360,7 @@ v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 - 在专用线程中运行 CheckLeader 以缩短 TiCDC 的复制延迟 [#13774](https://github.com/tikv/tikv/issues/13774) @[overvenus](https://github.com/overvenus) - Checkpoint 支持拉取模式 [#13824](https://github.com/tikv/tikv/issues/13824) @[YuJuncen](https://github.com/YuJuncen) - 升级 crossbeam-channel 以优化发送端的自旋问题 [#13815](https://github.com/tikv/tikv/issues/13815) @[sticnarf](https://github.com/sticnarf) - - Coprocessor 支持批量处理 [#13849](https://github.com/tikv/tikv/issues/13849) @[cfzjywxk](https://github.com/cfzjywxk) + - TiKV 支持批量处理 Coprocessor 任务 [#13849](https://github.com/tikv/tikv/issues/13849) @[cfzjywxk](https://github.com/cfzjywxk) - 故障恢复时通知 TiKV 唤醒休眠的 Region 以减少等待时间 [#13648](https://github.com/tikv/tikv/issues/13648) @[LykxSassinator](https://github.com/LykxSassinator) - 通过代码优化减少内存申请的大小 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) - 引入 Raft extension 以提升代码可扩展性 [#13827](https://github.com/tikv/tikv/issues/13827) @[BusyJay](https://github.com/BusyJay) From f7f0cc738699e37293955f066a5e46c001a3ec00 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Dec 2022 23:05:06 +0800 Subject: [PATCH 103/161] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> Co-authored-by: Ran Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-6.5.0.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 437c99185409..d1e64a31fc6c 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -166,9 +166,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/cost-model.md#cost-model-version-2)。 -* TiFlash 对获取表行数的操作进行针对优化 [#37165](https://github.com/pingcap/tidb/issues/37165) @[elsa0520](https://github.com/elsa0520) +* TiFlash 对获取表行数的操作进行优化 [#37165](https://github.com/pingcap/tidb/issues/37165) @[elsa0520](https://github.com/elsa0520) - 在数据分析的场景中,通过无过滤条件的 `count(*)` 获取表的实际行数是一个常见操作。 TiFlash 在新版本中优化了 `count(*)` 的改写,自动选择带有“非空”属性的数据类型最短的列进行计数, 可以有效降低 TiFlash 上发生的 I/O 数量,进而提升获取表行数的执行效率。 + 在数据分析的场景中,通过无过滤条件的 `COUNT(*)` 获取表的实际行数是一个常见操作。TiFlash 在 v6.5.0 中优化了 `COUNT(*)` 的改写,自动选择带有“非空”属性且列定义最短的列进行计数,这样可以有效降低 TiFlash 上发生的 I/O 数量,进而提升获取表行数的执行效率。 ### 稳定性 @@ -292,6 +292,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| +|[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 开始,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| @@ -330,7 +331,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | -------- | -------- | -------- | -------- | | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | | TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接 | -| TiKV | [`raw-min-ts-outlier-threshold`] | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | +| TiKV | `raw-min-ts-outlier-threshold` | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms`。 | | TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | @@ -341,7 +342,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ## 废弃功能 -v6.5.0 的下一个 v6.x 版本(即 v6.6.0) 将废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 机制,并使用[元数据锁](/metadata-lock.md) 替代。 +v6.5.0 版本开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 机制,并使用[元数据锁](/metadata-lock.md)替代。 ## 改进提升 From c3928fc3f09c67a4748a07786df177d140471a4d Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 15 Dec 2022 23:55:55 +0800 Subject: [PATCH 104/161] refine the key feature descriptions --- releases/release-6.5.0.md | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d1e64a31fc6c..d2b29748f6f6 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,18 +14,20 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- 通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 控制全局内存的功能 GA -- [密码管理](/password-management.md)满足密码合规审计需求 -- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) 功能 GA,添加索引的性能提升较 v6.1 提升了 10 倍 -- 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式),兼容 MySQL -- [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 功能 GA,并兼容 TiCDC 和 PITR -- 支持[下推 `JSON_EXTRACT()` 函数](/tiflash/tiflash-supported-pushdown-calculations.md)至 TiFlash -- 增强[优化器代价模型](/cost-model.md#cost-model-version-2)并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能 -- 支持[非事务 DML 语句](/non-transactional-dml.md) -- 支持通过行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性) -- 支持通过 TiCDC [将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(S3/Azure Blob Storage/NFS) -- 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md) -- [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min +- 默认开启[索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入),添加索引的性能提升较 v6.1 提升了 10 倍。 +- 支持通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 控制 TiDB 全局内存。 +- 支持 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md),兼容 TiCDC 和 PITR。 +- 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式),兼容 MySQL。 +- 增强[优化器代价模型](/cost-model.md#cost-model-version-2),并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能。 +- 支持[下推 `JSON_EXTRACT()` 函数](/tiflash/tiflash-supported-pushdown-calculations.md)至 TiFlash。 +- TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 +- TiDB Data Migration (DM) 支持[增量数据校验](/dm/dm-continuous-data-validation.md)。 +- 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 +- 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 +- 支持使用[非事务 DML 语句](/non-transactional-dml.md),提升集群稳定性。 +- TiCDC 支持[将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(S3/Azure Blob Storage/NFS)。 +- 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md)。 +- [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒 ## 新功能 @@ -260,14 +262,6 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐为 xx rows/s 时,容灾复制延迟可以保持在 x s。 -### 部署及运维 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 备份和恢复 * TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) **tw@shichun-0415 @@ -470,7 +464,6 @@ v6.5.0 版本开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-v 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID](链接) - [e1ijah1](https://github.com/e1ijah1) - [guoxiangCN](https://github.com/guoxiangCN)(首次贡献者) - [jiayang-zheng](https://github.com/jiayang-zheng) From 5cc423c92eeac264f073dcc8fafe4fd18190214d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Dec 2022 09:35:21 +0800 Subject: [PATCH 105/161] format updates --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d2b29748f6f6..f74cdbd5ea04 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -28,7 +28,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - TiCDC 支持[将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(S3/Azure Blob Storage/NFS)。 - 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md)。 - [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 -- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒 +- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 ## 新功能 From 7bf48f88c8cfcf02c0f999798b8b7185fa3acffc Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Fri, 16 Dec 2022 09:42:19 +0800 Subject: [PATCH 106/161] Update releases/release-6.5.0.md Co-authored-by: Aolin --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index f74cdbd5ea04..df483bd4ffcd 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -411,7 +411,7 @@ v6.5.0 版本开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-v - 修复了从 v4.0.16 升级到 v6.4.0 后 `ADMIN SHOW JOB` 操作崩溃的问题 [#38980](https://github.com/pingcap/tidb/issues/38980) @[tangenta](https://github.com/tangenta) - 修复了 `tidb_decode_key` 函数未正确处理分区表编码的问题 [#39304](https://github.com/pingcap/tidb/issues/39304) @[Defined2014](https://github.com/Defined2014) - 修复了日志轮转时,gRPC 的错误日志信息未被重定向到正确的日志文件的问题 [#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) - - 修复了 `BEGIN; SELECT... FOR UPDATE;` 点查在 read engines 未配置 TiKV 时生成非预期执行计划的问题 [#39344](https://github.com/pingcap/tidb/issues/39344) @[Yisaer](https://github.com/Yisaer) + - 修复了 `BEGIN; SELECT... FOR UPDATE;` 点查在读数据存储引擎 (`tidb_isolation_read_engines`) 未配置 TiKV 时生成非预期执行计划的问题 [#39344](https://github.com/pingcap/tidb/issues/39344) @[Yisaer](https://github.com/Yisaer) - 修复了错误地下推 `StreamAgg` 到 TiFlash 导致结果错误的问题 [#39266](https://github.com/pingcap/tidb/issues/39266) @[fixdb](https://github.com/fixdb) + TiKV From f247e3750c900d12a2d76f4f6d7c9cd05ec07aff Mon Sep 17 00:00:00 2001 From: yiwen92 <34636520+yiwen92@users.noreply.github.com> Date: Fri, 16 Dec 2022 10:49:54 +0800 Subject: [PATCH 107/161] Update releases/release-6.5.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 默认开启索引加速功能,添加索引的性能提升较 v6.1 提升了 10 倍。 支持通过 tidb_server_memory_limit 控制 TiDB 全局内存。 支持高性能、全局单调递增的 AUTO_INCREMENT 列属性,兼容 MySQL。 支持 FLASHBACK CLUSTER TO TIMESTAMP,兼容 TiCDC 和 PITR。 支持使用非事务 DML 语句,提升在批场景下的稳定易用。 增强优化器代价模型,并进一步增强索引合并 INDEX MERGE 功能。 支持下推 JSON_EXTRACT() 函数至 TiFlash。 支持密码管理策略,满足密码合规审计需求。 TiDB Lightning 和 Dumpling 支持导入和导出压缩格式文件。 TiDB Data Migration (DM) 支持增量数据校验。 TiDB 快照备份支持断点续传,PITR 性能提升 x 倍,RPO 降低到 x min。 TiCDC 同步数据到 Kafka 吞吐提升 x 倍,复制延迟降低到 x 秒。 实验特性: 提供行级别 Time to live (TTL) 管理数据生命周期(实验特性)。 支持通过 INSERT INTO SELECT 语句保存 TiFlash 查询结果(实验特性)。 TiCDC 支持 S3/Azure Blob Storage/NFS 对象存储(实验特性)。 Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index df483bd4ffcd..1755dea2c53e 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -25,7 +25,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 - 支持使用[非事务 DML 语句](/non-transactional-dml.md),提升集群稳定性。 -- TiCDC 支持[将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(S3/Azure Blob Storage/NFS)。 +- TiCDC 支持[将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(例如,Amazon S3、Azure Blob Storage、NFS)。 - 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md)。 - [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 From a6fd54802ee9e82b252f4b56e7df9df8ff3dccad Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Dec 2022 11:15:10 +0800 Subject: [PATCH 108/161] Apply suggestions from yiwen92 --- releases/release-6.5.0.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 1755dea2c53e..2db85021e817 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -16,19 +16,17 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 默认开启[索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入),添加索引的性能提升较 v6.1 提升了 10 倍。 - 支持通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 控制 TiDB 全局内存。 -- 支持 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md),兼容 TiCDC 和 PITR。 - 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式),兼容 MySQL。 +- 支持 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md),兼容 TiCDC 和 PITR。 - 增强[优化器代价模型](/cost-model.md#cost-model-version-2),并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能。 -- 支持[下推 `JSON_EXTRACT()` 函数](/tiflash/tiflash-supported-pushdown-calculations.md)至 TiFlash。 +- 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 +- 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 支持[增量数据校验](/dm/dm-continuous-data-validation.md)。 -- 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 -- 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 -- 支持使用[非事务 DML 语句](/non-transactional-dml.md),提升集群稳定性。 -- TiCDC 支持[将实时变更数据保存到存储服务](ticdc/ticdc-sink-to-cloud-storage.md)(例如,Amazon S3、Azure Blob Storage、NFS)。 -- 支持在两套或者多套 TiDB 集群之间进行[双向复制](/ticdc/ticdc-bidirectional-replication.md)。 -- [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 +- TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 +- 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 +- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的 [对象存储](ticdc/ticdc-sink-to-cloud-storage.md) ## 新功能 From b629e4347d4df0ed9eaf3145968e11ca5682b485 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Dec 2022 11:16:21 +0800 Subject: [PATCH 109/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2db85021e817..166e26eead59 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -26,7 +26,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 -- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的 [对象存储](ticdc/ticdc-sink-to-cloud-storage.md) +- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的 [对象存储](ticdc/ticdc-sink-to-cloud-storage.md)。 ## 新功能 From 0fecbc919a3f1c4f4a96017fb53538d340e6e949 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Dec 2022 11:46:35 +0800 Subject: [PATCH 110/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 166e26eead59..14dc40506eed 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -26,7 +26,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 -- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的 [对象存储](ticdc/ticdc-sink-to-cloud-storage.md)。 +- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 ## 新功能 From 4ed26d14209d6b857bcce8942846878586b1b072 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Fri, 16 Dec 2022 12:03:51 +0800 Subject: [PATCH 111/161] add experimental to FD-888 Co-authored-by: Grace Cai --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 14dc40506eed..400e07ee50cf 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -242,7 +242,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据共享与订阅 -* TiCDC 支持输出变更数据至 storage sink [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** +* TiCDC 支持输出变更数据至 storage sink(实验特性) [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。TiCDC 将 changed log 保存到文件,然后发送到存储系统中;消费程序定时从存储系统读取新产生的 changed log files 进行处理。 From ab8b6b4a57f27c1771f5a5624181a70efa687c2c Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Fri, 16 Dec 2022 12:09:28 +0800 Subject: [PATCH 112/161] remove dup label --- releases/release-6.5.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 400e07ee50cf..2e25594a9abd 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -382,12 +382,12 @@ v6.5.0 版本开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-v + Backup & Restore (BR) - 优化清理备份日志数据时 BR 的内存使用 [#38869](https://github.com/pingcap/tidb/issues/38869) @[Leavrth](https://github.com/Leavrth) - - (dup) 修复恢复过程中由于 PD leader 切换导致恢复失败的问题 [#36910](https://github.com/pingcap/tidb/issues/36910) @[MoCuishle28](https://github.com/MoCuishle28) + - 修复恢复过程中由于 PD leader 切换导致恢复失败的问题 [#36910](https://github.com/pingcap/tidb/issues/36910) @[MoCuishle28](https://github.com/MoCuishle28) - 日志备份的 TLS 功能使用 OpenSSL 协议,提升 TLS 的兼容性 [#13867](https://github.com/tikv/tikv/issues/13867) @[YuJuncen](https://github.com/YuJuncen) + TiCDC - - (dup) 提升 Kafka 相关协议的编码性能 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) @[3AceShowHand](https://github.com/3AceShowHand) @[sdojjy](https://github.com/sdojjy) + - 提升 Kafka 相关协议的编码性能 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7532](https://github.com/pingcap/tiflow/issues/7532) [#7543](https://github.com/pingcap/tiflow/issues/7543) @[3AceShowHand](https://github.com/3AceShowHand) @[sdojjy](https://github.com/sdojjy) + TiDB Data Migration (DM) @@ -435,16 +435,16 @@ v6.5.0 版本开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-v + Backup & Restore (BR) - - (dup) 修复 BR 删除日志备份数据时,会删除不应被删除的数据的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) - - (dup) 修复数据库或数据表中使用旧的排序规则框架时,数据恢复失败的问题[#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) + - 修复 BR 删除日志备份数据时,会删除不应被删除的数据的问题 [#38939](https://github.com/pingcap/tidb/issues/38939) @[Leavrth](https://github.com/Leavrth) + - 修复数据库或数据表中使用旧的排序规则框架时,数据恢复失败的问题[#39150](https://github.com/pingcap/tidb/issues/39150) @[MoCuishle28](https://github.com/MoCuishle28) - 修复阿里云和华为云与 S3 存储不完全兼容导致的备份失败问题 [#39545](https://github.com/pingcap/tidb/issues/39545) @[3pointer](https://github.com/3pointer) + TiCDC - 修复 PD leader crash 时 TiCDC 卡住的问题 [#7470](https://github.com/pingcap/tiflow/issues/7470) @[zeminzhou](https://github.com/zeminzhou) - - (dup) 修复在执行 DDL 后,暂停然后恢复 changefeed 会导致数据丢失的问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) @[asddongmen](https://github.com/asddongmen) + - 修复在执行 DDL 后,暂停然后恢复 changefeed 会导致数据丢失的问题 [#7682](https://github.com/pingcap/tiflow/issues/7682) @[asddongmen](https://github.com/asddongmen) - 修复存在高版本 TiFlash 时,TiCDC 会误报错的问题 [#7744](https://github.com/pingcap/tiflow/issues/7744) @[overvenus](https://github.com/overvenus) - - (dup) 修复下游网络发生异常时 sink 模块卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) @[hicqu](https://github.com/hicqu) + - 修复下游网络发生异常时 sink 模块卡住的问题 [#7706](https://github.com/pingcap/tiflow/issues/7706) @[hicqu](https://github.com/hicqu) - 修复用户快速删除、创建同名同步任务可能导致的数据丢失问题 [#7657](https://github.com/pingcap/tiflow/issues/7657) @[overvenus](https://github.com/overvenus) + TiDB Data Migration (DM) From 726b2128c9f623af23b80895d27cc8d2aefb3d38 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 16 Dec 2022 14:10:28 +0800 Subject: [PATCH 113/161] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2e25594a9abd..2a4b1621c0f7 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,11 +14,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- 默认开启[索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入),添加索引的性能提升较 v6.1 提升了 10 倍。 +- 默认开启[添加索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入),添加索引的性能提升为 v6.1.0 的约 10 倍。 - 支持通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 控制 TiDB 全局内存。 - 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式),兼容 MySQL。 -- 支持 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md),兼容 TiCDC 和 PITR。 -- 增强[优化器代价模型](/cost-model.md#cost-model-version-2),并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能。 +- 支持通过 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 命令将集群快速回退到特定的时间点,兼容 TiCDC 和 PITR。 +- 优化器进一步增强更精准的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能对合取范式的支持。 - 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 From 5dc05d384bc61e5212965ec05868a5b0ec023090 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 16 Dec 2022 14:47:55 +0800 Subject: [PATCH 114/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2a4b1621c0f7..ae35464c7069 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -22,7 +22,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 -- TiDB Data Migration (DM) 支持[增量数据校验](/dm/dm-continuous-data-validation.md)。 +- TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 - TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 From 8d1b66a04804892dfdaa765196b7e209efaee20e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 19 Dec 2022 09:36:18 +0800 Subject: [PATCH 115/161] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index ae35464c7069..967f78de7735 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -330,7 +330,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 其他 - 从 v6.5.0 起,`mysql.user` 表新增 `Password_reuse_history` 和 `Password_reuse_time` 两个字段。 -- [索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)默认开启,与 [PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 功能不兼容。在使用索引加速功能时,需要确保后台没有启动 PITR 备份任务,否则可能会出现非预期结果,详情请参考[tidb_ddl_enable_fast_reorg](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)。 +- [添加索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)默认开启,与 [PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 不兼容。在使用索引加速功能时,需要确保后台没有启动 PITR 备份任务,否则可能会出现非预期结果。详情请参考 [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)。 ## 废弃功能 From 9b2e28b83c45f3c110260c83bbb292b640cfe233 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 19 Dec 2022 11:03:07 +0800 Subject: [PATCH 116/161] Apply suggestions from code review --- releases/release-6.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 967f78de7735..a9a600b71c8f 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,10 +14,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- 默认开启[添加索引加速功能](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入),添加索引的性能提升为 v6.1.0 的约 10 倍。 -- 支持通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 控制 TiDB 全局内存。 -- 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式),兼容 MySQL。 -- 支持通过 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 命令将集群快速回退到特定的时间点,兼容 TiCDC 和 PITR。 +- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)特性 GA,添加索引的性能提升为 v6.1.0 的约 10 倍。 +- TiDB 全局内存控制特性 GA,通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 即可管理全局内存阈值。 +- 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式) GA,兼容 MySQL。 +- [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 特性 GA,可将集群快速回退到特定的时间点,兼容 TiCDC 和 PITR。 - 优化器进一步增强更精准的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能对合取范式的支持。 - 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 From 5614e02a3e3de07f07048df2a9a27707b4024e06 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 19 Dec 2022 11:59:12 +0800 Subject: [PATCH 117/161] minor wording and format updates --- releases/release-6.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index a9a600b71c8f..3345ed51eecc 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -14,7 +14,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 相比于前一个 LTS (即 6.1.0 版本),6.5.0 版本包含 [6.2.0-DMR](/releases/release-6.2.0.md)、[6.3.0-DMR](/releases/release-6.3.0.md)、[6.4.0-DMR](/releases/release-6.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: -- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)特性 GA,添加索引的性能提升为 v6.1.0 的约 10 倍。 +- [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)特性 GA,添加索引的性能约提升为 v6.1.0 的 10 倍。 - TiDB 全局内存控制特性 GA,通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 即可管理全局内存阈值。 - 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式) GA,兼容 MySQL。 - [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 特性 GA,可将集群快速回退到特定的时间点,兼容 TiCDC 和 PITR。 @@ -76,7 +76,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 -* 新增支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** +* 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** 受 SQL 语句执行时各种因素的影响,之前最优的执行计划偶尔会被新的执行计划替代,进而影响 SQL 性能。在这种场景下,最优的执行计划可能仍旧在 SQL 执行历史中,还没有被清除。 @@ -124,7 +124,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 如果 PD 节点因异常不可访问,也还可以继续使用 TiDB Dashboard 进行集群诊断。 - 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 - 更多信息,参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 + 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 ### 性能 @@ -134,7 +134,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/release-5.4.0#性能),以及优化器相关的[用户文档](/explain-index-merge.md) -* 新增支持下推以下[JSON 函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** +* 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** * `->` * `->>` @@ -142,7 +142,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 -* 新增支持下推以下 [字符串函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** +* 新增支持下推以下字符串函数至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `regexp_like` * `regexp_instr` @@ -322,7 +322,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | -| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接 | +| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接。 | | TiKV | `raw-min-ts-outlier-threshold` | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms`。 | | TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | @@ -334,7 +334,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ## 废弃功能 -v6.5.0 版本开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 机制,并使用[元数据锁](/metadata-lock.md)替代。 +v6.5.0 开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入) 机制,并使用[元数据锁](/metadata-lock.md)替代。 ## 改进提升 From 33924e8a1258821108ee896c53cc97ad2b7b9e27 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Mon, 19 Dec 2022 12:02:58 +0800 Subject: [PATCH 118/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 3345ed51eecc..bf557b3fa9b0 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -128,7 +128,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 性能 -* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持合取范式(`AND` 连接的表达式)[#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** +* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持 `AND` 连接的表达式 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** 在 v6.5.0 前,TiDB 只支持对 `OR` 连接词的过滤条件使用索引合并特性。自 v6.5.0 起,TiDB 支持对于在 `WHERE` 子句中使用 `AND` 连接的过滤条件使用索引合并特性。TiDB 的索引合并至此可以覆盖更多普遍的查询过滤条件组合,不再限定于并集(`OR`)关系。v6.5.0 仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 连接的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 From cc9e669a2eec46373153ee3328d7f701bfd5df24 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 19 Dec 2022 14:20:47 +0800 Subject: [PATCH 119/161] Update releases/release-6.5.0.md Co-authored-by: Aolin --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index bf557b3fa9b0..b4fa7bcea011 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -18,7 +18,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - TiDB 全局内存控制特性 GA,通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 即可管理全局内存阈值。 - 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式) GA,兼容 MySQL。 - [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 特性 GA,可将集群快速回退到特定的时间点,兼容 TiCDC 和 PITR。 -- 优化器进一步增强更精准的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2),并进一步增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能对合取范式的支持。 +- 优化器引入的更精准的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) GA,同时优化器增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能对 `AND` 连接的表达式的支持。 - 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 From 9ed20f6f30374a6dbcc76d334918eee69f8deaee Mon Sep 17 00:00:00 2001 From: Ian Date: Tue, 20 Dec 2022 11:23:31 +0800 Subject: [PATCH 120/161] Apply suggestions from code review --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index b4fa7bcea011..c517863afd46 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -244,7 +244,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持输出变更数据至 storage sink(实验特性) [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** - TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。TiCDC 将 changed log 保存到文件,然后发送到存储系统中;消费程序定时从存储系统读取新产生的 changed log files 进行处理。 + TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 Storage sink 支持格式为 canal-json 和 csv 的 changed log,此外 changed log 从 TiCDC 同步到存储的延迟可以达到 xx。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 From 3363e6db803e8bed212518859848569501bc75d2 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Dec 2022 12:05:25 +0800 Subject: [PATCH 121/161] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-6.5.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c517863afd46..f7c0b57c7ed6 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -42,7 +42,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/metadata-lock.md)。 -* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) **tw@Oreoxmt** +* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) **tw@Oreoxmt** TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并兼容 PITR 和 TiCDC 等工具。 @@ -54,15 +54,15 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [`BATCH` 语句](/sql-statements/sql-statement-batch.md)。 -* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) **tw@ran-huang** +* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) **tw@ran-huang** TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 更多信息,请参考[用户文档](/time-to-live.md)。 -* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性) [#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** +* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性)[#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** - 从 v6.5.0 起, TiDB 支持下推 `INSERT INTO SELECT` 语句中的 `SELECT` 子句(分析查询)到 TiFlash,你可以将 TiFlash 的查询结果方便地保存到 `INSERT INTO` 指定的 TiDB 表中供后续分析使用,起到了结果缓存(即结果物化)的效果。例如: + 从 v6.5.0 起,TiDB 支持下推 `INSERT INTO SELECT` 语句中的 `SELECT` 子句(分析查询)到 TiFlash,你可以将 TiFlash 的查询结果方便地保存到 `INSERT INTO` 指定的 TiDB 表中供后续分析使用,起到了结果缓存(即结果物化)的效果。例如: ```sql INSERT INTO t2 SELECT Mod(x,y) FROM t1; @@ -74,7 +74,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 需重复使用 TiFlash 查询结果或响应高并发的在线请求 - 与查询的输入数据相比,所需的结果集比较小,推荐 100 MiB 以内 - 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 + 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 * 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** @@ -124,7 +124,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 如果 PD 节点因异常不可访问,也还可以继续使用 TiDB Dashboard 进行集群诊断。 - 在开放 TiDB Dashboard 到外网时,不用担心 PD 中的特权端口的权限问题,降低集群的安全风险。 - 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 + 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 ### 性能 @@ -158,7 +158,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中, TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 -* 优化器引入更精准的代价模型 Cost Model Version 2 [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 优化器引入更精准的代价模型 Cost Model Version 2 (GA) [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** TiDB v6.2.0 引入了代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) 作为实验特性,通过更准确的代价估算方式,有利于最优执行计划的选择。尤其在部署了 TiFlash 的情况下,Cost Model Version 2 自动选择合理的存储引擎,避免过多的人工介入。经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA。新创建的集群将默认使用 Cost Model Version 2。对于升级到 v6.5.0 的集群,由于 Cost Model Version 2 可能会改变原有的执行计划,在经过充分的性能测试之后,你可以通过设置变量 [`tidb_cost_model_version = 2`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 使用新的代价模型。 @@ -198,7 +198,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### MySQL 兼容性 -* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** +* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 (GA) [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** TiDB v6.4.0 引入了 `AUTO_INCREMENT` 的 MySQL 兼容模式作为实验特性,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增。使用该特性能够更容易地实现查询结果按自增 ID 排序。该功能在 v6.5.0 正式 GA。使用该功能的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。要使用 MySQL 兼容模式,你需要在建表时将 `AUTO_ID_CACHE` 设置为 `1`。 From 2132692fcc9086aadb5851c35822ad5eec3e840b Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Tue, 20 Dec 2022 14:11:33 +0800 Subject: [PATCH 122/161] Apply suggestions from code review Co-authored-by: Ian Co-authored-by: Aolin --- releases/release-6.5.0.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index f7c0b57c7ed6..20c18ac297c8 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -253,6 +253,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要 TiDB 多活,尤其是异地多活的场景下,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 + + * TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) **tw@shichun-0415** + + TiCDC 支持在线更新 TLS 证书。用户为了数据安全,会对系统使用的证书设置相应的过期策略,系统经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新新证书,无需用户手动操作,满足用户对证书更新的需求。 * TiCDC 性能提升 **tw@shichun-0415 @@ -272,7 +276,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 xx MB/s,提升了 x 倍。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 目标。 -* TiKV-BR 工具 GA, 支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** +* TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据,以实现 TiKV 集群 [`api-version`](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) 的升级。 From 7672734c830950ed3b8d817423b9122ce106cc9a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Dec 2022 15:23:20 +0800 Subject: [PATCH 123/161] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-6.5.0.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 20c18ac297c8..7527ea070879 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -32,11 +32,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### SQL -* TiDB 添加索引的性能提升为原来的 10 倍 [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) **tw@Oreoxmt** +* TiDB 添加索引的性能提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) **tw@Oreoxmt** TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)作为实验特性,提升了添加索引回填过程的速度。该功能在 v6.5.0 正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。添加索引加速适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 -* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) **tw@Oreoxmt** +* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) **tw@Oreoxmt** TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。 @@ -126,6 +126,17 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 ++ Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 + + TiDB 从 v6.1.0 起在 Grafana 中引入了 Performance Overview 面板,为 TiDB、TiKV、PD 提供了系统级别的总体性能诊断入口。在 v6.5.0 中,Performance Overview 面板中新增了 TiFlash 和 CDC 面板。通过此次新增,从 v6.5.0 起,使用单个 Performance Overview 面板即可分析 TiDB 集群中所有组件的性能。 + + TiFlash 和 CDC 面板重新编排了 TiFlash 和 TiCDC 相关的监控信息,可以帮助你大幅提高 TiFlash 和 TiCDC 的性能分析和故障诊断效率: + + - 通过 [TiFlash 面板](/grafana-performance-overview-dashboard.md#tiflash),你可以直观地了解 TiFlash 集群的请求类型、延迟分析和资源使用概览。 + - 通过 [CDC 面板](/grafana-performance-overview-dashboard.md#cdc),你可以直观地了解 TiCDC 的集群的健康状况、同步延迟、数据流和下游写入延迟等信息。 + + 更多信息,请参考[用户文档](performance-tuning-method.md/)。 + ### 性能 * 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持 `AND` 连接的表达式 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** @@ -140,7 +151,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * `->>` * `JSON_EXTRACT()` - JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 + JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 * 新增支持下推以下字符串函数至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** @@ -156,7 +167,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** - [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中, TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 + [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中,TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 * 优化器引入更精准的代价模型 Cost Model Version 2 (GA) [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** From c7ad19900ead6f42e1fb6f0a7c1182410b1bff6e Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Tue, 20 Dec 2022 16:35:37 +0800 Subject: [PATCH 124/161] Update releases/release-6.5.0.md Co-authored-by: xixirangrang --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7527ea070879..11e4b8fc207c 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -267,7 +267,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) **tw@shichun-0415** - TiCDC 支持在线更新 TLS 证书。用户为了数据安全,会对系统使用的证书设置相应的过期策略,系统经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新新证书,无需用户手动操作,满足用户对证书更新的需求。 + 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 * TiCDC 性能提升 **tw@shichun-0415 From e5636e1fb074514915ba6de3150b4fc6eafbbea7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Dec 2022 16:36:06 +0800 Subject: [PATCH 125/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 11e4b8fc207c..d4963e83df4d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -126,7 +126,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 -+ Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 ++ Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) **tw@qiancai** TiDB 从 v6.1.0 起在 Grafana 中引入了 Performance Overview 面板,为 TiDB、TiKV、PD 提供了系统级别的总体性能诊断入口。在 v6.5.0 中,Performance Overview 面板中新增了 TiFlash 和 CDC 面板。通过此次新增,从 v6.5.0 起,使用单个 Performance Overview 面板即可分析 TiDB 集群中所有组件的性能。 From 86a1f32b2811d52c41d75b4b36af1e6de85182d9 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 21 Dec 2022 16:07:38 +0800 Subject: [PATCH 126/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d4963e83df4d..fd7f6f88b9d1 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -126,7 +126,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 -+ Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) **tw@qiancai** +* Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) **tw@qiancai** TiDB 从 v6.1.0 起在 Grafana 中引入了 Performance Overview 面板,为 TiDB、TiKV、PD 提供了系统级别的总体性能诊断入口。在 v6.5.0 中,Performance Overview 面板中新增了 TiFlash 和 CDC 面板。通过此次新增,从 v6.5.0 起,使用单个 Performance Overview 面板即可分析 TiDB 集群中所有组件的性能。 From 65b634338244df5c9f57c4eac9846d8674ac92e5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 21 Dec 2022 16:09:57 +0800 Subject: [PATCH 127/161] Apply suggestions from code review --- releases/release-6.5.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index fd7f6f88b9d1..7e6aea4cbcca 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -300,6 +300,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| |[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 开始,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| +| [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| @@ -356,6 +357,7 @@ v6.5.0 开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variabl + TiDB - 对于 `BIT` 和 `CHAR` 类型的列,使 `INFORMATION_SCHEMA.COLUMNS` 的显示结果与 MySQL 一致 [#25472](https://github.com/pingcap/tidb/issues/25472) @[hawkingrei](https://github.com/hawkingrei) + - 优化 TiDB 在 TiFlash MPP 模式下对 TiFlash 节点的探活机制,缓解节点异常时对性能的影响 [#39686](https://github.com/pingcap/tidb/issues/39686) @[hackersean](https://github.com/hackersean) + TiKV From 90fe87c83b10b19d2df7057fd647a2bbd1c743ff Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 21 Dec 2022 18:33:39 +0800 Subject: [PATCH 128/161] Apply suggestions from code review Co-authored-by: Ran --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7e6aea4cbcca..d611c09ebb47 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -133,9 +133,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TiFlash 和 CDC 面板重新编排了 TiFlash 和 TiCDC 相关的监控信息,可以帮助你大幅提高 TiFlash 和 TiCDC 的性能分析和故障诊断效率: - 通过 [TiFlash 面板](/grafana-performance-overview-dashboard.md#tiflash),你可以直观地了解 TiFlash 集群的请求类型、延迟分析和资源使用概览。 - - 通过 [CDC 面板](/grafana-performance-overview-dashboard.md#cdc),你可以直观地了解 TiCDC 的集群的健康状况、同步延迟、数据流和下游写入延迟等信息。 + - 通过 [CDC 面板](/grafana-performance-overview-dashboard.md#cdc),你可以直观地了解 TiCDC 集群的健康状况、同步延迟、数据流和下游写入延迟等信息。 - 更多信息,请参考[用户文档](performance-tuning-method.md/)。 + 更多信息,请参考[用户文档](/performance-tuning-method.md/)。 ### 性能 From 837bc0fa3b2d23e1caad977c8ac9d7b47cd2468f Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 22 Dec 2022 14:32:56 +0800 Subject: [PATCH 129/161] add the reason for changing the default value --- releases/release-6.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d611c09ebb47..1989a3181ea2 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -301,10 +301,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 |--------|------------------------------|------| |[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 开始,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| | [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| -| [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | -| [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | +| [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | +| [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| -| [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | +| [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | | [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | | [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,当该变量的值为 `closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同。对于生效的节点,TiDB 会优先选择分布在同一可用区的副本执行读取操作,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | | [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,表示默认将 TiDB 实例的内存限制设为总内存的 80%。| @@ -340,7 +340,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | | TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接。 | | TiKV | `raw-min-ts-outlier-threshold` | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | -| TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 默认值从 `1s` 修改为 `200ms`。 | +| TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 为了降低 CDC 延迟,该配置的默认值从 `1s` 修改为 `200ms`。 | | TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | ### 其他 From b4d2a51b5d3a7f29a38b241c037cde0ba4ff1cf1 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 22 Dec 2022 14:39:33 +0800 Subject: [PATCH 130/161] add the reason for default value changes --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 1989a3181ea2..6ca84e5dc5ee 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -300,13 +300,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| |[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 开始,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| -| [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| +| [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | | [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | -| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,当该变量的值为 `closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同。对于生效的节点,TiDB 会优先选择分布在同一可用区的副本执行读取操作,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | +| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,为了优化各个 TiDB 节点的负载均衡,当该变量的值为 `closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同。对于生效的节点,TiDB 会优先选择分布在同一可用区的副本执行读取操作,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | | [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,表示默认将 TiDB 实例的内存限制设为总内存的 80%。| | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略。 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | From f1ccd6aa5bdce2d1e075dc54bbd64e96c5ef0689 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 22 Dec 2022 15:50:00 +0800 Subject: [PATCH 131/161] Apply suggestions from code review Co-authored-by: HuaiyuXu Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 6ca84e5dc5ee..4ed7ee0492ba 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -305,9 +305,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | -| [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,该变量用来设置单个会话整体的内存使用限制。 | +| [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,为了对 DML 语句的内存进行更准确地控制,该变量用来设置单个会话整体的内存使用限制。 | | [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,为了优化各个 TiDB 节点的负载均衡,当该变量的值为 `closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同。对于生效的节点,TiDB 会优先选择分布在同一可用区的副本执行读取操作,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | -| [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,表示默认将 TiDB 实例的内存限制设为总内存的 80%。| +| [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,因为 TiDB 全局内存控制特性 GA,该调整默认开启 TiDB 实例的内存限制,并将默认的内存限制设为总内存的 80%。| | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略。 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | From 5f133f2f395da5a2285aa59edfd00a935e7b93b2 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 22 Dec 2022 16:16:20 +0800 Subject: [PATCH 132/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 4ed7ee0492ba..c2dab81e6965 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -265,7 +265,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 - * TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) **tw@shichun-0415** +* TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) **tw@shichun-0415** 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 From aad9456bdeb0e2e247b51a24cbcc30e31b146ac5 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Thu, 22 Dec 2022 17:55:25 +0800 Subject: [PATCH 133/161] Apply suggestions from code review Co-authored-by: Zak Zhao <57036248+joccau@users.noreply.github.com> --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c2dab81e6965..2b3e517f5017 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -23,7 +23,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 -- TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 x 倍,RPO 降低到 x min。 +- TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 50%,正常场景下 RPO 降低到 5 min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 - TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 @@ -285,7 +285,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * PITR 性能大幅提升 **tw@shichun-0415 - PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 xx MB/s,提升了 x 倍。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 目标。 + PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 * TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** From 9bde5a99c9b468bed85f7efaa17098d626020fc9 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 26 Dec 2022 19:11:29 +0800 Subject: [PATCH 134/161] Apply suggestions from code review Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> Co-authored-by: Aolin Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- releases/release-6.5.0.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2b3e517f5017..2dbd8f593206 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -17,7 +17,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - [添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)特性 GA,添加索引的性能约提升为 v6.1.0 的 10 倍。 - TiDB 全局内存控制特性 GA,通过 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 即可管理全局内存阈值。 - 支持高性能、全局单调递增的 [`AUTO_INCREMENT` 列属性](/auto-increment.md#mysql-兼容模式) GA,兼容 MySQL。 -- [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 特性 GA,可将集群快速回退到特定的时间点,兼容 TiCDC 和 PITR。 +- [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 特性新增对 TiCDC 和 PITR 的兼容性支持,该特性已 GA。 - 优化器引入的更精准的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) GA,同时优化器增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能对 `AND` 连接的表达式的支持。 - 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 @@ -44,7 +44,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) **tw@Oreoxmt** - TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并兼容 PITR 和 TiCDC 等工具。 + TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并新增对 TiCDC 和 PITR 的兼容性支持。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 @@ -312,9 +312,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | +| [`tidb_auto_build_stats_concurrency`](/system-variables.md#tidb_auto_build_stats_concurrency-从-v650-版本开始引入) | 新增 | 该变量用于设置执行统计信息自动更新的并发度,默认值为 `1`。 | | [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | | [`tidb_index_merge_intersection_concurrency`](/system-variables.md#tidb_index_merge_intersection_concurrency-从-v650-版本开始引入) | 新增 | 这个变量用来设置索引合并进行交集操作时的最大并发度,仅在以动态裁剪模式访问分区表时有效。 | | [`tidb_source_id`](/system-variables.md#tidb_source_id-从-v650-版本开始引入) | 新增 | 设置在[双向复制](/ticdc/ticdc-bidirectional-replication.md)系统内不同集群的 ID。| +| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 新增 | 该变量用于设置 TiDB 执行内部 SQL 语句(例如统计信息自动更新)时 scan 操作的并发度,默认值为 `1`。 | | [`tidb_ttl_delete_batch_size`](/system-variables.md#tidb_ttl_delete_batch_size-从-v650-版本开始引入) | 新增 | 这个变量用于设置 TTL 任务中单个删除事务中允许删除的最大行数。| | [`tidb_ttl_delete_rate_limit`](/system-variables.md#tidb_ttl_delete_rate_limit-从-v650-版本开始引入) | 新增 | 这个变量用于限制在 TTL 任务中单个节点每秒允许 `DELETE` 语句执行的最大次数。当此变量设置为 `0` 时,则表示不做限制。| | [`tidb_ttl_delete_worker_count`](/system-variables.md#tidb_ttl_delete_worker_count-从-v650-版本开始引入) | 新增 | 这个变量用于设置每个 TiDB 节点上 TTL 删除任务的最大并发数。| From 21ba69fb0d70b999cbaa30cf9d622a5bea4b4afa Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Dec 2022 09:52:09 +0800 Subject: [PATCH 135/161] Apply suggestions from code review --- releases/release-6.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 2dbd8f593206..bde3dd4bbdbd 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -23,10 +23,10 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 -- TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升 50%,正常场景下 RPO 降低到 5 min。 -- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升 x 倍,复制延迟降低到 x 秒。 +- TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,正常场景下 RPO 降低到 5 min。 +- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升了 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 -- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 +- TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](/ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 ## 新功能 @@ -259,7 +259,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Storage sink 支持格式为 canal-json 和 csv 的 changed log,此外 changed log 从 TiCDC 同步到存储的延迟可以达到 xx。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 -* TiCDC 支持在多个 TiDB 集群之间进行双向复制 @[asddongmen](https://github.com/asddongmen) **tw@ran-huang** +* TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) **tw@ran-huang** TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要 TiDB 多活,尤其是异地多活的场景下,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 From 2531e37defc0523c587868b22b8f4c0ab2e4a96a Mon Sep 17 00:00:00 2001 From: Ian Date: Tue, 27 Dec 2022 10:05:29 +0800 Subject: [PATCH 136/161] Apply suggestions from code review --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index bde3dd4bbdbd..e404bd2e9a22 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -23,7 +23,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 -- TiDB 快照备份支持断点续传,[PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,正常场景下 RPO 降低到 5 min。 +- TiDB 快照备份支持断点续传,此外 [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,正常场景下 RPO 降低到 5 min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升了 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 - TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](/ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 From de81da30ed49e2463c5c1d61a44b663d55b95b41 Mon Sep 17 00:00:00 2001 From: Ian Date: Tue, 27 Dec 2022 10:05:56 +0800 Subject: [PATCH 137/161] Apply suggestions from code review --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e404bd2e9a22..30ff3bbd54e1 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -23,7 +23,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 -- TiDB 快照备份支持断点续传,此外 [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,正常场景下 RPO 降低到 5 min。 +- TiDB 快照备份支持断点续传,此外 [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,一般场景下 RPO 降低到 5 min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升了 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 - TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](/ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 From 04e54294bceaff2756a4a0b55ad1201eed6f47f8 Mon Sep 17 00:00:00 2001 From: Ian Date: Tue, 27 Dec 2022 10:07:26 +0800 Subject: [PATCH 138/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 30ff3bbd54e1..39fc2e4fb07a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -257,7 +257,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 - Storage sink 支持格式为 canal-json 和 csv 的 changed log,此外 changed log 从 TiCDC 同步到存储的延迟可以达到 xx。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 + Storage sink 支持格式为 canal-json 和 csv 的 changed log。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 * TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) **tw@ran-huang** From 41a9d9c9d90dbb267a8900e7bb7f219593d2b503 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Tue, 27 Dec 2022 15:22:12 +0800 Subject: [PATCH 139/161] add seven ticdc configs --- releases/release-6.5.0.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 39fc2e4fb07a..826693844c2e 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -344,6 +344,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | TiKV | `raw-min-ts-outlier-threshold` | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 为了降低 CDC 延迟,该配置的默认值从 `1s` 修改为 `200ms`。 | | TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | +| TiCDC | [`sink.terminator`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 换行符,用来分隔两个数据变更事件。默认值为空,表示使用 "\r\n" 作为换行符。 | +| TiCDC | [`sink.date-separator`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 文件路径的日期分隔类型。可选类型有 `none`、`year`、`month`、`day`。默认值为 `none`,即不使用日期分隔。| +| TiCDC | [`sink.enable-partition-separator`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 是否使用 partition 作为分隔字符串,默认值为 false,即一张表中各个 partition 的数据不会分不同的目录来存储。 | +| TiCDC | [`sink.csv.delimiter`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`。 | +| TiCDC | [`sink.csv.quote`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`。 | +| TiCDC | [`sink.csv.null`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于确定 CSV 列为 null 时将以什么字符来表示。默认值为 `\N` | +| TiCDC | [`sink.csv.include-commit-ts`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增| 是否在 CSV 行中包含 commit-ts。默认值为 false。 | ### 其他 From 5f1e9de3dee17f2f1f159c3b03515430b7f8c80c Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Tue, 27 Dec 2022 15:29:06 +0800 Subject: [PATCH 140/161] add issue and contributor for ticdc and br features --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 826693844c2e..7f0edff18c2d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -269,7 +269,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 -* TiCDC 性能提升 **tw@shichun-0415 +* TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) **tw@shichun-0415 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 @@ -283,7 +283,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 -* PITR 性能大幅提升 **tw@shichun-0415 +* PITR 性能大幅提升 [@joccau](https://github.com/joccau) **tw@shichun-0415 PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 @@ -349,7 +349,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | TiCDC | [`sink.enable-partition-separator`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 是否使用 partition 作为分隔字符串,默认值为 false,即一张表中各个 partition 的数据不会分不同的目录来存储。 | | TiCDC | [`sink.csv.delimiter`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`。 | | TiCDC | [`sink.csv.quote`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`。 | -| TiCDC | [`sink.csv.null`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于确定 CSV 列为 null 时将以什么字符来表示。默认值为 `\N` | +| TiCDC | [`sink.csv.null`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于确定 CSV 列为 null 时将以什么字符来表示。默认值为 `\N`。 | | TiCDC | [`sink.csv.include-commit-ts`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增| 是否在 CSV 行中包含 commit-ts。默认值为 false。 | ### 其他 From 2dccccb83d0e3033cc51a8a3d04ccecc1f9ca45c Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Tue, 27 Dec 2022 16:12:03 +0800 Subject: [PATCH 141/161] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-6.5.0.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 7f0edff18c2d..e0f65410d408 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -253,7 +253,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据共享与订阅 -* TiCDC 支持输出变更数据至 storage sink(实验特性) [tiflow#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** +* TiCDC 支持输出变更数据至 storage sink(实验特性)[#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 @@ -308,7 +308,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`tidb_mem_quota_query`](/system-variables.md#tidb_mem_quota_query) | 修改 | 在 v6.5.0 之前的版本中,该变量用来设置单条查询的内存使用限制。在 v6.5.0 及之后的版本中,为了对 DML 语句的内存进行更准确地控制,该变量用来设置单个会话整体的内存使用限制。 | | [`tidb_replica_read`](/system-variables.md#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v6.5.0 起,为了优化各个 TiDB 节点的负载均衡,当该变量的值为 `closest-adaptive` 时,如果一个读请求的预估返回结果大于或等于 [`tidb_adaptive_closest_read_threshold`](/system-variables.md#tidb_adaptive_closest_read_threshold-从-v630-版本开始引入),在每个可用区中 `closest-adaptive` 配置实际生效的 TiDB 节点数总是与包含 TiDB 节点最少的可用区中的 TiDB 节点数相同。对于生效的节点,TiDB 会优先选择分布在同一可用区的副本执行读取操作,其他多出的 TiDB 节点将自动切换为读取 leader 副本。 | | [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) | 修改 | 该变量默认值由 `0` 修改为 `80%`,因为 TiDB 全局内存控制特性 GA,该调整默认开启 TiDB 实例的内存限制,并将默认的内存限制设为总内存的 80%。| -| [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0` ,表示禁用全局自动密码过期策略。 | +| [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0`,表示禁用全局自动密码过期策略。 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | | [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | @@ -329,11 +329,11 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`validate_password.check_user_name`](/system-variables.md#validate_passwordcheck_user_name-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,设置的用户密码不允许密码与当前会话账户的用户名部分相同。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `ON`。 | | [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,密码字典功能,设置的用户密码不允许包含字典中的单词。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 设置为 `2` (STRONG) 时,该变量才生效。默认值为空。 | | [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的开关,设置为 `ON` 后,TiDB 才进行密码复杂度检查。默认值为 `OFF`。 | -| [`validate_password.length`](/system-variables.md#validate_passwordlength-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码最小长度。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 8。 | -| [`validate_password.mixed_case_count`](/system-variables.md#validate_passwordmixed_case_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中大写字符和小写字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1。 | -| [`validate_password.number_count`](/system-variables.md#validate_passwordnumber_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中数字字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1。 | -| [`validate_password.policy`](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的强度,强度等级分为 `[0, 1, 2]` 。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 1。 | -| [`validate_password.special_char_count`](/system-variables.md#validate_passwordspecial_char_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中特殊字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 1。 | +| [`validate_password.length`](/system-variables.md#validate_passwordlength-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码最小长度。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `8`。 | +| [`validate_password.mixed_case_count`](/system-variables.md#validate_passwordmixed_case_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中大写字符和小写字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 `1`。 | +| [`validate_password.number_count`](/system-variables.md#validate_passwordnumber_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中数字字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 `1`。 | +| [`validate_password.policy`](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查的强度,强度等级分为 `[0, 1, 2]`。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启时,该变量才生效。默认值为 `1`。 | +| [`validate_password.special_char_count`](/system-variables.md#validate_passwordspecial_char_count-从-v650-版本开始引入) | 新增 | 密码复杂度策略检查项,限定了用户密码中特殊字符的最小数量。只有 [`validate_password.enable`](/system-variables.md#validate_passwordenable-从-v650-版本开始引入) 开启且 [validate_password.policy](/system-variables.md#validate_passwordpolicy-从-v650-版本开始引入) 大于或等于 `1` (MEDIUM) 时,该变量才生效。默认值为 `1`。 | ### 配置文件参数 @@ -350,7 +350,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | TiCDC | [`sink.csv.delimiter`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 字段之间的分隔符。必须为 ASCII 字符,默认值为 `,`。 | | TiCDC | [`sink.csv.quote`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于包裹字段的引号字符。空值代表不使用引号字符。默认值为 `"`。 | | TiCDC | [`sink.csv.null`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增 | 用于确定 CSV 列为 null 时将以什么字符来表示。默认值为 `\N`。 | -| TiCDC | [`sink.csv.include-commit-ts`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增| 是否在 CSV 行中包含 commit-ts。默认值为 false。 | +| TiCDC | [`sink.csv.include-commit-ts`](/ticdc/ticdc-changefeed-config.md#ticdc-changefeed-配置文件说明) | 新增| 是否在 CSV 行中包含 commit-ts。默认值为 `false`。 | ### 其他 @@ -391,7 +391,7 @@ v6.5.0 开始废弃 v4.0.7 版本引入的 [`AMEND TRANSACTION`](/system-variabl - 优化锁的粒度以减少锁争用,提升高并发下心跳的处理能力 [#5586](https://github.com/tikv/pd/issues/5586) @[rleungx](https://github.com/rleungx) - 优化调度器在大规模集群下的性能,提升调度策略生产速度 [#5473](https://github.com/tikv/pd/issues/5473) @[bufferflies](https://github.com/bufferflies) - 提高 PD 加载 Region 的速度 [#5606](https://github.com/tikv/pd/issues/5606) @[rleungx](https://github.com/rleungx) - - 优化心跳处理过程,减少不必要的开销 [#5648](https://github.com/tikv/pd/issues/5648)@[rleungx](https://github.com/rleungx) + - 优化心跳处理过程,减少不必要的开销 [#5648](https://github.com/tikv/pd/issues/5648) @[rleungx](https://github.com/rleungx) - 增加了自动清理 tombstone store 的功能 [#5348](https://github.com/tikv/pd/issues/5348) @[nolouch](https://github.com/nolouch) + TiFlash From ed20def6696e016450068fc2b2cb0bf83cc74ee4 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Dec 2022 19:04:21 +0800 Subject: [PATCH 142/161] fix CI link errors --- releases/release-6.5.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e0f65410d408..3db9ecadee8a 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -21,9 +21,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 优化器引入的更精准的代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) GA,同时优化器增强索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能对 `AND` 连接的表达式的支持。 - 支持下推 `JSON_EXTRACT()` 函数至 TiFlash。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 -- TiDB Lightning 和 Dumpling 支持[导入](tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 +- TiDB Lightning 和 Dumpling 支持[导入](/tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 -- TiDB 快照备份支持断点续传,此外 [PITR](/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,一般场景下 RPO 降低到 5 min。 +- TiDB 快照备份支持断点续传,此外 [PITR](/br/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,一般场景下 RPO 降低到 5 min。 - TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升了 x 倍,复制延迟降低到 x 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 - TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](/ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 @@ -135,7 +135,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 通过 [TiFlash 面板](/grafana-performance-overview-dashboard.md#tiflash),你可以直观地了解 TiFlash 集群的请求类型、延迟分析和资源使用概览。 - 通过 [CDC 面板](/grafana-performance-overview-dashboard.md#cdc),你可以直观地了解 TiCDC 集群的健康状况、同步延迟、数据流和下游写入延迟等信息。 - 更多信息,请参考[用户文档](/performance-tuning-method.md/)。 + 更多信息,请参考[用户文档](/performance-tuning-method.md)。 ### 性能 @@ -143,7 +143,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在 v6.5.0 前,TiDB 只支持对 `OR` 连接词的过滤条件使用索引合并特性。自 v6.5.0 起,TiDB 支持对于在 `WHERE` 子句中使用 `AND` 连接的过滤条件使用索引合并特性。TiDB 的索引合并至此可以覆盖更多普遍的查询过滤条件组合,不再限定于并集(`OR`)关系。v6.5.0 仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 连接的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 - 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/release-5.4.0#性能),以及优化器相关的[用户文档](/explain-index-merge.md) + 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/release-5.4.0.md#性能),以及优化器相关的[用户文档](/explain-index-merge.md) * 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** @@ -199,7 +199,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 `EXPLAIN ANALYZE` 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 - 更多信息,请参考[用户文档](sql-statements/sql-statement-explain-analyze.md)。 + 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain-analyze.md)。 * 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** @@ -241,7 +241,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 有这个功能之前,TiDB Lightning 在使用物理模式导入数据时,会在本地磁盘创建大量的临时文件,用来对原始数据进行编码、排序、分割。当用户本地磁盘空间不足时,TiDB Lightning 会由于写入文件失败而报错退出。推出该功能后,可避免 TiDB Lightning 任务写满本地磁盘。 - 更多信息,请参考[用户文档](/tidb-lightning-physical-import-mode-usage.md#磁盘资源配额-从-v6.2.0-版本开始引入)。 + 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#磁盘资源配额-从-v620-版本开始引入)。 * DM 增量数据校验的功能 GA [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** From fbbec4ac9df455d95d825f4ab89f6bf013064d01 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Dec 2022 19:17:21 +0800 Subject: [PATCH 143/161] Apply suggestions from code review --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 3db9ecadee8a..da448198084e 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -135,7 +135,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 通过 [TiFlash 面板](/grafana-performance-overview-dashboard.md#tiflash),你可以直观地了解 TiFlash 集群的请求类型、延迟分析和资源使用概览。 - 通过 [CDC 面板](/grafana-performance-overview-dashboard.md#cdc),你可以直观地了解 TiCDC 集群的健康状况、同步延迟、数据流和下游写入延迟等信息。 - 更多信息,请参考[用户文档](/performance-tuning-method.md)。 + 更多信息,请参考[用户文档](/performance-tuning-methods.md)。 ### 性能 @@ -143,7 +143,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在 v6.5.0 前,TiDB 只支持对 `OR` 连接词的过滤条件使用索引合并特性。自 v6.5.0 起,TiDB 支持对于在 `WHERE` 子句中使用 `AND` 连接的过滤条件使用索引合并特性。TiDB 的索引合并至此可以覆盖更多普遍的查询过滤条件组合,不再限定于并集(`OR`)关系。v6.5.0 仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 连接的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 - 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/release-5.4.0.md#性能),以及优化器相关的[用户文档](/explain-index-merge.md) + 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/releases/release-5.4.0.md#性能),以及优化器相关的[用户文档](/explain-index-merge.md) * 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** From e675e7e53f72c485193b0764ff518c5dfdeb6f48 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 28 Dec 2022 09:37:54 +0800 Subject: [PATCH 144/161] add the release info and remove writer names --- TOC.md | 4 ++- releases/release-6.5.0.md | 70 ++++++++++++++++++------------------ releases/release-notes.md | 4 +++ releases/release-timeline.md | 1 + 4 files changed, 43 insertions(+), 36 deletions(-) diff --git a/TOC.md b/TOC.md index d4500c583b17..f24742b61dfd 100644 --- a/TOC.md +++ b/TOC.md @@ -4,7 +4,7 @@ - [文档中心](https://docs.pingcap.com/zh) - 关于 TiDB - [TiDB 简介](/overview.md) - - [TiDB 6.4 Release Notes](/releases/release-6.4.0.md) + - [TiDB 6.5 Release Notes](/releases/release-6.5.0.md) - [基本功能](/basic-features.md) - [实验特性](/experimental-features.md) - [与 MySQL 的兼容性](/mysql-compatibility.md) @@ -942,6 +942,8 @@ - [版本发布时间线](/releases/release-timeline.md) - [TiDB 版本规则](/releases/versioning.md) - [TiDB 离线包](/binary-package.md) + - v6.5 + - [6.5.0](/releases/release-6.5.0.md) - v6.4 - [6.4.0-DMR](/releases/release-6.4.0.md) - v6.3 diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index da448198084e..60fe280e40be 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -4,7 +4,7 @@ title: TiDB 6.5.0 Release Notes # TiDB 6.5.0 Release Notes -发版日期:2022 年 xx 月 xx 日 +发版日期:2022 年 12 月 29 日 TiDB 版本:6.5.0 @@ -32,35 +32,35 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### SQL -* TiDB 添加索引的性能提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) **tw@Oreoxmt** +* TiDB 添加索引的性能提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)作为实验特性,提升了添加索引回填过程的速度。该功能在 v6.5.0 正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。添加索引加速适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 -* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) **tw@Oreoxmt** +* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。 更多信息,请参考[用户文档](/metadata-lock.md)。 -* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) **tw@Oreoxmt** +* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并新增对 TiCDC 和 PITR 的兼容性支持。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 -* 完整支持包含 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE` 的非事务 DML 语句 [#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) **tw@Oreoxmt** +* 完整支持包含 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE` 的非事务 DML 语句 [#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) 在大批量的数据处理场景,单一大事务 SQL 处理可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个 SQL 语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。TiDB 从 v6.1.0 开始支持非事务 `DELETE` 语句,v6.5.0 新增对非事务 `INSERT`、`REPLACE` 和 `UPDATE` 语句的支持。 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [`BATCH` 语句](/sql-statements/sql-statement-batch.md)。 -* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) **tw@ran-huang** +* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 更多信息,请参考[用户文档](/time-to-live.md)。 -* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性)[#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) **tw@qiancai** +* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性)[#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) 从 v6.5.0 起,TiDB 支持下推 `INSERT INTO SELECT` 语句中的 `SELECT` 子句(分析查询)到 TiFlash,你可以将 TiFlash 的查询结果方便地保存到 `INSERT INTO` 指定的 TiDB 表中供后续分析使用,起到了结果缓存(即结果物化)的效果。例如: @@ -76,7 +76,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 -* 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** +* 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) 受 SQL 语句执行时各种因素的影响,之前最优的执行计划偶尔会被新的执行计划替代,进而影响 SQL 性能。在这种场景下,最优的执行计划可能仍旧在 SQL 执行历史中,还没有被清除。 @@ -86,7 +86,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 安全 -* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** +* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) TiDB 启用密码复杂度策略功能后,在用户设置密码时,TiDB 会检查密码长度、大写和小写字符个数、数字字符个数、特殊字符个数、密码字典匹配、是否与用户名相同等,以此确保用户设置了安全的密码。 @@ -94,19 +94,19 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/password-management.md#密码复杂度策略)。 -* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) **tw@ran-huang** +* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) TiDB 支持密码过期策略,包括手动密码过期、全局级别自动密码过期、账户级别自动密码过期。启用密码过期策略功能后,用户必须定期修改密码,防止密码长期使用带来的泄露风险,提高密码安全性。 更多信息,请参考[用户文档](/password-management.md#密码过期策略)。 -* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) **tw@ran-huang** +* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) TiDB 支持密码重用策略,包括全局级别密码重用策略、账户级别密码重用策略。启用密码重用策略功能后,用户不能使用最近一段时间使用过的密码或最近几次使用过的密码,以此降低密码的重复使用带来的泄漏风险,提高密码安全性。 更多信息,请参考[用户文档](/password-management.md#密码重用策略)。 -* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) **tw@ran-huang** +* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) TiDB 启用密码连续错误限制登录策略功能后,当用户登录时,如果连续多次密码错误,账户将被临时锁定,达到锁定时间后将自动解锁。 @@ -114,7 +114,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 可观测性 -* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) **tw@shichun-0415 +* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) shichun-0415 TiDB v6.5.0 且 TiDB Operator v1.4.0 之后,在 Kubernetes 上支持将 TiDB Dashboard 作为独立的 Pod 部署。在 TiDB Operator 环境,可直接访问该 Pod 的 IP 来打开 TiDB Dashboard。 @@ -126,7 +126,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 -* Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) **tw@qiancai** +* Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) TiDB 从 v6.1.0 起在 Grafana 中引入了 Performance Overview 面板,为 TiDB、TiKV、PD 提供了系统级别的总体性能诊断入口。在 v6.5.0 中,Performance Overview 面板中新增了 TiFlash 和 CDC 面板。通过此次新增,从 v6.5.0 起,使用单个 Performance Overview 面板即可分析 TiDB 集群中所有组件的性能。 @@ -139,13 +139,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 性能 -* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持 `AND` 连接的表达式 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) **tw@TomShawn** +* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持 `AND` 连接的表达式 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) 在 v6.5.0 前,TiDB 只支持对 `OR` 连接词的过滤条件使用索引合并特性。自 v6.5.0 起,TiDB 支持对于在 `WHERE` 子句中使用 `AND` 连接的过滤条件使用索引合并特性。TiDB 的索引合并至此可以覆盖更多普遍的查询过滤条件组合,不再限定于并集(`OR`)关系。v6.5.0 仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 连接的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/releases/release-5.4.0.md#性能),以及优化器相关的[用户文档](/explain-index-merge.md) -* 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) **tw@qiancai** +* 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) * `->` * `->>` @@ -153,23 +153,23 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 -* 新增支持下推以下字符串函数至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** +* 新增支持下推以下字符串函数至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) * `regexp_like` * `regexp_instr` * `regexp_substr` -* 新增全局 Hint 干预[视图](/views.md)内查询计划的生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) **tw@Oreoxmt** +* 新增全局 Hint 干预[视图](/views.md)内查询计划的生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) 部分视图访问的场景需要用 Hint 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。该特性为包含复杂视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。全局 Hint 通过[查询块命名](/optimizer-hints.md#第-1-步使用-qb_name-hint-重命名视图内的查询块)和 [Hint 引用](/optimizer-hints.md#第-2-步添加实际需要的-hint)来开启。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 -* 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) **tw@qiancai** +* 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中,TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 -* 优化器引入更精准的代价模型 Cost Model Version 2 (GA) [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 优化器引入更精准的代价模型 Cost Model Version 2 (GA) [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) TiDB v6.2.0 引入了代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) 作为实验特性,通过更准确的代价估算方式,有利于最优执行计划的选择。尤其在部署了 TiFlash 的情况下,Cost Model Version 2 自动选择合理的存储引擎,避免过多的人工介入。经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA。新创建的集群将默认使用 Cost Model Version 2。对于升级到 v6.5.0 的集群,由于 Cost Model Version 2 可能会改变原有的执行计划,在经过充分的性能测试之后,你可以通过设置变量 [`tidb_cost_model_version = 2`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 使用新的代价模型。 @@ -183,7 +183,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 稳定性 -* TiDB 全局内存控制成为正式功能(GA)[#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) **tw@TomShawn** +* TiDB 全局内存控制成为正式功能(GA)[#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) TiDB v6.4.0 引入了全局内存控制作为实验特性。自 v6.5.0 起,全局内存控制成为正式功能,能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的阈值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 @@ -195,13 +195,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 易用性 -* 完善 `EXPLAIN ANALYZE` 输出结果中 TiFlash 的 TableFullScan 算子的执行信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** +* 完善 `EXPLAIN ANALYZE` 输出结果中 TiFlash 的 TableFullScan 算子的执行信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) `EXPLAIN ANALYZE` 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain-analyze.md)。 -* 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) **tw@ran-huang** +* 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) 在 v6.5.0 中,TiDB 扩展了执行计划的打印格式。通过 `EXPLAIN FORMAT=tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 @@ -209,7 +209,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### MySQL 兼容性 -* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 (GA) [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) **tw@Oreoxmt** +* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 (GA) [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) TiDB v6.4.0 引入了 `AUTO_INCREMENT` 的 MySQL 兼容模式作为实验特性,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增。使用该特性能够更容易地实现查询结果按自增 ID 排序。该功能在 v6.5.0 正式 GA。使用该功能的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。要使用 MySQL 兼容模式,你需要在建表时将 `AUTO_ID_CACHE` 设置为 `1`。 @@ -221,7 +221,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据迁移 -* 支持导出和导入 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) **tw@hfxsd** +* 支持导出和导入 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) Dumpling 支持将数据导出为 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 的压缩文件。TiDB Lightning 也支持导入这些格式的压缩文件。 @@ -229,13 +229,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)。 -* 优化了 binlog 解析能力 [#924](https://github.com/pingcap/dm/issues/924) @[gmhdbjd](https://github.com/GMHDBJD) **tw@hfxsd** +* 优化了 binlog 解析能力 [#924](https://github.com/pingcap/dm/issues/924) @[gmhdbjd](https://github.com/GMHDBJD) 该功能允许过滤掉不在迁移任务里的库和表对象的 binlog event,不做解析,从而提升解析效率和稳定性。该策略在 v6.5.0 版本默认生效,无需额外操作。 有这个功能之前,即使仅迁移几张表,也需要解析上游整个 binlog 文件,即仍要解析该 binlog 文件中不需要迁移的表的 binlog event,效率较低。同时,如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。推出该功能后,通过只解析在迁移任务里的库表对象的 binlog event,可以大大提升 binlog 解析效率,提升任务稳定性。 -* Disk quota 功能 GA [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) **tw@hfxsd** +* Disk quota 功能 GA [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件,而是优先将已经完成排序的 key-value 写入 TiKV。TiDB Lightning 删除本地临时文件后,再继续导入过程。 @@ -243,7 +243,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#磁盘资源配额-从-v620-版本开始引入)。 -* DM 增量数据校验的功能 GA [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +* DM 增量数据校验的功能 GA [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后再对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的。由于上下游的数据在不断变化,导致用户难以对表里的全部数据进行一致性校验。 @@ -253,23 +253,23 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据共享与订阅 -* TiCDC 支持输出变更数据至 storage sink(实验特性)[#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) **tw@shichun-0415** +* TiCDC 支持输出变更数据至 storage sink(实验特性)[#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 Storage sink 支持格式为 canal-json 和 csv 的 changed log。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 -* TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) **tw@ran-huang** +* TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要 TiDB 多活,尤其是异地多活的场景下,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 -* TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) **tw@shichun-0415** +* TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 -* TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) **tw@shichun-0415 +* TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) shichun-0415 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 @@ -277,17 +277,17 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 备份和恢复 -* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) **tw@shichun-0415 +* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) shichun-0415 TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的网络故障。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 -* PITR 性能大幅提升 [@joccau](https://github.com/joccau) **tw@shichun-0415 +* PITR 性能大幅提升 [@joccau](https://github.com/joccau) shichun-0415 PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 -* TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) **tw@shichun-0415** +* TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据,以实现 TiKV 集群 [`api-version`](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) 的升级。 diff --git a/releases/release-notes.md b/releases/release-notes.md index aa3fb6226c0d..2ede5de4596d 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -7,6 +7,10 @@ aliases: ['/docs-cn/dev/releases/release-notes/','/docs-cn/dev/releases/rn/'] TiDB 历史版本发布声明如下: +## 6.5 + +- [6.5.0](/releases/release-6.5.0.md): 2022-12-29 + ## 6.4 - [6.4.0-DMR](/releases/release-6.4.0.md): 2022-11-17 diff --git a/releases/release-timeline.md b/releases/release-timeline.md index b86e5b14648e..9001a9269d20 100644 --- a/releases/release-timeline.md +++ b/releases/release-timeline.md @@ -9,6 +9,7 @@ summary: 了解 TiDB 的版本发布时间线。 | 版本 | 发布日期 | | :--- | :--- | +| [6.5.0](/releases/release-6.5.0.md) | 2022-12-29 | | [6.1.3](/releases/release-6.1.3.md) | 2022-12-05 | | [5.3.4](/releases/release-5.3.4.md) | 2022-11-24 | | [6.4.0-DMR](/releases/release-6.4.0.md) | 2022-11-17 | From 9d6a19e79b939569133e33d98f95669768466673 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 28 Dec 2022 09:49:14 +0800 Subject: [PATCH 145/161] remove unnecessary blank spaces --- releases/release-6.5.0.md | 74 +++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 60fe280e40be..c42af23d664f 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -32,35 +32,35 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### SQL -* TiDB 添加索引的性能提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) +* TiDB 添加索引的性能提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)作为实验特性,提升了添加索引回填过程的速度。该功能在 v6.5.0 正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。添加索引加速适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 -* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) +* 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。 更多信息,请参考[用户文档](/metadata-lock.md)。 -* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) +* 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并新增对 TiCDC 和 PITR 的兼容性支持。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 -* 完整支持包含 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE` 的非事务 DML 语句 [#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) +* 完整支持包含 `INSERT`、`REPLACE`、`UPDATE` 和 `DELETE` 的非事务 DML 语句 [#33485](https://github.com/pingcap/tidb/issues/33485) @[ekexium](https://github.com/ekexium) 在大批量的数据处理场景,单一大事务 SQL 处理可能对集群稳定性和性能造成影响。非事务 DML 语句将一个 DML 语句拆成多个 SQL 语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群的稳定性有很大提升。TiDB 从 v6.1.0 开始支持非事务 `DELETE` 语句,v6.5.0 新增对非事务 `INSERT`、`REPLACE` 和 `UPDATE` 语句的支持。 更多信息,请参考[非事务 DML 语句](/non-transactional-dml.md) 和 [`BATCH` 语句](/sql-statements/sql-statement-batch.md)。 -* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) +* 支持 Time to live (TTL)(实验特性)[#39262](https://github.com/pingcap/tidb/issues/39262) @[lcwangchao](https://github.com/lcwangchao) TTL 提供了行级别的生命周期控制策略。在 TiDB 中,设置了 TTL 属性的表会根据配置自动检查并删除过期的行数据。TTL 设计的目标是在不影响在线读写负载的前提下,帮助用户周期性且及时地清理不需要的数据。 更多信息,请参考[用户文档](/time-to-live.md)。 -* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性)[#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) +* 支持通过 `INSERT INTO SELECT` 语句保存 TiFlash 查询结果(实验特性)[#37515](https://github.com/pingcap/tidb/issues/37515) @[gengliqi](https://github.com/gengliqi) 从 v6.5.0 起,TiDB 支持下推 `INSERT INTO SELECT` 语句中的 `SELECT` 子句(分析查询)到 TiFlash,你可以将 TiFlash 的查询结果方便地保存到 `INSERT INTO` 指定的 TiDB 表中供后续分析使用,起到了结果缓存(即结果物化)的效果。例如: @@ -76,7 +76,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 -* 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) +* 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) 受 SQL 语句执行时各种因素的影响,之前最优的执行计划偶尔会被新的执行计划替代,进而影响 SQL 性能。在这种场景下,最优的执行计划可能仍旧在 SQL 执行历史中,还没有被清除。 @@ -86,7 +86,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 安全 -* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) +* 支持密码复杂度策略 [#38928](https://github.com/pingcap/tidb/issues/38928) @[CbcWestwolf](https://github.com/CbcWestwolf) TiDB 启用密码复杂度策略功能后,在用户设置密码时,TiDB 会检查密码长度、大写和小写字符个数、数字字符个数、特殊字符个数、密码字典匹配、是否与用户名相同等,以此确保用户设置了安全的密码。 @@ -94,19 +94,19 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/password-management.md#密码复杂度策略)。 -* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) +* 支持密码过期策略 [#38936](https://github.com/pingcap/tidb/issues/38936) @[CbcWestwolf](https://github.com/CbcWestwolf) TiDB 支持密码过期策略,包括手动密码过期、全局级别自动密码过期、账户级别自动密码过期。启用密码过期策略功能后,用户必须定期修改密码,防止密码长期使用带来的泄露风险,提高密码安全性。 更多信息,请参考[用户文档](/password-management.md#密码过期策略)。 -* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) +* 支持密码重用策略 [#38937](https://github.com/pingcap/tidb/issues/38937) @[keeplearning20221](https://github.com/keeplearning20221) TiDB 支持密码重用策略,包括全局级别密码重用策略、账户级别密码重用策略。启用密码重用策略功能后,用户不能使用最近一段时间使用过的密码或最近几次使用过的密码,以此降低密码的重复使用带来的泄漏风险,提高密码安全性。 更多信息,请参考[用户文档](/password-management.md#密码重用策略)。 -* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) +* 支持密码连续错误限制登录策略 [#38938](https://github.com/pingcap/tidb/issues/38938) @[lastincisor](https://github.com/lastincisor) TiDB 启用密码连续错误限制登录策略功能后,当用户登录时,如果连续多次密码错误,账户将被临时锁定,达到锁定时间后将自动解锁。 @@ -114,7 +114,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 可观测性 -* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) shichun-0415 +* TiDB Dashboard 在 Kubernetes 环境支持独立 Pod 部署 [#1447](https://github.com/pingcap/tidb-dashboard/issues/1447) @[SabaPing](https://github.com/SabaPing) TiDB v6.5.0 且 TiDB Operator v1.4.0 之后,在 Kubernetes 上支持将 TiDB Dashboard 作为独立的 Pod 部署。在 TiDB Operator 环境,可直接访问该 Pod 的 IP 来打开 TiDB Dashboard。 @@ -126,26 +126,26 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考 [TiDB Operator 部署独立的 TiDB Dashboard](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/get-started#部署独立的-tidb-dashboard)。 -* Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) +* Performance Overview 面板中新增 TiFlash 和 CDC (Change Data Capture) 面板 [#39230](https://github.com/pingcap/tidb/issues/39230) @[dbsid](https://github.com/dbsid) TiDB 从 v6.1.0 起在 Grafana 中引入了 Performance Overview 面板,为 TiDB、TiKV、PD 提供了系统级别的总体性能诊断入口。在 v6.5.0 中,Performance Overview 面板中新增了 TiFlash 和 CDC 面板。通过此次新增,从 v6.5.0 起,使用单个 Performance Overview 面板即可分析 TiDB 集群中所有组件的性能。 TiFlash 和 CDC 面板重新编排了 TiFlash 和 TiCDC 相关的监控信息,可以帮助你大幅提高 TiFlash 和 TiCDC 的性能分析和故障诊断效率: - + - 通过 [TiFlash 面板](/grafana-performance-overview-dashboard.md#tiflash),你可以直观地了解 TiFlash 集群的请求类型、延迟分析和资源使用概览。 - 通过 [CDC 面板](/grafana-performance-overview-dashboard.md#cdc),你可以直观地了解 TiCDC 集群的健康状况、同步延迟、数据流和下游写入延迟等信息。 - + 更多信息,请参考[用户文档](/performance-tuning-methods.md)。 ### 性能 -* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持 `AND` 连接的表达式 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) +* 索引合并 [INDEX MERGE](/glossary.md#index-merge) 功能支持 `AND` 连接的表达式 [#39333](https://github.com/pingcap/tidb/issues/39333) @[guo-shaoge](https://github.com/guo-shaoge) @[time-and-fate](https://github.com/time-and-fate) @[hailanwhu](https://github.com/hailanwhu) 在 v6.5.0 前,TiDB 只支持对 `OR` 连接词的过滤条件使用索引合并特性。自 v6.5.0 起,TiDB 支持对于在 `WHERE` 子句中使用 `AND` 连接的过滤条件使用索引合并特性。TiDB 的索引合并至此可以覆盖更多普遍的查询过滤条件组合,不再限定于并集(`OR`)关系。v6.5.0 仅支持优化器自动选择 `OR` 条件下的索引合并。要开启对于 `AND` 连接的索引合并,你需要使用 [`USE_INDEX_MERGE`](/optimizer-hints.md#use_index_merget1_name-idx1_name--idx2_name-) Hint。 关于索引合并功能的更多信息,请参阅 [v5.4.0 Release Notes](/releases/release-5.4.0.md#性能),以及优化器相关的[用户文档](/explain-index-merge.md) -* 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) +* 新增支持下推以下 JSON 函数至 TiFlash [#39458](https://github.com/pingcap/tidb/issues/39458) @[yibin87](https://github.com/yibin87) * `->` * `->>` @@ -153,23 +153,23 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 JSON 格式为应用设计提供了灵活的建模方式,目前越来越多的应用采用 JSON 格式进行数据交换和数据存储。通过将 JSON 函数下推至 TiFlash,你可以提高 JSON 类型数据的分析效率,拓展 TiDB 实时分析的应用场景。 -* 新增支持下推以下字符串函数至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) +* 新增支持下推以下字符串函数至 TiFlash [#6115](https://github.com/pingcap/tiflash/issues/6115) @[xzhangxian1008](https://github.com/xzhangxian1008) * `regexp_like` * `regexp_instr` * `regexp_substr` -* 新增全局 Hint 干预[视图](/views.md)内查询计划的生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) +* 新增全局 Hint 干预[视图](/views.md)内查询计划的生成 [#37887](https://github.com/pingcap/tidb/issues/37887) @[Reminiscent](https://github.com/Reminiscent) 部分视图访问的场景需要用 Hint 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。该特性为包含复杂视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。全局 Hint 通过[查询块命名](/optimizer-hints.md#第-1-步使用-qb_name-hint-重命名视图内的查询块)和 [Hint 引用](/optimizer-hints.md#第-2-步添加实际需要的-hint)来开启。 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 -* 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) +* 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) [分区表](/partitioned-table.md)特性在 v6.1.0 正式 GA 后,TiDB 仍然在持续提升分区表相关的性能。在 v6.5.0 中,TiDB 支持将 `ORDER BY` 和 `LIMIT` 等排序操作下推至 TiKV 进行计算和过滤,降低网络 I/O 的开销,提升了使用分区表时 SQL 的性能。 -* 优化器引入更精准的代价模型 Cost Model Version 2 (GA) [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) +* 优化器引入更精准的代价模型 Cost Model Version 2 (GA) [#35240](https://github.com/pingcap/tidb/issues/35240) @[qw4990](https://github.com/qw4990) TiDB v6.2.0 引入了代价模型 [Cost Model Version 2](/cost-model.md#cost-model-version-2) 作为实验特性,通过更准确的代价估算方式,有利于最优执行计划的选择。尤其在部署了 TiFlash 的情况下,Cost Model Version 2 自动选择合理的存储引擎,避免过多的人工介入。经过一段时间真实场景的测试,这个模型在 v6.5.0 正式 GA。新创建的集群将默认使用 Cost Model Version 2。对于升级到 v6.5.0 的集群,由于 Cost Model Version 2 可能会改变原有的执行计划,在经过充分的性能测试之后,你可以通过设置变量 [`tidb_cost_model_version = 2`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) 使用新的代价模型。 @@ -183,7 +183,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 稳定性 -* TiDB 全局内存控制成为正式功能(GA)[#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) +* TiDB 全局内存控制成为正式功能(GA)[#37816](https://github.com/pingcap/tidb/issues/37816) @[wshwsh12](https://github.com/wshwsh12) TiDB v6.4.0 引入了全局内存控制作为实验特性。自 v6.5.0 起,全局内存控制成为正式功能,能够跟踪到 TiDB 中主要的内存消耗。当全局内存消耗达到 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 所定义的阈值时,TiDB 会尝试 GC 或取消 SQL 操作等方法限制内存使用,保证 TiDB 的稳定性。 @@ -195,13 +195,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 易用性 -* 完善 `EXPLAIN ANALYZE` 输出结果中 TiFlash 的 TableFullScan 算子的执行信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) +* 完善 `EXPLAIN ANALYZE` 输出结果中 TiFlash 的 TableFullScan 算子的执行信息 [#5926](https://github.com/pingcap/tiflash/issues/5926) @[hongyunyan](https://github.com/hongyunyan) `EXPLAIN ANALYZE` 语句可以输出执行计划及运行时的统计信息。在 v6.5.0 中,TiFlash 对 TableFullScan 算子的执行信息进行了完善,补充了 DMFile 相关的执行信息。你可以更加直观地查看 TiFlash 的数据扫描状态信息,方便进行性能分析。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain-analyze.md)。 -* 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) +* 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) 在 v6.5.0 中,TiDB 扩展了执行计划的打印格式。通过 `EXPLAIN FORMAT=tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 @@ -209,7 +209,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### MySQL 兼容性 -* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 (GA) [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) +* 支持高性能、全局单调递增的 `AUTO_INCREMENT` 列属性 (GA) [#38442](https://github.com/pingcap/tidb/issues/38442) @[tiancaiamao](https://github.com/tiancaiamao) TiDB v6.4.0 引入了 `AUTO_INCREMENT` 的 MySQL 兼容模式作为实验特性,通过中心化分配自增 ID,实现了自增 ID 在所有 TiDB 实例上单调递增。使用该特性能够更容易地实现查询结果按自增 ID 排序。该功能在 v6.5.0 正式 GA。使用该功能的单表写入 TPS 预期超过 2 万,并支持通过弹性扩容提升单表和整个集群的写入吞吐。要使用 MySQL 兼容模式,你需要在建表时将 `AUTO_ID_CACHE` 设置为 `1`。 @@ -221,7 +221,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据迁移 -* 支持导出和导入 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) +* 支持导出和导入 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 文件 [#38514](https://github.com/pingcap/tidb/issues/38514) @[lichunzhu](https://github.com/lichunzhu) Dumpling 支持将数据导出为 gzip、snappy、zstd 三种压缩格式的 SQL、CSV 的压缩文件。TiDB Lightning 也支持导入这些格式的压缩文件。 @@ -229,13 +229,13 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)。 -* 优化了 binlog 解析能力 [#924](https://github.com/pingcap/dm/issues/924) @[gmhdbjd](https://github.com/GMHDBJD) +* 优化了 binlog 解析能力 [#924](https://github.com/pingcap/dm/issues/924) @[gmhdbjd](https://github.com/GMHDBJD) 该功能允许过滤掉不在迁移任务里的库和表对象的 binlog event,不做解析,从而提升解析效率和稳定性。该策略在 v6.5.0 版本默认生效,无需额外操作。 有这个功能之前,即使仅迁移几张表,也需要解析上游整个 binlog 文件,即仍要解析该 binlog 文件中不需要迁移的表的 binlog event,效率较低。同时,如果不在迁移任务里的库表的 binlog event 不支持解析,还会导致任务失败。推出该功能后,通过只解析在迁移任务里的库表对象的 binlog event,可以大大提升 binlog 解析效率,提升任务稳定性。 -* Disk quota 功能 GA [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) +* Disk quota 功能 GA [#446](https://github.com/pingcap/tidb-lightning/issues/446) @[buchuitoudegou](https://github.com/buchuitoudegou) 你可以为 TiDB Lightning 配置磁盘配额 (disk quota)。当磁盘配额不足时,TiDB Lightning 会暂停读取源数据以及写入临时文件,而是优先将已经完成排序的 key-value 写入 TiKV。TiDB Lightning 删除本地临时文件后,再继续导入过程。 @@ -243,7 +243,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#磁盘资源配额-从-v620-版本开始引入)。 -* DM 增量数据校验的功能 GA [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) +* DM 增量数据校验的功能 GA [#4426](https://github.com/pingcap/tiflow/issues/4426) @[D3Hunter](https://github.com/D3Hunter) 在将增量数据从上游迁移到下游数据库的过程中,数据的流转有小概率导致错误或者丢失的情况。对于需要依赖强数据一致的场景,如信贷、证券等业务,你可以在数据迁移完成之后再对数据进行全量校验,确保数据的一致性。然而,在某些增量复制的业务场景下,上游和下游的写入是持续的、不会中断的。由于上下游的数据在不断变化,导致用户难以对表里的全部数据进行一致性校验。 @@ -253,23 +253,23 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 数据共享与订阅 -* TiCDC 支持输出变更数据至 storage sink(实验特性)[#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) +* TiCDC 支持输出变更数据至 storage sink(实验特性)[#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 Storage sink 支持格式为 canal-json 和 csv 的 changed log。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 -* TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) +* TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要 TiDB 多活,尤其是异地多活的场景下,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 - -* TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) + +* TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 -* TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) shichun-0415 +* TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 @@ -277,17 +277,17 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### 备份和恢复 -* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) shichun-0415 +* TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的网络故障。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 -* PITR 性能大幅提升 [@joccau](https://github.com/joccau) shichun-0415 +* PITR 性能大幅提升 [@joccau](https://github.com/joccau) PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 -* TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) +* TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) TiKV-BR 是一个 TiKV 集群的备份和恢复工具。TiKV 可以独立于 TiDB,与 PD 构成 KV 数据库,此时的产品形态为 RawKV。TiKV-BR 工具支持对使用 RawKV 的产品进行备份和恢复,也支持将 TiKV 集群中的数据从 `API V1` 备份为 `API V2` 数据,以实现 TiKV 集群 [`api-version`](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) 的升级。 From 1fcf940f1b7678594637ed94ad1400c6661c3fd1 Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Wed, 28 Dec 2022 11:12:05 +0800 Subject: [PATCH 146/161] add ticdc performance data --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c42af23d664f..34c240b1a65d 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -23,8 +23,8 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 支持[密码管理](/password-management.md)策略,满足密码合规审计需求。 - TiDB Lightning 和 Dumpling 支持[导入](/tidb-lightning/tidb-lightning-data-source.md)和[导出](/dumpling-overview.md#通过并发提高-dumpling-的导出效率)压缩格式文件。 - TiDB Data Migration (DM) 的[增量数据校验](/dm/dm-continuous-data-validation.md)特性 GA。 -- TiDB 快照备份支持断点续传,此外 [PITR](/br/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,一般场景下 RPO 降低到 5 min。 -- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md) 吞吐提升了 x 倍,复制延迟降低到 x 秒。 +- TiDB 快照备份支持断点续传,此外 [PITR](/br/br-pitr-guide.md#进行-pitr) 的恢复性能提升了 50%,一般场景下 RPO 降低到 5 分钟。 +- TiCDC [同步数据到 Kafka](/replicate-data-to-kafka.md),吞吐从 4000 行每秒提升到 35000 行每秒,复制延迟降低到 2 秒。 - 提供行级别 [Time to live (TTL)](/time-to-live.md) 管理数据生命周期(实验特性)。 - TiCDC 支持 Amazon S3、Azure Blob Storage、NFS 的[对象存储](/ticdc/ticdc-sink-to-cloud-storage.md)(实验特性)。 @@ -273,7 +273,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 - 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐为 xx rows/s 时,容灾复制延迟可以保持在 x s。 + 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐从 4000 行每秒提升到 35000 行每秒,容灾复制延迟可以保持在 2 s。 ### 备份和恢复 From 2c7e7b852ce385b34874c4d118e8dffff28782cb Mon Sep 17 00:00:00 2001 From: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> Date: Wed, 28 Dec 2022 11:15:39 +0800 Subject: [PATCH 147/161] change min to chinese --- releases/release-6.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 34c240b1a65d..d81904b0e2e1 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -74,7 +74,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 需重复使用 TiFlash 查询结果或响应高并发的在线请求 - 与查询的输入数据相比,所需的结果集比较小,推荐 100 MiB 以内 - 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 + 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 * 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) @@ -267,7 +267,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) - 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 + 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 * TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) @@ -285,7 +285,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * PITR 性能大幅提升 [@joccau](https://github.com/joccau) - PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 min,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 + PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 分钟,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 * TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) From d62739bd4f0d283ccd6a6e0ffa390fd9f3b91c9c Mon Sep 17 00:00:00 2001 From: Ian Date: Wed, 28 Dec 2022 14:09:16 +0800 Subject: [PATCH 148/161] Apply suggestions from code review --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d81904b0e2e1..e260f91ba64f 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -261,7 +261,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) - TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要 TiDB 多活,尤其是异地多活的场景下,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 + TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 From 403bac2bfb24d037969b20cbeef09ef98b4d96cf Mon Sep 17 00:00:00 2001 From: Ian Date: Wed, 28 Dec 2022 14:13:57 +0800 Subject: [PATCH 149/161] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-6.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e260f91ba64f..6c548c0b9fb1 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -255,7 +255,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持输出变更数据至 storage sink(实验特性)[#6797](https://github.com/pingcap/tiflow/issues/6797) @[zhaoxinyu](https://github.com/zhaoxinyu) - TiCDC 支持将 changed log 输出到 S3、Azure Blob Storage、NFS,以及兼容 S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不希望使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 + TiCDC 支持将 changed log 输出到 Amazon S3、Azure Blob Storage、NFS,以及兼容 Amazon S3 协议的存储服务中。Cloud storage 价格便宜,使用方便。对于不使用 Kafka 的用户,可以选择使用 storage sink。使用该功能,TiCDC 会将 changed log 保存到文件,发送到存储系统中。用户自研的消费程序定时从存储系统读取新产生的 changed log 进行数据处理。 Storage sink 支持格式为 canal-json 和 csv 的 changed log。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 @@ -267,25 +267,25 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持在线更新 TLS 证书 [tiflow#7908](https://github.com/pingcap/tiflow/issues/7908) @[CharlesCheung96](https://github.com/CharlesCheung96) - 为确保数据安全,用户会对系统使用的证书设置相应的过期策略。经过固定的时间后需要使用新的证书工作。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 + 为确保系统数据安全,用户会对系统使用的证书设置相应的过期策略,经过固定的时间后会将系统使用的证书更换成新证书。TiCDC v6.5.0 支持在线更新 TLS 证书,在不影响同步的任务的前提下,TiCDC 会自动检测和更新证书,无需用户手动操作,满足用户对证书更新的需求。 * TiCDC 性能提升 [#7540](https://github.com/pingcap/tiflow/issues/7540) [#7478](https://github.com/pingcap/tiflow/issues/7478) [#7532](https://github.com/pingcap/tiflow/issues/7532) @[sdojjy](https://github.com/sdojjy) [@3AceShowHand](https://github.com/3AceShowHand) 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 - 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐从 4000 行每秒提升到 35000 行每秒,容灾复制延迟可以保持在 2 s。 + 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐从 4000 行每秒提升到 35000 行每秒,容灾复制延迟可以保持在 2s。 ### 备份和恢复 * TiDB 快照备份支持断点续传 [#38647](https://github.com/pingcap/tidb/issues/38647) @[Leavrth](https://github.com/Leavrth) - TiDB 快照备份功能支持断点续传。当 BR 遇到对可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的网络故障。 + TiDB 快照备份功能支持断点续传。当 BR 遇到可恢复的错误时会进行重试,但是超过固定重试次数之后会备份退出。断点续传功能允许对持续更长时间的可恢复故障进行重试恢复,比如几十分钟的网络故障。 需要注意的是,如果你没有在 BR 退出后一个小时内完成故障恢复,那么还未备份的快照数据可能会被 GC 机制回收,而造成备份失败。更多信息,请参考[用户文档](/br/br-checkpoint.md)。 * PITR 性能大幅提升 [@joccau](https://github.com/joccau) - PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%。恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 分钟,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 + PITR 恢复的日志恢复阶段,单台 TiKV 的恢复速度可以达到 9 MiB/s,提升了 50%,并且恢复速度可扩展,有效地降低容灾场景的 RTO 指标;容灾场景的 RPO 优化到 5 分钟,在常规的集群运维,如滚动升级,单 TiKV 故障等场景下,可以达到 RPO = 5 min 的目标。 * TiKV-BR 工具 GA,支持 RawKV 的备份和恢复 [#67](https://github.com/tikv/migration/issues/67) @[pingyu](https://github.com/pingyu) @[haojinming](https://github.com/haojinming) From fe3bbd6ddaf0e34071b0d7088ef3555953a16138 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Wed, 28 Dec 2022 14:15:11 +0800 Subject: [PATCH 150/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 6c548c0b9fb1..e9aa300cab75 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -302,6 +302,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 |[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 开始,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| | [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | +| [`tidb_enable_gc_aware_memory_track`](/system-variables#tidb_enable_gc_aware_memory_track) | 修改 | 该变量默认值由 `ON` 修改为 `OFF`。由于在测试中发现 GC-Aware memory track 不准确,导致 Analyze 追踪到的内存过大的情况,因此先关闭内存追踪。在 Golang 1.19 下,GC-Aware memory track 追踪的内存对整体内存的影响变小。| | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | From 8baef5c7d9d002516b56da32fcae5231b933fdd3 Mon Sep 17 00:00:00 2001 From: Ian Date: Wed, 28 Dec 2022 15:57:28 +0800 Subject: [PATCH 151/161] Update release-6.5.0.md --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e9aa300cab75..c25a27aaca0f 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -259,9 +259,9 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Storage sink 支持格式为 canal-json 和 csv 的 changed log。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 -* TiCDC 支持在多个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) +* TiCDC 支持两个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) - TiCDC 支持在多个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为每个 TiDB 集群到其他 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现多个 TiDB 集群之间的数据相互复制。 + TiCDC 支持在两个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为 TiDB 集群到另一个 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现两个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 From f441adb3d3d244d3d81c35b45af0ddc70c0646ef Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Dec 2022 16:05:13 +0800 Subject: [PATCH 152/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index c25a27aaca0f..e2d381aa5c6b 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -261,7 +261,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持两个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) - TiCDC 支持在两个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为 TiDB 集群到另一个 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现两个 TiDB 集群之间的数据相互复制。 + TiCDC 支持在两个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为一个 TiDB 集群到另一个 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现两个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 From 5479823bf4a1d27bd652eff8b7e78ccb8dbda6b3 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 28 Dec 2022 16:26:59 +0800 Subject: [PATCH 153/161] Apply suggestions from code review --- releases/release-6.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e2d381aa5c6b..b33dae180259 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -32,7 +32,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 ### SQL -* TiDB 添加索引的性能提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) +* TiDB 添加索引的性能约提升为原来的 10 倍 (GA) [#35983](https://github.com/pingcap/tidb/issues/35983) @[benjamin2037](https://github.com/benjamin2037) @[tangenta](https://github.com/tangenta) TiDB v6.3.0 引入了[添加索引加速](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)作为实验特性,提升了添加索引回填过程的速度。该功能在 v6.5.0 正式 GA 并默认打开,预期大表添加索引的性能提升约为原来的 10 倍。添加索引加速适用于单条 SQL 语句串行添加索引的场景,在多条 SQL 并行添加索引时仅对其中一条添加索引的 SQL 语句生效。 @@ -44,7 +44,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持通过 `FLASHBACK CLUSTER TO TIMESTAMP` 命令将集群快速回退到特定的时间点 (GA) [#37197](https://github.com/pingcap/tidb/issues/37197) [#13303](https://github.com/tikv/tikv/issues/13303) @[Defined2014](https://github.com/Defined2014) @[bb7133](https://github.com/bb7133) @[JmPotato](https://github.com/JmPotato) @[Connor1996](https://github.com/Connor1996) @[HuSharp](https://github.com/HuSharp) @[CalvinNeo](https://github.com/CalvinNeo) - TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间,并新增对 TiCDC 和 PITR 的兼容性支持。 + TiDB v6.4.0 引入了 [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md) 语句作为实验特性,支持在 Garbage Collection (GC) life time 内快速回退整个集群到指定的时间点。该功能在 v6.5.0 新增对 TiCDC 和 PITR 的兼容性支持并正式 GA,适用于快速撤消 DML 误操作、支持集群分钟级别的快速回退、支持在时间线上多次回退以确定特定数据更改发生的时间。 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 From 1a518575b60a04e272461398f4be2e2b229be59b Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Dec 2022 19:30:59 +0800 Subject: [PATCH 154/161] fix an error reported by Jenkins --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index b33dae180259..e081f85e74cc 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -203,7 +203,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 支持将执行计划打印为 JSON 格式 [#39261](https://github.com/pingcap/tidb/issues/39261) @[fzzf678](https://github.com/fzzf678) - 在 v6.5.0 中,TiDB 扩展了执行计划的打印格式。通过 `EXPLAIN FORMAT=tidb_json ` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 + 在 v6.5.0 中,TiDB 扩展了执行计划的打印格式。通过在 `EXPLAIN` 语句中指定 `FORMAT = "tidb_json"` 能够将 SQL 的执行计划以 JSON 格式输出。借助这个能力,SQL 调试工具和诊断工具能够更方便准确地解读执行计划,进而提升 SQL 诊断调优的易用性。 更多信息,请参考[用户文档](/sql-statements/sql-statement-explain.md)。 From 4a68451cc2cb37ac7cf7a17fa132f79a7ad74a61 Mon Sep 17 00:00:00 2001 From: Ian Date: Wed, 28 Dec 2022 19:48:14 +0800 Subject: [PATCH 155/161] Update releases/release-6.5.0.md --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index e081f85e74cc..3f256eb0bcaa 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -261,7 +261,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * TiCDC 支持两个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) - TiCDC 支持在两个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为一个 TiDB 集群到另一个 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现两个 TiDB 集群之间的数据相互复制。 + TiCDC 支持在两个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为 TiDB 集群到另一个 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现两个 TiDB 集群之间的数据相互复制。 更多信息,请参考[用户文档](/ticdc/ticdc-bidirectional-replication.md)。 From a56f330b92bc8ccc56277872615214f08792776c Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Dec 2022 22:46:40 +0800 Subject: [PATCH 156/161] Apply suggestions from code review Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> Co-authored-by: xixirangrang Co-authored-by: shichun-0415 <89768198+shichun-0415@users.noreply.github.com> --- releases/release-6.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 3f256eb0bcaa..a32a186a2d92 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -38,7 +38,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) - TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。 + TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。当集群从 v6.5.0 之前的版本升级到 v6.5.0 及之后的版本时,TiDB 默认自动开启该功能。如果需要关闭该功能,你可以将系统变量 [`tidb_enable_metadata_lock`](system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) 设置为 `OFF`。 更多信息,请参考[用户文档](/metadata-lock.md)。 @@ -302,7 +302,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 |[`tidb_enable_amend_pessimistic_txn`](/system-variables.md#tidb_enable_amend_pessimistic_txn-从-v407-版本开始引入)| 废弃 | 从 v6.5.0 开始,该变量被废弃,TiDB 会默认使用[元数据锁](/metadata-lock.md)机制解决 `Information schema is changed` 报错的问题。| | [`tidb_enable_outer_join_reorder`](/system-variables.md#tidb_enable_outer_join_reorder-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认启用 Outer Join 的 [Join Reorder 算法](/join-reorder.md)。| | [`tidb_cost_model_version`](/system-variables.md#tidb_cost_model_version-从-v620-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `1` 修改为 `2`,表示默认使用 Cost Model Version 2 进行索引选择和算子选择。 | -| [`tidb_enable_gc_aware_memory_track`](/system-variables#tidb_enable_gc_aware_memory_track) | 修改 | 该变量默认值由 `ON` 修改为 `OFF`。由于在测试中发现 GC-Aware memory track 不准确,导致 Analyze 追踪到的内存过大的情况,因此先关闭内存追踪。在 Golang 1.19 下,GC-Aware memory track 追踪的内存对整体内存的影响变小。| +| [`tidb_enable_gc_aware_memory_track`](/system-variables.md#tidb_enable_gc_aware_memory_track) | 修改 | 该变量默认值由 `ON` 修改为 `OFF`。由于在测试中发现 GC-Aware memory track 不准确,导致 Analyze 追踪到的内存过大的情况,因此先关闭内存追踪。在 Golang 1.19 下,GC-Aware memory track 追踪的内存对整体内存的影响变小。| | [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启元数据锁。 | | [`tidb_enable_tiflash_read_for_write_stmt`](/system-variables.md#tidb_enable_tiflash_read_for_write_stmt-从-v630-版本开始引入) | 修改 | 该变量从 v6.5.0 开始生效,默认值为 `OFF`,用来控制包含增删改的 SQL 语句中的读取操作能否下推到 TiFlash。| | [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,表示默认开启创建索引加速功能。 | @@ -312,7 +312,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | [`default_password_lifetime`](/system-variables.md#default_password_lifetime-从-v650-版本开始引入) | 新增 | 用于设置全局自动密码过期策略,要求用户定期修改密码。默认值为 `0`,表示禁用全局自动密码过期策略。 | | [`disconnect_on_expired_password`](/system-variables.md#disconnect_on_expired_password-从-v650-版本开始引入) | 新增 | 该变量是一个只读变量,用来显示 TiDB 是否会直接断开密码已过期用户的连接。 | | [`password_history`](/system-variables.md#password_history-从-v650-版本开始引入) | 新增 | 基于密码更改次数的密码重用策略,不允许用户重复使用最近设置次数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | -| [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改次数的密码重用策略。 | +| [`password_reuse_interval`](/system-variables.md#password_reuse_interval-从-v650-版本开始引入) | 新增 | 基于经过时间限制的密码重用策略,不允许用户重复使用最近设置天数内使用过的密码。默认值为 `0`,表示禁用基于密码更改时间内的密码重用策略。 | | [`tidb_auto_build_stats_concurrency`](/system-variables.md#tidb_auto_build_stats_concurrency-从-v650-版本开始引入) | 新增 | 该变量用于设置执行统计信息自动更新的并发度,默认值为 `1`。 | | [`tidb_cdc_write_source`](/system-variables.md#tidb_cdc_write_source-从-v650-版本开始引入) | 新增 | 当变量非 `0` 时,该 SESSION 写入的数据将被视为是由 TiCDC 写入的。这个变量仅由 TiCDC 设置,任何时候都不应该手动调整该变量。 | | [`tidb_index_merge_intersection_concurrency`](/system-variables.md#tidb_index_merge_intersection_concurrency-从-v650-版本开始引入) | 新增 | 这个变量用来设置索引合并进行交集操作时的最大并发度,仅在以动态裁剪模式访问分区表时有效。 | @@ -341,7 +341,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | TiDB | [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) | 废弃 | 自 v6.5.0 起,该配置项被废弃。请使用 [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-从-v640-版本开始引入) 系统变量进行设置。 | -| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password`-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接。 | +| TiDB | [`disconnect-on-expired-password`](/tidb-configuration-file.md#disconnect-on-expired-password-从-v650-版本开始引入) | 新增 | 该配置用于控制 TiDB 服务端是否直接断开密码已过期用户的连接,默认值为 `true`,表示 TiDB 服务端将直接断开密码已过期用户的连接。 | | TiKV | `raw-min-ts-outlier-threshold` | 删除 | 从 v6.4.0,该配置项被废弃。从 v6.5.0,该配置项被删除。 | | TiKV | [`cdc.min-ts-interval`](/tikv-configuration-file.md#min-ts-interval) | 修改 | 为了降低 CDC 延迟,该配置的默认值从 `1s` 修改为 `200ms`。 | | TiKV | [`memory-use-ratio`](/tikv-configuration-file.md#memory-use-ratio-从-v650-版本开始引入) | 新增 | 表示 PITR 日志恢复功能中可用内存与系统总内存的占比。 | From 534715d9bef5e631f53bc32adc0c6e61353100a5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Dec 2022 22:57:37 +0800 Subject: [PATCH 157/161] fix a broken link reported by CI check --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index a32a186a2d92..779c5c0a2551 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -38,7 +38,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 * 提供轻量级元数据锁,提升 DDL 变更过程 DML 的成功率 (GA) [#37275](https://github.com/pingcap/tidb/issues/37275) @[wjhuang2016](https://github.com/wjhuang2016) - TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。当集群从 v6.5.0 之前的版本升级到 v6.5.0 及之后的版本时,TiDB 默认自动开启该功能。如果需要关闭该功能,你可以将系统变量 [`tidb_enable_metadata_lock`](system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) 设置为 `OFF`。 + TiDB v6.3.0 引入了[元数据锁](/metadata-lock.md)作为实验特性,通过协调表元数据变更过程中 DML 语句和 DDL 语句的优先级,让执行中的 DDL 语句等待持有旧版本元数据的 DML 语句提交,尽可能避免 DML 语句的 `Information schema is changed` 错误。该功能在 v6.5.0 正式 GA 并默认打开,适用于各类 DDL 变更场景。当集群从 v6.5.0 之前的版本升级到 v6.5.0 及之后的版本时,TiDB 默认自动开启该功能。如果需要关闭该功能,你可以将系统变量 [`tidb_enable_metadata_lock`](/system-variables.md#tidb_enable_metadata_lock-从-v630-版本开始引入) 设置为 `OFF`。 更多信息,请参考[用户文档](/metadata-lock.md)。 From 7fbc6af7577f0dcb4a7aa5b382107d3373adbf78 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Dec 2022 23:09:38 +0800 Subject: [PATCH 158/161] fix a broken link reported by CI check --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 779c5c0a2551..030e7f5d73c9 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -163,7 +163,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 部分视图访问的场景需要用 Hint 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。该特性为包含复杂视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。全局 Hint 通过[查询块命名](/optimizer-hints.md#第-1-步使用-qb_name-hint-重命名视图内的查询块)和 [Hint 引用](/optimizer-hints.md#第-2-步添加实际需要的-hint)来开启。 - 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-Hint)。 + 更多信息,请参考[用户文档](/optimizer-hints.md#全局生效的-hint)。 * 支持将[分区表](/partitioned-table.md)的排序操作下推至 TiKV [#26166](https://github.com/pingcap/tidb/issues/26166) @[winoros](https://github.com/winoros) From 945074117b2331b3dc095e58aab1d0a1990a347a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Dec 2022 09:14:31 +0800 Subject: [PATCH 159/161] fix the indent issue --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 030e7f5d73c9..d6fa5e3b9c36 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -74,7 +74,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 - 需重复使用 TiFlash 查询结果或响应高并发的在线请求 - 与查询的输入数据相比,所需的结果集比较小,推荐 100 MiB 以内 - 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 + 更多信息,请参考[用户文档](/tiflash/tiflash-results-materialization.md)。 * 支持绑定历史执行计划(实验特性)[#39199](https://github.com/pingcap/tidb/issues/39199) @[fzzf678](https://github.com/fzzf678) From d736c95f9106648b978f04c47524754cd6331ffa Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Dec 2022 10:18:09 +0800 Subject: [PATCH 160/161] Redo log -> redo log Co-authored-by: xixirangrang --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index d6fa5e3b9c36..95bb1fefd340 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -273,7 +273,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 在 TiDB 场景测试验证中,TiCDC 的性能得到了比较大提升。 - 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC Redo log 和 Syncpoint 后,吞吐从 4000 行每秒提升到 35000 行每秒,容灾复制延迟可以保持在 2s。 + 单台 TiCDC 节点能处理的最大行变更吞吐可以达到 30K rows/s,同步延迟降低到 10s。即使在常规的 TiKV/TiCDC 滚动升级场景,同步延迟也小于 30s;在容灾场景测试中,打开 TiCDC redo log 和 Syncpoint 后,吞吐从 4000 行每秒提升到 35000 行每秒,容灾复制延迟可以保持在 2s。 ### 备份和恢复 From bb89986b9fad531ce8fc484a8f7b0da06f20e477 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Dec 2022 13:36:06 +0800 Subject: [PATCH 161/161] Update releases/release-6.5.0.md Co-authored-by: Ran --- releases/release-6.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-6.5.0.md b/releases/release-6.5.0.md index 95bb1fefd340..718efcf79798 100644 --- a/releases/release-6.5.0.md +++ b/releases/release-6.5.0.md @@ -259,7 +259,7 @@ TiDB 6.5.0 为长期支持版本 (Long-Term Support Releases, LTS)。 Storage sink 支持格式为 canal-json 和 csv 的 changed log。更多信息,请参考[用户文档](/ticdc/ticdc-sink-to-cloud-storage.md)。 -* TiCDC 支持两个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) +* TiCDC 支持在两个 TiDB 集群之间进行双向复制 [#38587](https://github.com/pingcap/tidb/issues/38587) @[xiongjiwei](https://github.com/xiongjiwei) @[asddongmen](https://github.com/asddongmen) TiCDC 支持在两个 TiDB 集群之间进行双向复制。如果业务上需要构建异地多活的 TiDB 集群架构,可以使用该功能作为 TiDB 多活的解决方案。只要为 TiDB 集群到另一个 TiDB 集群的 TiCDC 同步任务配置 `bdr-mode = true` 参数,就可以实现两个 TiDB 集群之间的数据相互复制。