openskills.info
Vitess logoCourse Preview

Vitess

Vitess is a database clustering system that presents many MySQL instances as one logical database. It routes queries, manages shards and replicas, and supports operational changes as a MySQL deployment grows.

itCloud native tools and technologies

Don't Panic — Vitess

Vitess is the layer you put around MySQL when one database server has stopped being a database and started being a small town with traffic management problems. MySQL still stores rows, indexes them, and runs local SQL. Vitess supplies the map, the junctions, and the people whose job is to move the road while cars are still using it.

The central character is VTGate, a MySQL-protocol entry point. Applications connect there instead of choosing a MySQL server themselves. VTGate reads the VSchema, routing metadata separate from table definitions, and uses a vindex to turn a query value into the shard that owns the row. The surprise is that sharding is not the same as making copies: shards hold different rows; replicas hold copies of one shard's rows. They have quite different ways of making an afternoon complicated.

A keyspace is the logical database the application sees. It can map to one MySQL database when unsharded, or several when sharded. A targeted query stays with one shard. A scatter query visits several shards and asks VTGate to gather the answers, which is useful on occasion but becomes increasingly sociable and expensive as shard count grows. Keeping related writes on one shard also avoids much of the distributed coordination needed for multi-shard transactions.

The other durable idea is that data movement is a workflow, not a teleportation spell. VReplication copies rows and streams later changes while Reshard or MoveTables prepares a new arrangement. Reads and writes switch in stages after the destination catches up and is checked. Online DDL uses the same machinery, so schema changes across shards have state, observation points, and consequences rather than a magic done button.

Read the introduction for the full component map and the reason each layer exists. Use the slides when the paths between VTGate, VTTablet, MySQL, VSchema, and topology need to stay straight in your head. The cheatsheet is the compact reference for tablet types, transactions, and workflows. Then use the practice tab to start a local cluster and see the difference between a keyspace the client sees and the shards Vitess is quietly coordinating underneath it.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources