Project Introduction relational databases (such as MySQL) were not initially built and optimized for large-scale Web applications. The goal of the Vitess project is to promote the scalability of MySQL databases for large-scale Web applications. Vtocc is the first available product in the vitess project. It serves as the front-end of MySQL and provides an RPC interface for receiving and sending SQL commands. It can
Project Introduction relational databases (such as MySQL) were not initially built and optimized for large-scale Web applications. The goal of the Vitess project is to promote the scalability of MySQL databases for large-scale Web applications. Vtocc is the first available product in the vitess project. It serves as the front-end of MySQL and provides an RPC interface for receiving and sending SQL commands. It can
Project Overview
Relational databases (such as MySQL) were not initially built and optimized for large-scale Web applications. The goal of the Vitess project is to promote the scalability of MySQL databases for large-scale Web applications.
Vtocc is the first available product in the vitess project. It serves as the front-end of MySQL and provides an RPC interface for receiving and sending SQL commands. It can be used in a small amount and with reasonable throughput (~ 10 kqps ). In addition, it has a built-in SQL syntax analyzer that enables the server to understand and optimize the query statements received.
Vtocc has been applied in many large production environments. For example, the new MySQL service architecture of YouTube takes it as the core.
Feature Overview
- Python DBAPI 2.0 compatible client interface (vt_occ2.py)
- Client interfaces compatible with the Go language database/SQL
- Supports multiple protocols based on HTTP or TCP sockets
- Supports variable binding and query cache: avoids repeated analysis and efficiently reuse query plans.
- Connection Pool supported
- Transaction Management: You can limit the number of concurrent connections for transaction processing.
- DML comment: Each DML statement contains a comment area to identify the primary key of the modified row.
- Built-in reliability Solution
- Enhanced query: You can reuse ongoing queries for subqueries.
- Limit the maximum number of rows returned by the query
- You can terminate a transaction that has not responded for a long time.
- A query that fails to return results after it can be terminated for a long time
- The backend idle connection can be automatically terminated to avoid offline database errors.
New features that Vtocc may have in the future:
- Supports row cache consistency and overwrites queries to maximize row cache utilization.
- Built-in binlog interpreter, which supports DML document analysis of the row change update stream provided by vtocc Injection
- Supports DDL
- Support persistent connections (Zhang zhiping/compilation)
Project Link:Vitess Project