-
Notifications
You must be signed in to change notification settings - Fork 233
docs: Add glossary to Vitess documentation #2109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
InlinePizza
wants to merge
6
commits into
vitessio:prod
Choose a base branch
from
Promptless:promptless/add-glossary
base: prod
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
b2122cf
docs: Add glossary to Vitess documentation
InlinePizza 8f6342e
Delete glossary.md
susan-kraftY 4112d63
Move glossary to unversioned location after FAQ
promptless[bot] 41324e7
docs: Address review feedback on glossary
promptless[bot] c473808
docs: Add backup tablet type entry to glossary
promptless[bot] 475a9ff
docs: Add separate tablet type entries for dual-meaning terms
promptless[bot] File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,217 @@ | ||
| --- | ||
| title: Glossary | ||
| description: Definitions of terms used in Vitess documentation | ||
| weight: 3000 | ||
| cascade: | ||
| skipversions: true | ||
| --- | ||
|
|
||
| This document defines terms used throughout Vitess documentation, command-line tools, and source code. | ||
|
|
||
| ## Backup | ||
|
|
||
| A consistent snapshot of data stored for disaster recovery and provisioning new tablets. Vitess supports full backups (entire dataset) and incremental backups (binary log changes). See also the [backup tablet type](#backup-tablet-type). | ||
|
|
||
| ## Backup (tablet type) {#backup-tablet-type} | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should make similar changes for the other tablet types (replica,rdonly,primary,drained, etc) as the terms are used for other things besides tablet types. |
||
|
|
||
| A [tablet](#tablet) state indicating the tablet has stopped replication at a consistent snapshot to upload a new [backup](#backup). After completion, it resumes replication and returns to its previous type. | ||
|
|
||
| ## 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](#lookup-vindex) that maintains consistency without requiring two-phase commit. | ||
|
|
||
| ## Drained (tablet type) {#drained-tablet-type} | ||
|
|
||
| A [tablet](#tablet) state reserved for Vitess background operations such as resharding. Drained tablets do not serve queries. | ||
|
|
||
| ## Functional Vindex | ||
|
|
||
| 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. | ||
|
|
||
| ## Global Topology | ||
|
|
||
| The portion of the [topology service](#topology-service) that stores cluster-wide metadata shared across all [cells](#cell). | ||
|
|
||
| ## GTID Position | ||
|
|
||
| Global Transaction Identifier position. Marks a specific point in the MySQL binary log for replication tracking. | ||
|
|
||
| ## Keyrange | ||
|
|
||
| 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). | ||
|
|
||
| ## Keyspace | ||
|
|
||
| A logical database that maps to one or more MySQL replica sets. If using [sharding](#shard), a keyspace spans multiple MySQL replica sets (one replica set per shard); otherwise it maps to a single MySQL database. Applications interact with keyspaces as if they were single MySQL servers. | ||
|
|
||
| ## Keyspace ID | ||
|
|
||
| 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. | ||
|
|
||
| ## Local Topology | ||
|
|
||
| The portion of the [topology service](#topology-service) that stores metadata specific to a single [cell](#cell). | ||
|
|
||
| ## Lookup Vindex | ||
|
|
||
| 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. | ||
|
|
||
| ## Materialize | ||
|
|
||
| A VReplication workflow that creates and maintains materialized views or realtime rollups across [shards](#shard). | ||
|
|
||
| ## MoveTables | ||
|
|
||
| A VReplication workflow that migrates tables from one [keyspace](#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. | ||
|
|
||
| ## Primary | ||
|
|
||
| In MySQL replication, the database server that receives write operations and streams changes to replicas. In Vitess, each [shard](#shard) has one primary. See also [Primary (tablet type)](#primary-tablet-type). | ||
|
|
||
| ## Primary (tablet type) {#primary-tablet-type} | ||
|
|
||
| A [tablet](#tablet) currently serving as the MySQL primary for its [shard](#shard). Handles all write operations. Formerly called "master." A [replica](#replica-tablet-type) tablet that has been promoted to primary through [reparenting](#reparenting). | ||
|
|
||
| ## Primary Vindex | ||
|
|
||
| The [vindex](#vindex) that determines row-to-shard mapping. Equivalent to the sharding key. | ||
|
|
||
| ## Rdonly (tablet type) {#rdonly-tablet-type} | ||
|
|
||
| A [tablet](#tablet) type for read-only MySQL replicas that are not eligible for promotion to [primary](#primary-tablet-type). Used for batch jobs, analytics, backups, and other background operations. | ||
|
|
||
| ## Reparenting | ||
|
|
||
| The process of changing which [tablet](#tablet) serves as the [primary](#primary) for a [shard](#shard). | ||
|
|
||
| ## Replica | ||
|
|
||
| In MySQL replication, a database server that receives and applies changes from a primary. See also [Replica (tablet type)](#replica-tablet-type). | ||
|
|
||
| ## Replica (tablet type) {#replica-tablet-type} | ||
|
|
||
| A [tablet](#tablet) type for MySQL replicas that are eligible for promotion to [primary](#primary-tablet-type). Conventionally used for serving live, user-facing read requests. | ||
|
|
||
| ## Replication Graph | ||
|
|
||
| Metadata that tracks MySQL primary-replica relationships within the cluster. | ||
|
|
||
| ## Reshard | ||
|
|
||
| A VReplication workflow that splits or merges [shards](#shard) to scale horizontally. | ||
|
|
||
| ## Restore (tablet type) {#restore-tablet-type} | ||
|
|
||
| A [tablet](#tablet) state indicating the tablet is restoring data from a [backup](#backup). After completion, it begins replicating and becomes either [replica](#replica-tablet-type) or [rdonly](#rdonly-tablet-type). | ||
|
|
||
| ## Routing Rules | ||
|
|
||
| Configuration that overrides default query routing during migrations, allowing gradual traffic shifts between [keyspaces](#keyspace). | ||
|
|
||
| ## Secondary Vindex | ||
|
|
||
| A [vindex](#vindex) that provides additional query routing optimization beyond the [primary vindex](#primary-vindex). | ||
|
|
||
| ## Shard | ||
|
|
||
| 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 `-`. | ||
|
|
||
| ## SwitchTraffic | ||
|
|
||
| A VReplication operation that redirects query traffic from a source to a target during workflows like [MoveTables](#movetables) or [Reshard](#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](#tablet) in the format `cell-uid`, such as `zone1-100`. | ||
|
|
||
| ## Topology Service | ||
|
|
||
| A metadata store (backed by etcd, Consul, or ZooKeeper) that holds cluster configuration, [replication graph](#replication-graph), and serving state. Often abbreviated as "topo." | ||
|
|
||
| ## Unsharded | ||
|
|
||
| A [keyspace](#keyspace) with a single [shard](#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](#shard), including the generated MySQL queries. | ||
|
|
||
| ## Vindex | ||
|
|
||
| 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). | ||
|
|
||
| ## VReplication | ||
|
|
||
| Vitess's streaming replication mechanism for data movement operations like [MoveTables](#movetables), [Reshard](#reshard), and [Materialize](#materialize). | ||
|
|
||
| ## VSchema | ||
|
|
||
| Virtual schema. Configuration that defines how a [keyspace](#keyspace) is sharded, including [vindexes](#vindex), table definitions, and routing rules. | ||
|
|
||
| ## VStream | ||
|
|
||
| A change notification service on [VTGate](#vtgate) that streams row changes to clients. | ||
|
|
||
| ## VStreamer | ||
|
|
||
| The component on [VTTablet](#vttablet) that streams MySQL binary log events for [VReplication](#vreplication) and [VStream](#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. | ||
|
|
||
| ## vtctld | ||
|
|
||
| The Vitess control daemon. A server process that executes cluster management commands issued by [vtctldclient](#vtctldclient). | ||
|
|
||
| ## vtctldclient | ||
|
|
||
| The current command-line client for Vitess cluster management. Communicates with [vtctld](#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](#tablet). 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](#tablet). | ||
|
|
||
| ## vttestserver | ||
|
|
||
| A lightweight Vitess server for local development and testing that simulates a Vitess cluster. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Created glossary page to address issue #1982, which recommends adding a glossary to help readers understand Vitess terminology. Placed in Reference section following KEDA's example referenced in the issue.
Source: #1982