Skip to content

Commit 8881512

Browse files
Add glossary to documentation
Add a glossary page to the Reference section with definitions of Vitess-specific terms, components, and concepts. Addresses #1982. The glossary covers: - Core components (VTGate, VTTablet, vtctld, VTOrc, etc.) - Sharding concepts (keyspace, shard, vindex, keyspace ID) - VReplication workflows (MoveTables, Reshard, Materialize) - Tablet types and states - Topology and infrastructure terms Terms are organized alphabetically with cross-references where appropriate.
1 parent 2b2f7e6 commit 8881512

3 files changed

Lines changed: 621 additions & 0 deletions

File tree

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
---
2+
title: Glossary
3+
description: Definitions of terms used in Vitess documentation
4+
weight: 1
5+
---
6+
7+
This document defines terms used throughout Vitess documentation, command-line tools, and source code.
8+
9+
## Backup
10+
11+
A tablet state indicating the tablet is currently taking a backup of its data.
12+
13+
## Cell
14+
15+
A data center, availability zone, or other failure domain. Vitess uses cells to isolate failures and route queries to geographically appropriate tablets.
16+
17+
## Consistent Lookup Vindex
18+
19+
A [lookup vindex](#lookup-vindex) that maintains consistency without requiring two-phase commit.
20+
21+
## Drained
22+
23+
A tablet state reserved for Vitess background operations. Drained tablets do not serve queries.
24+
25+
## Functional Vindex
26+
27+
A [vindex](#vindex) that computes the [keyspace ID](#keyspace-id) using an algorithmic mapping such as a hash or identity function, without consulting external data.
28+
29+
## Global Topology
30+
31+
The portion of the [topology service](#topology-service) that stores cluster-wide metadata shared across all [cells](#cell).
32+
33+
## GTID Position
34+
35+
Global Transaction Identifier position. Marks a specific point in the MySQL binary log for replication tracking.
36+
37+
## Keyrange
38+
39+
The range of [keyspace IDs](#keyspace-id) that a [shard](#shard) is responsible for. Expressed in hexadecimal notation like `-80` (up to 0x80) or `80-` (from 0x80 onward).
40+
41+
## Keyspace
42+
43+
A logical database that maps to one or more MySQL databases. If using [sharding](#shard), a keyspace spans multiple databases; otherwise it maps to a single MySQL database. Applications interact with keyspaces as if they were single databases.
44+
45+
## Keyspace ID
46+
47+
A computed value that determines which [shard](#shard) contains a given row. The [primary vindex](#primary-vindex) maps a column value to a keyspace ID.
48+
49+
## Local Topology
50+
51+
The portion of the [topology service](#topology-service) that stores metadata specific to a single [cell](#cell).
52+
53+
## Lookup Vindex
54+
55+
A [vindex](#vindex) that uses a lookup table to map column values to [keyspace IDs](#keyspace-id). Enables routing queries on columns other than the sharding key.
56+
57+
## Materialize
58+
59+
A VReplication workflow that creates and maintains materialized views or realtime rollups across [shards](#shard).
60+
61+
## MoveTables
62+
63+
A VReplication workflow that migrates tables from one [keyspace](#keyspace) to another.
64+
65+
## mysqlctl
66+
67+
A command-line utility for managing the lifecycle of local MySQL instances used by Vitess.
68+
69+
## Online DDL
70+
71+
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.
72+
73+
## Primary
74+
75+
The tablet type for the MySQL primary of a [shard](#shard). Handles all write operations. Formerly called "master."
76+
77+
## Primary Vindex
78+
79+
The [vindex](#vindex) that determines row-to-shard mapping. Equivalent to the sharding key.
80+
81+
## Rdonly
82+
83+
A tablet type for read-only replicas that are not eligible for promotion to primary. Used for batch jobs, analytics, and other background operations.
84+
85+
## Reparenting
86+
87+
The process of changing which [tablet](#tablet) serves as the [primary](#primary) for a [shard](#shard).
88+
89+
## Replica
90+
91+
A tablet type for MySQL replicas that are eligible for promotion to [primary](#primary).
92+
93+
## Replication Graph
94+
95+
Metadata that tracks MySQL primary-replica relationships within the cluster.
96+
97+
## Reshard
98+
99+
A VReplication workflow that splits or merges [shards](#shard) to scale horizontally.
100+
101+
## Restore
102+
103+
A tablet state indicating the tablet is restoring data from a backup.
104+
105+
## Routing Rules
106+
107+
Configuration that overrides default query routing during migrations, allowing gradual traffic shifts between [keyspaces](#keyspace).
108+
109+
## Secondary Vindex
110+
111+
A [vindex](#vindex) that provides additional query routing optimization beyond the [primary vindex](#primary-vindex).
112+
113+
## Shard
114+
115+
A horizontal partition of a [keyspace](#keyspace). Each shard contains a subset of the keyspace's data based on [keyrange](#keyrange). An unsharded keyspace has a single shard named `0` or `-`.
116+
117+
## SwitchTraffic
118+
119+
A VReplication operation that redirects query traffic from a source to a target during workflows like [MoveTables](#movetables) or [Reshard](#reshard).
120+
121+
## Tablet
122+
123+
A combination of a `vttablet` process and its associated MySQL instance. Tablets are the basic unit of data storage and query serving in Vitess.
124+
125+
## Tablet Alias
126+
127+
A unique identifier for a [tablet](#tablet) in the format `cell-uid`, such as `zone1-100`.
128+
129+
## Topology Service
130+
131+
A metadata store (backed by etcd or ZooKeeper) that holds cluster configuration, [replication graph](#replication-graph), and serving state. Often abbreviated as "topo."
132+
133+
## Unsharded
134+
135+
A [keyspace](#keyspace) with a single [shard](#shard), containing all data without horizontal partitioning.
136+
137+
## VDiff
138+
139+
A VReplication tool that verifies data consistency between source and target during migrations.
140+
141+
## VEXPLAIN
142+
143+
A SQL command that shows how Vitess will execute a query across [shards](#shard), including the generated MySQL queries.
144+
145+
## Vindex
146+
147+
Virtual index. A mechanism that maps column values to [keyspace IDs](#keyspace-id) for query routing. Types include [primary](#primary-vindex), [secondary](#secondary-vindex), [lookup](#lookup-vindex), and [functional](#functional-vindex).
148+
149+
## VReplication
150+
151+
Vitess's streaming replication mechanism for data movement operations like [MoveTables](#movetables), [Reshard](#reshard), and [Materialize](#materialize).
152+
153+
## VSchema
154+
155+
Virtual schema. Configuration that defines how a [keyspace](#keyspace) is sharded, including [vindexes](#vindex), table definitions, and routing rules.
156+
157+
## VStream
158+
159+
A change notification service on [VTGate](#vtgate) that streams row changes to clients.
160+
161+
## VStreamer
162+
163+
The component on [VTTablet](#vttablet) that streams MySQL binary log events for [VReplication](#vreplication) and [VStream](#vstream).
164+
165+
## vtbackup
166+
167+
A standalone utility for taking backups of MySQL data managed by Vitess.
168+
169+
## vtcombo
170+
171+
A single-process test environment that runs all Vitess components together. Useful for local development and testing.
172+
173+
## VTAdmin
174+
175+
A web-based administrative interface for managing and monitoring Vitess clusters.
176+
177+
## vtctl
178+
179+
The legacy command-line administration tool for Vitess. Deprecated in favor of [vtctldclient](#vtctldclient).
180+
181+
## vtctld
182+
183+
The Vitess control daemon. A server process that executes cluster management commands issued by [vtctldclient](#vtctldclient).
184+
185+
## vtctldclient
186+
187+
The current command-line client for Vitess cluster management. Communicates with [vtctld](#vtctld) to execute administrative operations.
188+
189+
## VTEXPLAIN
190+
191+
A command-line tool for offline query analysis that shows how Vitess would route and execute queries without connecting to a live cluster.
192+
193+
## VTGate
194+
195+
A lightweight, stateless proxy that routes queries to the appropriate [tablets](#tablet). Applications connect to VTGate rather than directly to MySQL.
196+
197+
## VTOrc
198+
199+
Vitess Orchestrator. Provides automated failover, recovery, and tablet management for Vitess clusters.
200+
201+
## VTTablet
202+
203+
The Vitess process that manages a MySQL instance, handling query serving, replication, and schema management. Together with MySQL, it forms a [tablet](#tablet).
204+
205+
## vttestserver
206+
207+
A lightweight Vitess server for local development and testing that simulates a Vitess cluster.

0 commit comments

Comments
 (0)