Mobile Monitoring Solutions

Close this search box.

Vitess Version 19 Released: Ends Support for MySQL 5.7, Improves MySQL Compatibility

MMS Founder
MMS Aditya Kulkarni

Article originally posted on InfoQ. Visit InfoQ

Recently, Vitess launched its latest stable release v19. The highlights of this update include metrics for monitoring stream consolidations, improved query compatibility with MySQL for multi-table delete operations, support for incremental backups, and various performance enhancements, among other features.

The Vitess Maintainer Team discussed the release in a blog post which was also shared on the CNCF website. Vitess provides a database management solution designed for the deployment, scaling, and administration of large clusters of open-source database instances. At present, it provides support for MySQL and Percona Server for MySQL.

In response to Oracle marking MySQL 5.7 as end-of-life in October 2023, Vitess is aligning with these updates by discontinuing support for MySQL 5.7 in this latest release. The maintainers’ team has recommended users upgrade their systems to MySQL 8.0 while utilizing Vitess 18 before transitioning to Vitess 19. It is important to note that Vitess 19 will maintain compatibility for importing from MySQL 5.7.

The improved query compatibility with MySQL is facilitated through the SHOW VSCHEMA KEYSPACES query, along with various other SQL syntax enhancements, including the ability to perform the AVG() aggregation function on sharded keyspaces through a combination of SUM and COUNT. Furthermore, Vitess 19 broadens its support for Non-recursive Common Table Expressions (CTEs), enabling the creation of more complex queries.

To mitigate potential security vulnerabilities, communication between throttlers has been transitioned to use gRPC, discontinuing support for HTTP communication. Vitess has also introduced VSchema improvements by incorporating a --strict sub-flag and a matching gRPC field within the ApplyVSchema command. This update guarantees using only recognized parameters in Vindexes, thus improving error detection and configuration verification.

Additionally, in a move to enhance security and ensure greater system stability, the ExecuteFetchAsDBA command now rejects multi-statement inputs. Vitess plans to offer formal support for multi-statement operations in an upcoming version.

The process of Vitess migration cut-over has been updated to incorporate a back-off strategy when encountering table locks. If the initial cut-over fails, subsequent attempts will occur at progressively longer intervals, minimizing strain on an already burdened production system.

Additionally, Online DDL now offers the option of a forced cut-over, which can be triggered either after a specified timeout or on demand. This approach gives precedence to completing the cut-over, by ending queries and transactions that interfere with the cut-over process.

When it comes to general features, Vitess is equipped with JDBC and Go database drivers that comply with a native query protocol. Furthermore, it supports the MySQL server protocol, ensuring compatibility with almost all other programming languages.

Numerous companies, including Slack and GitHub, have implemented Vitess to meet their production requirements. Additionally, Vitess has managed all database traffic for YouTube for more than five years. Vitess Maintainer Team has invited the tech community to join discussions on GitHub or Slack channel, where they can share stories, pose questions, and engage with the broader Vitess community.

About the Author

Subscribe for MMS Newsletter

By signing up, you will receive updates about our latest information.

  • This field is for validation purposes and should be left unchanged.