Overview Vitess is a storage platform for horizontally scaling MySql. It is optimized to run in the cloud as efficiently as on dedicated hardware. It integrates many of the important features of MYSQL database with the extensibility of NoSQL databases.
Scalability
- Eliminates high memory overhead for MySQL connections
- Arbitrarily expand your database without adding shard logic to your application
- Provides built-in sharding
- Support on-site re-segmentation with minimal read-only down time
Performance
- Automatic rewriting of queries that affect database performance
- Use the proxy server caching mechanism to reconcile queries and prevent duplicate queries from reaching your database at the same time
Ease of management
- Use a lock server, such as ZooKeeper or ETCD, to track and manage servers, allowing you to loosely couple your application and database topologies
- Automated processing capabilities, such as host failover and backup, minimize any necessary downtime
Some key features of feature vitess Browse:
Connection pooling There is a memory overhead for each MySQL connection, and the memory overhead for the default MySQL configuration is around 256KB, in addition to the high CPU overhead of getting the connection. The Vitess BSON-based protocol creates a very lightweight connection (each connection is around 32KB), which makes it easy for the vitess server to handle thousands of connections at a time. Vitess uses the excellent concurrency support of the Go language to map these connections to a MYSQL connection pool.
Shard Management as your database storage grows, you may want to slice it horizontally. The tragedy is that MYSQL does not natively support sharding, so you will need to write the Shard code yourself and add the Shard logic to your own application.
The vitess can be segmented with minimal read-only downtime. For example, it supports split replication, separating the replication stream so that later a Shard host will only receive transactions that affect a row in its own new shard. In addition, Vitess supports custom sharding schemes, and if you already have a ready-made scheme you can apply directly to vitess.
Process Management Vitess helps you manage the life cycle of your DB instances through automated processing of various scenarios, such as failover, master-slave replication. Vitess also tracks metadata in all cluster configurations so that different cluster views are always up-to-date and consistently consistent for different clients. In addition, your own application does not need to track changes in the database topology.
Original link: http://vitess.io/.
Open Source Database middleware vitess: A set of servers and toolsets designed to simplify the horizontal scaling of MYSQL databases for Web applications