cockroachdb/cockroach
Glossary
Domain vocabulary used throughout the CockroachDB source tree. Most terms are explained in more depth on the linked subsystem pages.
| Term | Meaning |
|---|---|
| AOST | "AS OF SYSTEM TIME" — clause that pins a SQL query to a historical timestamp and lets it read from any replica. |
| Below-Raft | The state-machine application path inside Replica: log entries are decoded, applied to MVCC via a Pebble batch, and used to update in-memory state. See pkg/kv/kvserver/replica_app_batch.go. |
| BatchRequest | A roachpb.BatchRequest is the wire-level KV request — a list of one or more Requests targeting a single transaction and returning a BatchResponse. |
| CCL | CockroachDB Community License — code under pkg/ccl/. Now superseded by the CSL but the directory name stays. |
| Changefeed (CDC) | A long-running job that streams row-level changes out of CockroachDB. Code: pkg/ccl/changefeedccl/. |
| Closed timestamp | A timestamp below which no new writes can ever appear on a range; powers follower reads. See pkg/kv/kvserver/closedts/. |
| Cluster setting | A runtime-tunable knob registered in pkg/settings/, persisted in system.settings, and watched via pkg/server/settingswatcher/. |
| Cluster version | A monotonic integer key (pkg/clusterversion/) that gates backwards-incompatible behavior. Upgrades run migrations through pkg/upgrade/. |
| DistSender | The client-side component that splits a BatchRequest across the ranges it touches and dispatches RPCs in parallel. pkg/kv/kvclient/kvcoord/dist_sender.go. |
| DistSQL | The CockroachDB DSL for distributed SQL execution: a query is compiled into a "flow" of processors that can run on multiple nodes. pkg/sql/distsql*, pkg/sql/flowinfra/. |
| Engine | The Pebble-backed storage layer. storage.Engine is the main interface. pkg/storage/engine.go. |
| Follower read | A read served by a non-leaseholder replica, allowed when the read timestamp is at or below the closed timestamp. |
| Gossip | A small, eventually-consistent gossip network used for cluster-wide ephemeral state — node addresses, system-config, store descriptors. pkg/gossip/. |
| HLC | Hybrid Logical Clock. CockroachDB's clock primitive: a wall-clock time plus a logical counter. pkg/util/hlc/. |
| Intent | A provisional MVCC write made by an in-flight transaction. Resolved (committed or aborted) when the transaction record is finalized. |
| Job | A registry-tracked, cluster-wide unit of asynchronous work — backups, restores, schema changes, changefeeds, TTL, … pkg/jobs/. |
| KV | The key-value abstraction below SQL. pkg/kv/ (client) and pkg/kv/kvserver/ (server). |
| Latch | A short-lived per-key/per-span lock that serializes concurrent KV operations on the same replica. pkg/kv/kvserver/spanlatch/. |
| Lease | The right of a single replica to serve writes (and most reads) for a range. Two flavors: epoch-based (driven by node liveness) and store-liveness-based. pkg/kv/kvserver/leases/. |
| Liveness | The cluster's notion of which nodes are alive, expressed as Raft-replicated heartbeats stored in a special range. pkg/kv/kvserver/liveness/. |
| Lock table | The in-memory data structure that tracks transactional and unreplicated locks. pkg/kv/kvserver/concurrency/. |
| MVCC | Multi-Version Concurrency Control — every value is stored with a timestamp; readers see the latest version below their read timestamp. pkg/storage/mvcc.go. |
| Pebble | CockroachDB's LSM-tree storage engine, maintained as a separate Go module (github.com/cockroachdb/pebble). |
| Range | A contiguous slice of the keyspace — the unit of replication and routing. Default target size 512 MiB. |
| Rangefeed | A change-data stream of a key range, the foundation for changefeeds, span-config reconciliation, and protected timestamps. pkg/kv/kvserver/rangefeed/. |
| Replica | A copy of a range living on a particular store. Replica (pkg/kv/kvserver/replica.go) is the central per-range type. |
| roachpb | The protobuf-defined types and BatchRequest API exposed by KV. pkg/roachpb/. |
| Snapshot | A consistent point-in-time copy of a range's data, used for replica creation and recovery. |
| Span config | A roachpb.SpanConfig — the resolved zone-config-style policy for a span (replication factor, constraints, GC TTL, …). pkg/spanconfig/. |
| Store | The unit of storage on a node — one Pebble database, many replicas. pkg/kv/kvserver/store.go. |
| Tenant | A SQL-only logical cluster sharing the host KV layer. pkg/multitenant/, pkg/ccl/multitenantccl/. |
| Transaction record | The KV entry that holds the global state (PENDING, COMMITTED, ABORTED) of a transaction. |
| TxnCoordSender | The client-side coordinator that owns a transaction's pipelining, refresh, heartbeat, and parallel commit. pkg/kv/kvclient/kvcoord/. |
| Zone config | The legacy, SQL-facing way of expressing replication and placement preferences; resolved into span configs. |
For acronyms used inside the SQL layer (e.g. plpgsql, vtable, opt, exec) see systems/sql.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.