Vitess 9.0 正式发布
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)是本次更新的另一亮点:
- 更改后的语法:在线DDL语法已经调整并最终确定。新引入的
@@ddl_strategy
会话变量或命令行标志-ddl_strategy
允许您选择迁移方式(直接执行“direct”或使用工具“gh-ost”或“pt-osc”)。此外,现在迁移使用了标准的ALTER TABLE
语法。 - 更好的审计:迁移现在具有与上下文和vttablet标识相关联的信息,大幅提升了追溯能力。
- 更高效的管理:支持基于上下文标识列出迁移,同时允许取消所有待执行的迁移。如果迁移因为故障转移失败,Vitess将自动重试。
- 支持更多语句:Online DDL目前也支持
CREATE
与DROP
语句。这样可以对具有相同上下文的迁移进行分组执行。 - 安全、渐进式的DROP操作:在DROP语句执行时会自动转换为RENAME操作,将表转移到生命周期管理机制中。表被暂时保留一段时间,然后逐步安全地清理以避免对数据库造成过载风险。此外,多表DROP语句会分解为单表操作逐个执行。
特别提醒:请务必在测试环境中验证任何新功能,确保安全性和兼容性后再推广到生产环境使用。
文档
我们新增了两份用户指南,专门为新采用Vitess的用户制作:
- 关于VSchema和查询服务的指南
- 关于如何在生产环境运行Vitess的指南
本次版本中包含少量不兼容变更,请花费一些时间阅读版本说明以了解这些改动是否会对您产生影响。
请下载 Vitess 9 并尝试使用!
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接