version 10 improves performance and compatibility • DEVCLASS
Vitess 10 is being deployed by the Vitess project team, compatibility being the main objective. However, this release also brings benchmarking and optimization improvements intended to highlight areas of Speed that can be improved in terms of performance.
Vitess is an open source database clustering system that implements partitioning capabilities for scaling MySQL. As such, compatibility is considered one of the most important facets of the software, so a deployment using Vitess should function as an instant replacement for MySQL.
In a publication on the CNCF BlogVitess manager Alkin Tezuysal said the team pushed to create automated tests running a popular database framework, which allowed them to find and fix several issues that would have prevented most users from be able to use Vitess with this framework.
“With the release of V10.0, we can proudly say that Vitess (unhardened) passes all end-to-end automated tests of the Ruby on Rails framework,” Tezuysal said.
The Vitess team intends to add more tests for more frameworks which should eliminate any discrepancies between MySQL and Vitess which need to be fixed to ensure that Vitess can be used as a database wherever MySQL can. .
Other improvements include the Freno style limitation added to VReplication workflows when migrating data from an existing system to Vitess. According to the Vitess team, the source and target can be limited depending on the replication lag of the corresponding fragments. The new Mount and Migrate commands also allow users to import data from another Vitess cluster.
Vitess 10 also features improved SQL syntax and reversible inline DDL providing lossless online restore capability for completed migrations. Under declarative schema changes, Vitess automatically decides whether the existing schema matches the required schema or works on its mapping.
The performance optimizations for this version of Vitess include a new cache implementation for query plans. This uses a less frequently used eviction algorithm to make it more resistant to pollution, so that it performs better in cases such as mass inserts into an active database, while still having downtimes. faster response and better success rates under normal operation.
The performance of the SQL Vitess analyzer has been significantly improved, both in terms of scanning speed and reducing memory allocations. This will result in less CPU usage for vtgate instances, faster request times, and reduced GC churn rate, according to the Vitess team. Likewise, many AST operations performed by Vitess on SQL syntax trees have been redesigned so as not to allocate memory unless strictly necessary, which should result in a noticeable decrease in memory usage for vtgate processes.
Vitess 10 also introduces an experimental multi-cluster administration API and web user interface, called VTAdmin. This is currently only a preview, and the team at Vitess have said they value the feedback from the testers. VTAdmin is based on the new VtctldServer API, so users need to run the new grpc-vtctld service on their vtctld to be able to use it. All the details on Vitess 10 are available in the CNCF Blog and the release notes.