我很高兴地宣布 Vitess 6 的正式发布!这是我们新加速发布计划下的第二个版本。

虽然距离上一版本发布仅过去了12周,但几个关键投资似乎已经开始集中展现成果。以下是一些我个人认为值得关注的亮点:

改进的 SQL 支持

Vitess 现在对 MySQL 的语法有了更深入的理解。我们采用了研究流行应用程序和框架所发出的查询的方式,将其直接纳入 Vitess 的端到端测试套件中。

一些常见的问题,例如 SHOW 命令无法返回正确结果或 MySQL 的 SQL_CALC_FOUND_ROWS 特性,现在已经得到了修复。在 Vitess 7 中,我们计划增加对设置会话变量的支持,这将解决目前最大的兼容性问题之一。

Kubernetes 拓扑服务

Helm 图表现默认为使用 Kubernetes 作为拓扑服务。这项更改帮助我们移除了对已被废弃的 etcd-operator 的依赖。

这一变化也解锁了 Helm 3 的采用,并支持更广泛范围的 Kubernetes 版本,使 Vitess 的安装过程变得更加简单。

基于 VReplication 的工作流正式可用

虽然 VReplication 功能最初在 Vitess 4 中亮相,但现在它已经从实验性推进到正式可用状态,文档现已指向 MoveTables 和 Resharding 功能。

与之前的工作流(如 Vertical Split Clone 和 Horizontal Sharding)相比,这些新工作流所需的步骤显著减少,我们也计划在未来某个时候废弃旧的工作流。

此外,我们已将端到端测试套件完全迁移至 Golang,同时通过移除大量特定于基于语句复制(Statement-Based Replication)和“V2”查询路由的遗留代码,改善了代码库的健康状况。

注意事项

此次发布中的不兼容更改数量略高于之前版本。我们建议您阅读一下发布说明以了解详情。



Vitess 6 版本发布插图

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

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

本文链接:http://www.choupangxia.com/2025/05/17/vitess-6/