Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 37 additions & 26 deletions content/en/docs/20.0/overview/whatisvitess.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,53 @@ weight: 1
featured: true
---

Vitess is a database solution for deploying, scaling and managing large clusters of open-source database instances. It currently supports MySQL and Percona Server for MySQL. It's architected to run as effectively in a public or private cloud architecture as it does on dedicated hardware. It combines and extends many important SQL features with the scalability of a NoSQL database. Vitess can help you with the following problems:
Vitess is an **open-source, cloud-native, horizontally scalable, distributed database system built around MySQL**. It presents a single logical MySQL interface to applications through a stateless proxy (**VTGate**), while managing shards across multiple database instances called **VTTablets**. Vitess handles **data sharding**, **query routing**, **connection pooling**, and **automated failover**, so applications can keep using the familiar MySQL protocol without embedding sharding logic.
Copy link
Member

@mattlord mattlord Oct 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where did this text come from? The only key part that I don't like is this:

while managing shards across multiple database instances called **VTTablets**

VTTablets manage a MySQL database instance but they are not "database instances".

Copy link
Member

@mattlord mattlord Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to close this in the coming weeks if I don't hear back from you @marcschaeferger .

We've had to deal with a lot of "drive-by" PRs from AI and if I don't hear back then I will assume this was another one. I apologize if that assessment is a mistake, but I have questions about this PR and would like to make some changes and if I don't hear back from you after another week or two then I'll close it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattlord thanks and sorry for the late reply.

You're right about the VTTablets sentence, that sentence was my own wording (partially) (probably in german) and not copied from elsewhere. I wrote the documentation in "my englisch + german mix" and then gave it to an AI for translation and mostly wording/grammar improvments as i'm not a native english speaker and i wanted to balance that with AI. So totally my fault, for not checking the AI output thoroughly enough, will not happen again, as this + a few other PR's on this and other projects were like quick-shots and my first ones beside heavy company Git (DevOps) work (and first on Github for me).

This is in my option and wasn’t meant as a “drive-by” AI PR. I do this in my free time, as i want to start contributing to CNCF projects and in the last days I was busy with other projects but mostly private stuff and my fulltime job itself. I saw your first comment shortly after you posted it, but then didn’t get back to it and simply forgot.

I do state the use of AI in my work if it's used, like i did with the Summary by Copilot. I'll update the PR description with that information and that i used additonaly AI for translation and grammarc/wording improvments.

I’m happy to take your suggestion, if you have something else.


1. Scaling a SQL database by allowing you to shard it, while keeping application changes to a minimum.
2. Migrating from bare-metal or VMs to a private or public cloud.
3. Deploying and managing a large number of SQL database instances.
Vitess achieves scale through **generalized sharding** and supports **online resharding** with an atomic cutover that typically takes only seconds. It runs efficiently on **Kubernetes** (via the Vitess Operator) and also on VMs or bare metal. Vitess currently supports **MySQL** and **Percona Server for MySQL**.

Vitess includes compliant JDBC and Go database drivers using a native query protocol. Additionally, it implements the MySQL server protocol which is compatible with virtually any other language.
### How it works (at a glance)

Vitess served all YouTube database traffic for over five years. Many enterprises have now adopted Vitess for their production needs.
- **VTGate** – stateless proxy that speaks the MySQL protocol; applications connect here.
- **VSchema** – logical schema that describes keyspaces/tables and how data is partitioned; VTGate uses it to route queries.
- **VTTablet** – process that manages a single MySQL instance and exposes it to Vitess.
- **Topology Service** – consistent store (e.g., etcd / ZooKeeper) for cluster metadata and coordination.
- **Operational tooling** – e.g., **VTOrc** for automated failure detection and reparenting; built-in workflows for **resharding**. See [architecture](./architecture) for further details.

### What Vitess helps with

1. **Scaling** a SQL database via sharding while keeping application changes to a minimum.
2. **Migrating** from bare metal/VMs to private or public cloud.
3. **Operating** and managing large fleets of MySQL instances.

Vitess includes compliant JDBC and Go database drivers and implements the MySQL server protocol, making it compatible with virtually any language and driver ecosystem.

Vitess powered YouTube’s database traffic for years and is used by multiple enterprises in production today see [history](./history).

## Features

* Performance
- Connection pooling - Multiplex front-end application queries onto a pool of MySQL connections to optimize performance.
- Query de-duping – Reuse results of an in-flight query for any identical requests received while the in-flight query was still executing.
- Transaction manager – Limit number of concurrent transactions and manage timeouts to optimize overall throughput.
- Performance
- Connection pooling - Multiplex front-end application queries onto a pool of MySQL connections to optimize performance.
- Query de-duping – Reuse results of an in-flight query for any identical requests received while the in-flight query was still executing.
- Transaction manager – Limit number of concurrent transactions and manage timeouts to optimize overall throughput.

* Protection
- Query rewriting and sanitization – Add limits and avoid non-deterministic updates.
- Query blocking – Customize rules to prevent potentially problematic queries from hitting your database.
- Query killing – Terminate queries that take too long to return data.
- Table ACLs – Specify access control lists (ACLs) for tables based on the connected user.
- Protection
- Query rewriting and sanitization – Add limits and avoid non-deterministic updates.
- Query blocking – Customize rules to prevent potentially problematic queries from hitting your database.
- Query killing – Terminate queries that take too long to return data.
- Table ACLs – Specify access control lists (ACLs) for tables based on the connected user.

* Monitoring
- Performance analysis tools let you monitor, diagnose, and analyze your database performance.
- Monitoring
- Performance analysis tools let you monitor, diagnose, and analyze your database performance.

* Topology Management Tools
- Cluster management tools (handles planned and unplanned failovers)
- Web-based management GUI
- Designed to work in multiple data centers / regions
- Topology Management Tools
- Cluster management tools (handles planned and unplanned failovers)
- Web-based management GUI
- Designed to work in multiple data centers / regions

* Sharding
- Virtually seamless dynamic re-sharding
- Vertical and Horizontal sharding support
- Multiple sharding schemes, with the ability to plug-in custom ones
- Sharding
- Virtually seamless dynamic re-sharding
- Vertical and Horizontal sharding support
- Multiple sharding schemes, with the ability to plug-in custom ones

## Comparisons to other storage options

Expand All @@ -56,7 +68,6 @@ Vitess improves a vanilla MySQL implementation in several ways:
| A MySQL cluster using replication for availability has a primary database and a few replicas. If the primary fails, a replica should become the new primary. This requires you to manage the database lifecycle and communicate the current system state to your application. | Vitess helps to manage the lifecycle of your database servers. It supports and automatically handles various scenarios, including primary failure detection and recovery. It also has support for data backups and restores. |
| A MySQL cluster can have custom database configurations for different workloads, like a primary database for writes, fast read-only replicas for web clients, slower read-only replicas for batch jobs, and so forth. If the database has horizontal sharding, the setup is repeated for each shard, and the app needs baked-in logic to know how to find the right database. | Vitess uses a topology backed by a consistent data store, like etcd or ZooKeeper. This means the cluster view is always up-to-date and consistent for different clients. Vitess also provides a proxy that routes queries efficiently to the most appropriate MySQL instance. |


### Vitess vs. NoSQL

If you're considering a NoSQL solution primarily because of concerns about the scalability of MySQL, Vitess might be a more appropriate choice for your application. While NoSQL provides great support for unstructured data, Vitess still offers several benefits not available in NoSQL datastores:
Expand Down
63 changes: 37 additions & 26 deletions content/en/docs/21.0/overview/whatisvitess.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,53 @@ weight: 1
featured: true
---

Vitess is a database solution for deploying, scaling and managing large clusters of open-source database instances. It currently supports MySQL and Percona Server for MySQL. It's architected to run as effectively in a public or private cloud architecture as it does on dedicated hardware. It combines and extends many important SQL features with the scalability of a NoSQL database. Vitess can help you with the following problems:
Vitess is an **open-source, cloud-native, horizontally scalable, distributed database system built around MySQL**. It presents a single logical MySQL interface to applications through a stateless proxy (**VTGate**), while managing shards across multiple database instances called **VTTablets**. Vitess handles **data sharding**, **query routing**, **connection pooling**, and **automated failover**, so applications can keep using the familiar MySQL protocol without embedding sharding logic.

1. Scaling a SQL database by allowing you to shard it, while keeping application changes to a minimum.
2. Migrating from bare-metal or VMs to a private or public cloud.
3. Deploying and managing a large number of SQL database instances.
Vitess achieves scale through **generalized sharding** and supports **online resharding** with an atomic cutover that typically takes only seconds. It runs efficiently on **Kubernetes** (via the Vitess Operator) and also on VMs or bare metal. Vitess currently supports **MySQL** and **Percona Server for MySQL**.

Vitess includes compliant JDBC and Go database drivers using a native query protocol. Additionally, it implements the MySQL server protocol which is compatible with virtually any other language.
### How it works (at a glance)

Vitess served all YouTube database traffic for over five years. Many enterprises have now adopted Vitess for their production needs.
- **VTGate** – stateless proxy that speaks the MySQL protocol; applications connect here.
- **VSchema** – logical schema that describes keyspaces/tables and how data is partitioned; VTGate uses it to route queries.
- **VTTablet** – process that manages a single MySQL instance and exposes it to Vitess.
- **Topology Service** – consistent store (e.g., etcd / ZooKeeper) for cluster metadata and coordination.
- **Operational tooling** – e.g., **VTOrc** for automated failure detection and reparenting; built-in workflows for **resharding**. See [architecture](./architecture) for further details.

### What Vitess helps with

1. **Scaling** a SQL database via sharding while keeping application changes to a minimum.
2. **Migrating** from bare metal/VMs to private or public cloud.
3. **Operating** and managing large fleets of MySQL instances.

Vitess includes compliant JDBC and Go database drivers and implements the MySQL server protocol, making it compatible with virtually any language and driver ecosystem.

Vitess powered YouTube’s database traffic for years and is used by multiple enterprises in production today see [history](./history).

## Features

* Performance
- Connection pooling - Multiplex front-end application queries onto a pool of MySQL connections to optimize performance.
- Query de-duping – Reuse results of an in-flight query for any identical requests received while the in-flight query was still executing.
- Transaction manager – Limit number of concurrent transactions and manage timeouts to optimize overall throughput.
- Performance
- Connection pooling - Multiplex front-end application queries onto a pool of MySQL connections to optimize performance.
- Query de-duping – Reuse results of an in-flight query for any identical requests received while the in-flight query was still executing.
- Transaction manager – Limit number of concurrent transactions and manage timeouts to optimize overall throughput.

* Protection
- Query rewriting and sanitization – Add limits and avoid non-deterministic updates.
- Query blocking – Customize rules to prevent potentially problematic queries from hitting your database.
- Query killing – Terminate queries that take too long to return data.
- Table ACLs – Specify access control lists (ACLs) for tables based on the connected user.
- Protection
- Query rewriting and sanitization – Add limits and avoid non-deterministic updates.
- Query blocking – Customize rules to prevent potentially problematic queries from hitting your database.
- Query killing – Terminate queries that take too long to return data.
- Table ACLs – Specify access control lists (ACLs) for tables based on the connected user.

* Monitoring
- Performance analysis tools let you monitor, diagnose, and analyze your database performance.
- Monitoring
- Performance analysis tools let you monitor, diagnose, and analyze your database performance.

* Topology Management Tools
- Cluster management tools (handles planned and unplanned failovers)
- Web-based management GUI
- Designed to work in multiple data centers / regions
- Topology Management Tools
- Cluster management tools (handles planned and unplanned failovers)
- Web-based management GUI
- Designed to work in multiple data centers / regions

* Sharding
- Virtually seamless dynamic re-sharding
- Vertical and Horizontal sharding support
- Multiple sharding schemes, with the ability to plug-in custom ones
- Sharding
- Virtually seamless dynamic re-sharding
- Vertical and Horizontal sharding support
- Multiple sharding schemes, with the ability to plug-in custom ones

## Comparisons to other storage options

Expand All @@ -56,7 +68,6 @@ Vitess improves a vanilla MySQL implementation in several ways:
| A MySQL cluster using replication for availability has a primary database and a few replicas. If the primary fails, a replica should become the new primary. This requires you to manage the database lifecycle and communicate the current system state to your application. | Vitess helps to manage the lifecycle of your database servers. It supports and automatically handles various scenarios, including primary failure detection and recovery. It also has support for data backups and restores. |
| A MySQL cluster can have custom database configurations for different workloads, like a primary database for writes, fast read-only replicas for web clients, slower read-only replicas for batch jobs, and so forth. If the database has horizontal sharding, the setup is repeated for each shard, and the app needs baked-in logic to know how to find the right database. | Vitess uses a topology backed by a consistent data store, like etcd or ZooKeeper. This means the cluster view is always up-to-date and consistent for different clients. Vitess also provides a proxy that routes queries efficiently to the most appropriate MySQL instance. |


### Vitess vs. NoSQL

If you're considering a NoSQL solution primarily because of concerns about the scalability of MySQL, Vitess might be a more appropriate choice for your application. While NoSQL provides great support for unstructured data, Vitess still offers several benefits not available in NoSQL datastores:
Expand Down
Loading