Glossary
A unified reference of AngaraBase terms. Terms are listed in alphabetical order.
A
AngaraAdapt — adaptive query processing subsystem (v5). Automatic plan correction based on runtime feedback: if the actual cardinality differs significantly from the estimate, the plan is recalculated on the fly.
AngaraFlow — streaming query execution subsystem. Implements the Volcano model (iterator model) with scan, filter, join, sort, and aggregate operators. Each operator requests the next batch of data from its child operator.
AngaraGC — MVCC garbage collection subsystem. Uses an epoch-based watermark to determine the safe boundary for cleanup. Deletes row versions invisible to any active transaction.
AngaraIO — asynchronous I/O subsystem. Uses io_uring for storage and WAL operations, minimizing system calls and context switches.
AngaraMemory — in-memory storage engine (v5). Supports three operation modes: volatile (data only in memory), logged (with WAL writing), and snapshotted (with periodic disk snapshots).
AngaraNet — io_uring-based network I/O subsystem (v5). Provides asynchronous processing of network operations without blocking threads.
AngaraParallel — parallel query execution subsystem (v5). Morsel-driven model with a work-stealing scheduler for multi-core processor utilization. NUMA-aware distribution (per-node morsel queues, thread pinning) is deferred to v0.7 (RFC-2026-376 §13 H2 — “NUMA-aware shard selection”); until then, execution is NUMA-agnostic, and EXPLAIN reports numa_affinity=disabled.
AngaraPlan — cost-based query optimizer. Uses robust planning (resilience to estimation errors) and LEO feedback (learning from actual execution metrics).
AngaraPool — connection and thread management subsystem. Responsible for connection pooling, thread scheduling, and resource allocation between sessions.
AngaraStat — statistics collection subsystem for the optimizer. Includes HyperLogLog for NDV, equi-height histograms, MCV (Most Common Values), and reservoir sampling for building samples.
AngaraTree — index engine. Supports B+tree (primary index type), BRIN (Block Range Index for append-only data), and Hash (for point equality lookups).
AngaraVector — vectorized execution subsystem (v5). Processes data in batches using SIMD instructions: AVX2, AVX-512 on x86-64, and NEON on ARM.
B
BRIN (Block Range Index) — a lightweight index storing min/max values for page ranges. Effective for append-only and time-series data where values are naturally ordered.
Break-glass — a controlled privilege escalation mechanism. Allows authorized users to temporarily gain elevated privileges with mandatory reason specification, limited TTL, and full audit of all actions.
C
CBO (Cost-Based Optimizer) — a query optimizer that selects an execution plan based on statistics (cardinality, NDV, histograms) and cost models (CPU, I/O, memory).
E
Epoch — a logical unit of time in the MVCC subsystem. Every successful commit increments the global epoch. Epoch is used to determine the visibility of row versions and calculate the GC watermark.
F
Fail-closed — a security principle where the system rejects an operation in case of uncertainty, rather than allowing it. For example, if an RLS policy cannot be evaluated, access is denied.
G
GC watermark — the minimum snapshot among all active transactions. Determines the safe boundary for garbage collection: row versions with deleted_commit < watermark can be deleted.
H
HLL (HyperLogLog) — a probabilistic data structure for approximate counting of unique values (NDV). Uses a fixed amount of memory (~1 KB) regardless of the number of values. Relative error is ~2%.
L
LEO (Learning Optimizer) — an AngaraPlan component that adjusts cost models based on actual query execution metrics. After each execution, it compares the estimated and actual cardinality and updates correction factors.
LSN (Log Sequence Number) — a monotonically increasing identifier for a WAL record. Used to determine the order of records, recovery position, and replication.
M
MCV (Most Common Values) — a list of the most frequently occurring values in a column along with their frequencies. Used by the optimizer for accurate cardinality estimation when filtering by specific values.
MVCC (Multi-Version Concurrency Control) — a mechanism for concurrent data access via row versioning. Allows readers and writers to work simultaneously without mutual blocking. Each modification creates a new row version instead of modifying the existing one.
N
NDV (Number of Distinct Values) — the number of unique values in a column. A key metric for the optimizer: affects the cardinality estimation of joins and group by.
P
pgwire — PostgreSQL wire protocol. The network protocol used by AngaraBase to communicate with clients. Ensures compatibility with PostgreSQL clients (psql, libpq drivers, JDBC).
PITR (Point-In-Time Recovery) — a mechanism for restoring the database to an arbitrary point in time. Uses a base backup + replay of WAL records up to a specified LSN or timestamp.
R
RBAC (Role-Based Access Control) — a role-based access control model. Privileges are assigned to roles, and roles to users. Supports nested roles and privilege inheritance.
RLS (Row-Level Security) — a mechanism for row-level visibility policies on a table. Allows restricting access to specific rows based on the attributes of the current user (role, department, tenant_id).
S
SQLSTATE — a 5-character error code according to the SQL standard (ISO/IEC 9075). AngaraBase uses explicit SQLSTATEs for all expected errors, simplifying error handling in client applications.
SysCatalog — system catalog, the central registry of metadata for all database objects: tables, columns, indexes, users, roles, privileges, security policies, and statistics.
T
TDE (Transparent Data Encryption) — transparent data encryption on disk. Encrypts data pages, WAL records, and the audit log. Transparent to applications — encryption and decryption occur at the storage engine level.
TID (Tuple Identifier) — the physical address of a row in storage, consisting of two components: (page_id, slot_id). Used for direct access to a row via an index.
W
WAL (Write-Ahead Log) — a transaction log ensuring durability and recovery. All changes are first written to the WAL, then applied to data pages. During crash recovery, the WAL is used to reapply committed but not yet disk-flushed changes.
What’s Next
- What is AngaraBase — a product overview for those who came to the glossary from a search.
- AngaraBase Architecture — how named subsystems (AngaraTree, AngaraPlan, etc.) are assembled into a working engine.
- System Views
sys.*— where the same terms are visible from SQL.