内容提要
Vitess 18正式发布,增强了MySQL兼容性和可用性。新增外键约束支持,改进查询规划,提升复杂查询性能。CLI迁移至cobra,简化文档生成。支持近零停机的数据迁移和时间点恢复功能,Tablet throttler改用gRPC通信,提升安全性。鼓励用户尝试新版本并反馈。
延伸解读
外键约束支持:分片内管理,跨分片待未来
Vitess 18 开始支持在同一分片内管理外键约束,解决了以往必须在外部分片管理外键的痛点,降低了采用门槛。同时支持从已有 MySQL 数据库导入带外键约束的数据。但跨分片的外键关系尚未支持,官方计划在未来版本中扩展。因此,当前若业务涉及跨分片外键,仍需评估兼容性。
查询规划器升级:复杂查询性能提升
Vitess 18 对查询规划器进行了重大改进,使其更健壮灵活,能更好地支持复杂聚合、子查询和派生表。这意味着在分片数据库上执行复杂查询时,性能将得到提升。对于依赖复杂 SQL 的应用,升级后可能获得更优的执行效率,但具体提升幅度取决于查询模式。
CLI 迁移与工具链更新:cobra 与 vtctldclient
Vitess CLI 已迁移至 cobra,带来自动生成的参考文档和 shell 自动补全,提升开发效率。同时,所有客户端命令已迁移至 vtctldclient,旧版 vtctl/vtctlclient 已弃用并计划在 Vitess 19 移除。用户应尽快迁移到新工具,以避免未来版本升级时出现兼容性问题。
数据迁移与恢复:近零停机与时间点恢复
Vitess 18 支持近零停机的数据迁移,能正确维护外键关系,减少了切换期间的查询错误。时间点恢复功能现在无需依赖外部 binlog 服务器,可直接恢复到特定时间戳,简化了恢复流程。Tablet throttler 改用 gRPC 通信,提升安全性,HTTP 通信将在下个版本移除。这些改进增强了数据管理的可靠性和安全性。
Q&A
Vitess 18有哪些主要的新特性?
Vitess 18增强了MySQL兼容性,新增外键约束支持,改进查询规划,提升复杂查询性能,并支持近零停机的数据迁移和时间点恢复功能。
Vitess 18如何支持外键约束?
Vitess 18支持在同一分片内管理外键约束,并计划在未来版本中扩展到跨分片关系。
Vitess 18的查询规划有什么改进?
查询规划显著改进,支持复杂聚合、子查询和派生表,提升复杂查询性能。
Vitess CLI迁移到cobra有什么好处?
迁移到cobra后,Vitess CLI实现了文档自动生成和命令行自动补全,简化了用户操作和文档维护。
Vitess 18如何实现近零停机的数据迁移?
Vitess 18支持近零停机的数据迁移,能够在迁移过程中正确维护外键关系,避免查询错误。
Vitess 18的时间点恢复功能有什么变化?
Vitess 18新增时间点恢复功能,无需依赖外部binlog服务器,简化了恢复过程。