YouTube open-source project Vitess: Build a high-performance MySQL front-end

Source: Internet
Author: User
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

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.