Vitess维护团队非常高兴地宣布,Vitess 9 现已正式发布(General Availability)。


主要主题

在这个版本中,我们重点关注在发布成功的Vitess 8之后进一步提高稳定性。本次更新的一个重要指标是,Vitess 8版没有报告任何重大问题,因此没有发布补丁版本。这使得我们可以继续推进对兼容性改进以及常见框架的适配工作。这些都被列入了详细的版本说明(Release Notes),请务必仔细阅读并通过GitHub反馈您发现的任何问题。以下几个主题是本次版本更新的重点内容:


兼容性(MySQL以及框架)

Vitess的持续改进使得它可以支持MySQL所接受的所有查询。本次更新重点关注了SET语句,以及information_schema查询,此外还增强了其他常见和复杂查询的支持。查询服务模块的多个部分进行了重构,以进一步完善兼容性。

需要注意的是,Reserved Connections(保留连接)默认情况下仍未启用。如果您计划使用它,请务必先在测试环境中验证,确保支持所有您的查询和框架后再在生产环境中启用。


迁移

针对迁移过程中可能出现的问题,本次更新在VReplication中新增了强化的日志记录和指标功能,以帮助诊断停滞或失败的VReplication工作流,同时提高操作性能相关问题的可见性。

  • JSON列支持的提升:此前在VReplication中对JSON列支持的功能不完整,本次更新已完全重构并实现了功能完全支持。
  • 全新的VReplication CLI命令v2版本:新的命令版本改进了用户体验和功能,基于用户反馈作出调整。这些命令被标记为实验性,但已完全实现功能。我们欢迎用户提供进一步的反馈或建议以改善此功能。

创新

在线模式变更(Online Schema Changes)是本次更新的另一亮点:

  1. 更改后的语法:在线DDL语法已经调整并最终确定。新引入的@@ddl_strategy会话变量或命令行标志-ddl_strategy允许您选择迁移方式(直接执行“direct”或使用工具“gh-ost”或“pt-osc”)。此外,现在迁移使用了标准的ALTER TABLE语法。
  2. 更好的审计:迁移现在具有与上下文和vttablet标识相关联的信息,大幅提升了追溯能力。
  3. 更高效的管理:支持基于上下文标识列出迁移,同时允许取消所有待执行的迁移。如果迁移因为故障转移失败,Vitess将自动重试。
  4. 支持更多语句:Online DDL目前也支持CREATEDROP语句。这样可以对具有相同上下文的迁移进行分组执行。
  5. 安全、渐进式的DROP操作:在DROP语句执行时会自动转换为RENAME操作,将表转移到生命周期管理机制中。表被暂时保留一段时间,然后逐步安全地清理以避免对数据库造成过载风险。此外,多表DROP语句会分解为单表操作逐个执行。

特别提醒:请务必在测试环境中验证任何新功能,确保安全性和兼容性后再推广到生产环境使用。


文档

我们新增了两份用户指南,专门为新采用Vitess的用户制作:

  1. 关于VSchema查询服务的指南
  2. 关于如何在生产环境运行Vitess的指南

本次版本中包含少量不兼容变更,请花费一些时间阅读版本说明以了解这些改动是否会对您产生影响。


请下载 Vitess 9 并尝试使用!



Vitess 9.0 正式发布插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2025/05/19/vitess-9-0/