TiDB 路线图

TiDB 路线图展示了 TiDB 未来的计划。随着我们发布长期稳定版本 (LTS),这个路线图将会持续更新。通过路线图,你可以预先了解 TiDB 的未来规划,以便你关注进度,了解关键里程碑,并对开发工作提出反馈。

在开发过程中,路线图可能会根据用户需求和反馈进行调整,请不要根据路线图的内容制定上线计划。如果你有功能需求,或者想提高某个特性的优先级,请在 GitHub 上提交 issue。

TiDB 重要特性规划

类别2024 年底版本2025 年中版本未来版本
可扩展性与性能
提供更强的扩展能力和更快的性能,支持超大规模的工作负载,优化资源利用,提升集群性能。
  • TiKV 数据缓存
    TiKV 在内存中维护数据的最近版本,减少对多版本数据的反复扫描,进而提升性能。

  • 自动配置统计信息收集的并行度 (GA)
    TiDB 根据部署的节点数以及硬件规格自动设置统计信息收集任务的并行度和扫描并发度,提升收集速度。

  • 加速数据库恢复
    缩短全量数据库恢复和 Point in Time Recovery (PITR) 所需的时间。

  • 支持不限大小的事务
    未提交事务所处理的数据量,不再依赖 TiDB 节点的可用内存大小。提升事务及批量任务的成功率。

  • TiProxy 根据负载转发流量(GA)
    TiProxy 依据目标 TiDB 的负载对流量进行转发,以此充分利用硬件资源。

  • PD 的路由功能微服务化
    实现 PD 路由服务(Region 元数据的访问、更新)的独立部署,路由服务完全改造为无状态服务(无强领导者)、易于扩展,避免 PD 成为集群资源瓶颈。

  • 减少统计信息收集时的 I/O 消耗 (GA)
    当收集统计信息时,允许 TiKV 上仅扫描部分数据样本,以减少统计信息收集所消耗的时间和资源。

  • 移除将 Limit 算子下推到 TiKV 的已知限制
    移除将 Limit 运算符从 TiDB 下推到 TiKV 的限制,从而可以直接在存储层进行更高效的查询处理。

  • Cascades optimizer
    引入更成熟强大的优化器框架,扩展当前优化器的基础能力。

  • 增强 DDL 执行框架
    提供可扩展的并行 DDL 执行框架,提升 DDL 的性能和稳定性。

  • 增强 TiCDC 的扩展性
    推出新的 TiCDC 架构,提升 TiCDC 的扩展性以及性能。

  • 表级别的负载均衡
    PD 根据每个表上各 Region 的负载决定数据的调度策略。

  • 系统表性能优化
    当系统表中存有大量数据时,提升查询系统表的查询性能。

  • 增强 Region 元数据存储的可扩展性
    拆分专用的无状态路由器服务(区域元数据读/写),并将区域元数据存储从 PD 迁移到 TiKV。 元数据存储层将轻松实现无限扩展。

SQL 功能
提供前沿的 SQL 功能,提升了兼容性、灵活性和易用性,助力复杂查询和现代应用程序的高效运行。
  • 支持向量搜索功能
    支持向量数据类型、向量索引及高性能向量搜索能力,同时具备向量和关系数据混合查询能力。

  • 外键成为正式功能 (GA)

  • 分区表全局索引成为正式功能 (GA)
    解除分区表唯一键必须包含分区键的限制,提升分区表非分区列的查询性能。

  • 支持修改分区表的列类型
    你可以修改分区中列的类型,无论是否为分区键。

  • 支持物化视图
    支持物化视图功能,改进预处理能力,优化计算效率,进一步提升数据分析性能。

稳定性与高可用
确保持续运行,提升系统容错能力,为用户提供稳定可靠的使用体验。
  • 限制备份任务的内存消耗

  • 限制统计信息收集的内存消耗 (GA)

  • 管理大量的 SQL Binding (GA)
    提升 SQL Binding 的使用体验,方便用户创建和管理大量的执行计划,以稳定数据库性能。

  • 资源组增强对复杂 SQL 的控制 (GA)
    在复杂 SQL 执行完成前,间歇性衡量 SQL 的 RU 消耗,避免在 SQL 执行期间对系统产生过大影响。

  • 自动为超预期查询切换资源组 (GA)
    当一个查询被认定为 Runaway Query,你可以选择将其置入一个特定资源组,为其资源消耗设置上限。

  • 限制表元信息的内存消耗 (GA)
    减少大规模集群下表的元信息对内存的消耗,提升大规模集群的稳定性。

  • 更可靠的数据备份
    减少数据备份过程中可能出现的内存不足等问题,并确保备份数据的可用性。

  • 常用算子均可落盘
    HashAgg、Sort、TopN、HashJoin、WindowFunction、IndexJoin 和 IndexHashJoin 等常用算子均可落盘,进一步降低 OOM 风险。

  • 实例级执行计划缓存 (GA)
    同一个 TiDB 实例的所有会话可以共享执行计划缓存,提升内存利用率。

  • 资源组优先满足限额内定义的用量 (RU) (GA)
    动态调整 Burstable 资源组使用的资源上限。在不影响其他资源组限额的情况下,充分利用剩余资源。

  • 自适应资源组
    资源组根据过往的运行情况自动调整资源组的 RU 设定。

  • 强化的内存保护
    TiDB 主动对所有模块的内存使用进行监控,阻止一切可能影响系统稳定性的内存操作。

  • 自动 SQL 绑定
    通过对 SQL 运行指标的收集和分析,对一部分执行计划自动创建绑定,提升 OLTP 类系统的执行计划稳定性。

  • 多版本统计信息
    当统计信息被更新后,你可以查看统计信息的过往版本,并能够选择恢复过去某个版本的统计信息。

  • 分布式统计信息收集
    统计信息收集支持在多个 TiDB 节点上并行进行,提升收集效率。

数据库管理与可观测性
通过主动监控和管理,确保系统平稳运行。
  • 可靠的 SQL 终止操作 (GA)
    正在运行中的 SQL 语句能够被立即终止,并从 TiDB 和 TiKV 中释放相应的资源。

  • 切换资源组的权限控制 (GA)
    只有被授予特定权限的用户,才可以切换自身的资源组,防止资源被滥用。

  • 增加对 TiDB 和 TiKV CPU 时间的观测 (GA)
    在 statements 记录、慢日志中增加 TiDB 和 TiKV CPU 时间的指标,方便快速定位造成 TiDB 或者 TiKV CPU 飙升的 SQL 语句。

  • 细粒度定制统计信息收集策略 (GA)
    你可以为特定的表定制统计策略,调整健康度和并发度等参数。

  • Workload Repository (GA)
    TiDB 持久化内存中记录的负载信息,包括累计统计数据和实时统计数据,有助于故障排查和分析。

  • 自动索引推荐 (GA)
    TiDB 自动分析有优化价值的 SQL,推荐创建新索引或删除已有索引。

  • 标准时间模型 (GA)
    对 SQL 的运行时间进行标准化定义,以此为基础定义数据库负载。通过观测 statements 记录、慢日志、聚合的集群指标,用户能够准确发现产生异常负载的节点及 SQL。

  • 增加对 TiFlash CPU 时间的观测 (GA)
    在 statements 记录和慢日志中增加 TiFlash CPU 时间的指标,方便快速定位造成 TiFlash CPU 飙升的 SQL 语句。

  • 负载分析
    分析 Workload Repository 中的过往负载数据,根据分析结果提出优化建议,例如 SQL 调优和统计信息收集策略调整。

  • 全链路监控
    跟踪单条 SQL 语句在其运行的整个生命周期的时间消耗,包括 TiDB、PD、TiKV 和 TiFlash。

全面的数据安全和隐私保护
强化保护敏感数据的安全措施,提供顶级加密保障,并确保符合不断演进的隐私法规
  • Google Cloud KMS (GA)
    完善静态加密基于 Google Cloud KMS 的密钥管理机制,使其成为正式功能。

  • Azure Key Vault
    基于 Azure Key Vault 增强静态加密的密钥管理机制。

  • 基于标记的日志脱敏
    支持在集群日志中标记敏感信息,然后可以根据使用场景决定是否对其进行脱敏。

  • 列级权限管理 (GA)
    支持兼容 MySQL 的列级权限管理机制。

  • AWS 的 IAM 认证
    支持与 AWS IAM 的第三方 ARN 集成,以实现安全的访问控制。

  • Kerberos 认证 (GA)
    支持基于 Kerberos 的身份验证。

  • MFA
    增加对多因素认证的支持,增强用户对多因素认证机制的验证。

  • 组件之间的 TLS 改进 (GA)
    确保 TiDB 集群的所有组件之间的连接支持加密传输。

  • 完善动态权限
    完善动态权限设计,限制 Super 权限的实现。

  • FIPS (GA)
    加密场景符合 FIPS 标准。

  • 基于标签的访问控制机制
    支持通过配置标签的方式对数据进行访问控制。

  • 增强的客户端加密
    支持客户端对关键字段加密,增强数据安全性。

  • 业务数据动态脱敏
    基于不同数据应用场景的数据脱敏,保证重要领域的数据安全。

文档内容是否有帮助?