Glossary

Definitions of terms used in Vitess documentation

This document defines terms used throughout Vitess documentation, command-line tools, and source code.

Backup #

A tablet state indicating the tablet is currently taking a backup of its data.

Cell #

A data center, availability zone, or other failure domain. Vitess uses cells to isolate failures and route queries to geographically appropriate tablets.

Consistent Lookup Vindex #

A lookup vindex that maintains consistency without requiring two-phase commit.

Drained #

A tablet state reserved for Vitess background operations. Drained tablets do not serve queries.

Functional Vindex #

A vindex that computes the keyspace ID using an algorithmic mapping such as a hash or identity function, without consulting external data.

Global Topology #

The portion of the topology service that stores cluster-wide metadata shared across all cells.

GTID Position #

Global Transaction Identifier position. Marks a specific point in the MySQL binary log for replication tracking.

Keyrange #

The range of keyspace IDs that a shard is responsible for. Expressed in hexadecimal notation like -80 (up to 0x80) or 80- (from 0x80 onward).

Keyspace #

A logical database that maps to one or more MySQL databases. If using sharding, a keyspace spans multiple databases; otherwise it maps to a single MySQL database. Applications interact with keyspaces as if they were single databases.

Keyspace ID #

A computed value that determines which shard contains a given row. The primary vindex maps a column value to a keyspace ID.

Local Topology #

The portion of the topology service that stores metadata specific to a single cell.

Lookup Vindex #

A vindex that uses a lookup table to map column values to keyspace IDs. Enables routing queries on columns other than the sharding key.

Materialize #

A VReplication workflow that creates and maintains materialized views or realtime rollups across shards.

MoveTables #

A VReplication workflow that migrates tables from one keyspace to another.

mysqlctl #

A command-line utility for managing the lifecycle of local MySQL instances used by Vitess.

Online DDL #

Non-blocking schema changes that allow tables to remain available during migrations. Vitess supports multiple strategies including its native approach, gh-ost, and pt-osc.

Primary #

The tablet type for the MySQL primary of a shard. Handles all write operations. Formerly called "master."

Primary Vindex #

The vindex that determines row-to-shard mapping. Equivalent to the sharding key.

Rdonly #

A tablet type for read-only replicas that are not eligible for promotion to primary. Used for batch jobs, analytics, and other background operations.

Reparenting #

The process of changing which tablet serves as the primary for a shard.

Replica #

A tablet type for MySQL replicas that are eligible for promotion to primary.

Replication Graph #

Metadata that tracks MySQL primary-replica relationships within the cluster.

Reshard #

A VReplication workflow that splits or merges shards to scale horizontally.

Restore #

A tablet state indicating the tablet is restoring data from a backup.

Routing Rules #

Configuration that overrides default query routing during migrations, allowing gradual traffic shifts between keyspaces.

Secondary Vindex #

A vindex that provides additional query routing optimization beyond the primary vindex.

Shard #

A horizontal partition of a keyspace. Each shard contains a subset of the keyspace's data based on keyrange. An unsharded keyspace has a single shard named 0 or -.

SwitchTraffic #

A VReplication operation that redirects query traffic from a source to a target during workflows like MoveTables or Reshard.

Tablet #

A combination of a vttablet process and its associated MySQL instance. Tablets are the basic unit of data storage and query serving in Vitess.

Tablet Alias #

A unique identifier for a tablet in the format cell-uid, such as zone1-100.

Topology Service #

A metadata store (backed by etcd or ZooKeeper) that holds cluster configuration, replication graph, and serving state. Often abbreviated as "topo."

Unsharded #

A keyspace with a single shard, containing all data without horizontal partitioning.

VDiff #

A VReplication tool that verifies data consistency between source and target during migrations.

VEXPLAIN #

A SQL command that shows how Vitess will execute a query across shards, including the generated MySQL queries.

Vindex #

Virtual index. A mechanism that maps column values to keyspace IDs for query routing. Types include primary, secondary, lookup, and functional.

VReplication #

Vitess's streaming replication mechanism for data movement operations like MoveTables, Reshard, and Materialize.

VSchema #

Virtual schema. Configuration that defines how a keyspace is sharded, including vindexes, table definitions, and routing rules.

VStream #

A change notification service on VTGate that streams row changes to clients.

VStreamer #

The component on VTTablet that streams MySQL binary log events for VReplication and VStream.

vtbackup #

A standalone utility for taking backups of MySQL data managed by Vitess.

vtcombo #

A single-process test environment that runs all Vitess components together. Useful for local development and testing.

VTAdmin #

A web-based administrative interface for managing and monitoring Vitess clusters.

vtctl #

The legacy command-line administration tool for Vitess. Deprecated in favor of vtctldclient.

vtctld #

The Vitess control daemon. A server process that executes cluster management commands issued by vtctldclient.

vtctldclient #

The current command-line client for Vitess cluster management. Communicates with vtctld to execute administrative operations.

VTEXPLAIN #

A command-line tool for offline query analysis that shows how Vitess would route and execute queries without connecting to a live cluster.

VTGate #

A lightweight, stateless proxy that routes queries to the appropriate tablets. Applications connect to VTGate rather than directly to MySQL.

VTOrc #

Vitess Orchestrator. Provides automated failover, recovery, and tablet management for Vitess clusters.

VTTablet #

The Vitess process that manages a MySQL instance, handling query serving, replication, and schema management. Together with MySQL, it forms a tablet.

vttestserver #

A lightweight Vitess server for local development and testing that simulates a Vitess cluster.