TiDB 路线图
TiDB 路线图展示了 TiDB 未来的计划。随着我们发布长期稳定版本 (LTS),这个路线图将会持续更新。通过路线图,你可以预先了解 TiDB 的未来规划,以便你关注进度,了解关键里程碑,并对开发工作提出反馈。
在开发过程中,路线图可能会根据用户需求和反馈进行调整,请不要根据路线图的内容制定上线计划。如果你有功能需求,或者想提高某个特性的优先级,请在 GitHub 上提交 issue。
TiDB 重要特性规划
类别 | 2024 年底 LTS 版本 | 2025 年中 LTS 版本 | 未来版本 |
---|
可扩展性与性能 增强性能 | - TiKV 数据缓存
TiKV 在内存中维护数据的最近版本,以减少对多版本数据的重复扫描,进而提升性能。
- 分区表全局索引
- 自动配置统计信息收集的并行度
TiDB 根据部署的节点数量和硬件规格自动配置统计信息收集任务的并行度和扫描并发度,提升收集速度。
- 加速数据库恢复
缩短全量数据库恢复和 Point-in-time recovery (PITR) 所需的时间。
- 支持不限大小的事务
未提交事务所处理的数据量不再受限于 TiDB 节点可用内存大小,提高事务和批量任务的成功率。
- TiProxy 根据负载转发流量
TiProxy 依据目标 TiDB 节点的负载情况对流量进行转发,以充分利用硬件资源。
| - PD 的 heartbeat 微服务化
PD 的 heartbeat 可以独立部署和单独扩展,避免 PD 成为集群的资源瓶颈。
- 减少统计信息收集时的 I/O 消耗
在进行统计信息收集时,可以选择在 TiKV 上仅扫描部分数据样本,以减少统计信息收集所消耗的时间和资源。
- 移除将 Limit 算子下推到 TiKV 的已知限制
- Cascades 优化器框架
引入更成熟强大的优化器框架,扩展当前优化器的基础能力。
- 单个 DM 任务在全量迁移时达到每秒 150 MiB
- 增强 DDL 执行框架
提供可扩展的并行 DDL 执行框架,提升 DDL 的性能和稳定性。
| - 表级别的负载均衡
PD 根据每个表上各 Region 的负载情况决定数据的调度策略。 - 提升大数据量系统表的处理性能
当系统表中存在大量数据时,提升查询系统表的性能,降低查询开销。
|
稳定性与高可用 提升可靠性 | - 限制备份任务的内存消耗
- 限制统计信息收集的内存消耗
- 管理大量的 SQL Binding
提升 SQL Binding 的使用体验,方便用户创建和管理大量的执行计划,以稳定数据库性能。
- 资源组增强对复杂 SQL 的控制
在复杂 SQL 执行完成前,定期评估其 Request Unit (RU) 消耗,防止其在执行期间对整个系统产生过大的影响。
- 自动为资源消耗超出预期的查询切换资源组
当一个查询被识别为 Runaway Query,用户可以选择将其调整至特定资源组,并设置资源消耗的上限。
| - 限制表元信息的内存消耗
提升大规模集群的稳定性。
- 分布式统计信息收集
统计信息收集支持在多个 TiDB 节点上并行进行,提升收集效率。
- 多版本统计信息
当统计信息被更新后,用户可以查看统计信息的历史版本,并能够选择恢复到过去某个版本的统计信息。
- 更可靠的数据备份
减少数据备份过程中可能出现的内存不足等问题,并确保备份数据的可用性。
- 常用算子均可落盘
HashAgg、Sort、TopN、HashJoin、WindowFunction、IndexJoin 和 IndexHashJoin 等常用算子均可落盘,进一步降低 OOM 风险。
| - 自适应资源组
资源组根据过往的运行情况自动调整资源组的 RU 设定。
- 强化内存保护
TiDB 主动监控所有模块的内存使用情况,阻止可能影响系统稳定性的内存操作。
- 实例级执行计划缓存
同一个 TiDB 实例的所有会话可以共享执行计划缓存,提升内存利用率。
|
数据库管理与可观测性 增强数据库可管理性及其生态系统 | - 可靠的查询终止
正在运行中的 SQL 语句能够被立即终止,并从 TiDB 和 TiKV 中释放相应的资源。
- 切换资源组的权限控制
只有被授予特定权限的用户才能切换自身的资源组,防止资源被滥用。
- 支持查看表或 SQL 与热点 Region 的关系
IMPORT INTO 支持逻辑导入
| - 细粒度定制统计信息收集策略
用户可以修改特定表的统计信息收集策略,例如健康度和并行度。
- Workload Repository
TiDB 持久化内存中记录的负载信息,包括累计统计数据和实时统计数据,有助于故障排查和分析。
- 自动索引推荐
TiDB 自动分析可以优化的 SQL 语句,并建议创建新索引或删除已有索引。
- 支持修改分区表的列类型
用户可以修改分区中列的类型,无论该列是否为分区键。
- 设置
IMPORT INTO 的冲突策略 用户可以为导入数据时出现的冲突设置解决策略,例如报错退出、忽略或替换。
- 全链路监控
跟踪单条 SQL 语句在整个生命周期中的时间消耗,包括 TiDB、TiKV、PD 和 TiFlash。
| - 负载分析
分析 Workload Repository 中的过往负载数据,根据分析结果提出优化建议,例如 SQL 调优和统计信息收集策略调整。
- 支持修改主键
- 支持将数据导出为 SQL 语句
|
安全 增强数据安全与隐私保护 | - Google Cloud KMS
完善静态加密基于 Google Cloud KMS 的密钥管理机制,使其成为正式功能。
- 完善动态权限
完善动态权限设计,限制 Super 权限的实现。
- 基于标记的日志脱敏
支持在集群日志中标记敏感数据,然后根据使用场景选择是否对这些敏感信息进行脱敏。
- FIPS
加密场景符合 FIPS 标准。
| - 支持 AWS IAM 认证
TiDB 作为 AWS 第三方 ARN,用于 AWS IAM 访问。
- Kerberos
支持基于 Kerberos 的身份认证。 - MFA
支持多因素身份认证机制。
| - 基于标签的访问控制
支持通过配置标签的方式,以标签形式对数据进行访问控制。
- 增强客户端加密
支持客户端对关键字段进行加密,增强数据安全性。
- 业务数据动态脱敏
基于不同数据应用场景的数据脱敏,保证重要领域的数据安全。
|
注意
上述表格中并未列出所有计划发布的内容。另外,不同的服务订阅版本中的功能可能有所不同。