Single-file storage
One .adb file per database, shared buffer pool, up to 65 535 tables. Simple to
back up, copy, and restore — data directory is a portable artifact.
>
Skip to contentPredictable by contract.
Open-source OLTP database engine built from scratch in Rust.
UNDO-log MVCC · No VACUUM · Fail-closed contracts · PostgreSQL wire-compatible · Linux-native.
Most databases operate on the principle "accept everything until we crash". That gives fast demos and painful on-call nights. AngaraBase reverses the model: every resource boundary is declared in code, measured by a metric, and trips before production breaks. We are not the fastest at everything — we are the most predictable, and we prove it with soak tests, not promises.
AngaraBase is a ground-up OLTP engine written in Rust for Linux. It speaks the PostgreSQL wire protocol, so existing drivers, ORMs and tools (psql, pgcli, DBeaver) connect without changes. Under the hood the storage layer uses an UNDO-log MVCC model inspired by Oracle and InnoDB — no VACUUM, no heap bloat, bounded version chains. Recovery follows the textbook ARIES algorithm (Analysis → Redo → Undo + CLR). The engine is modular: pluggable table engines support row storage, in-memory tables, and a production-preview columnar engine (AngaraColumn) for HTAP workloads with full DML and SIMD aggregations.
Client/Driver ──pgwire──▸ Protocol Adapter (angarabased)
│
SQL + session ctx
│
Query Pipeline (CBO → IR Executor)
│
Txn Manager (snapshots, watermarks)
│
Storage Manager ──▸ engine dispatch
┌─────┼─────────────────┐
HeapStore AngaraMemory AngaraColumn
+ BufferPool (columnar segments)
+ UndoStore
│
WAL / ARIES Recovery
│
AngaraIO (fsync contract)
One .adb file per database, shared buffer pool, up to 65 535 tables. Simple to
back up, copy, and restore — data directory is a portable artifact.
The TableEngine trait dispatches to row (HeapStore), in-memory (AngaraMemory),
and columnar (AngaraColumn) backends. HTAP routing across row + column is planned.
pgwire compatibility: connect with psql, any PostgreSQL driver, or ORM. No
proprietary client needed — zero migration friction.
One OS, tuned for it: io_uring, direct I/O, zero-copy networking. No
cross-platform compromises — performance and predictability first.
Oracle/InnoDB-style versioning. Old row versions live in a bounded UNDO chain, not in the heap. No VACUUM process, no table bloat, predictable storage footprint. Dead versions are garbage-collected by AngaraGC epoch-based reclaim.
Eight resource boundaries — buffer pool, write-set, UNDO budget, memory tables, snapshot
age, connections, statement timeout, I/O queue — each with a config knob, an explicit
SQLSTATE, and a Prometheus metric. When a limit is hit, the system rejects
cleanly — it never degrades silently.
Write-ahead log with full ARIES protocol: Analysis phase scans the log, Redo replays committed changes, Undo rolls back incomplete transactions using CLR (Compensation Log Records). Textbook durability, implemented and tested in every release.
Every release train ships with a soak test and a pinned benchmark. Results are published in evidence packs — not marketing claims. Public RFC process, G2 review gates, and architecture decision records keep the project honest.
AngaraVector processes queries in batches of 1024 rows using SIMD instructions through
std::simd. SelectionVector enables zero-copy filters; Hash Join and
aggregations run on a vectorized pipeline. 1.2–2.7× speedup on analytical queries vs row-store,
measured on NVMe.
Memory safety without a garbage collector. No data races by construction. Fearless concurrency in the storage layer. Compile-time guarantees reduce the class of bugs that matter most in a database: silent corruption, use-after-free, undefined behavior.
Every component exposes metrics, wait events, and USDT probes. Fail-closed boundaries are
not just enforced — they are visible: angarabase_txn_writeset_rejects,
angarabase_undo_rejects_total, angarabase_conn_rejects_total, and
more. Grafana-ready out of the box.
Pinned benchmarks vs PostgreSQL 18 on our golden_db harness (NVMe, 16 vCPU, Linux). Every number ships with a fixed evidence pack — no rounding, no averaging away outliers:
Group-commit fsync coalescing: 453 TPS for AngaraBase vs 146 TPS for PostgreSQL 18 on a commit-bound workload.
force_vector vs row-store on typical analytical queries through AngaraVector.
Point lookup p99 = 0.256 ms on the current debug build; release builds are expected to be faster.
WAL fsync amplification per commit-record — achieved through sync_at_commit
group-commit.
| PostgreSQL | Oracle | AngaraBase | |
|---|---|---|---|
| MVCC model | Heap MVCC + vacuum | UNDO (commercial) | UNDO-log MVCC |
| Vacuum / cleanup | VACUUM workload | Background tasks | No VACUUM |
| License | PostgreSQL License | Proprietary | Open source |
| Language | C | C / C++ | Rust |
| Wire protocol | pgwire (native) | OCI / TNS | pgwire (compatible) |
| Failure mode | Often explicit | Enterprise support | Fail-closed contracts |
| Resource limits | Soft, advisory | Resource Manager | Hard, per-component |
| Recovery | WAL + checkpoint | ARIES-like | ARIES (Analysis → Redo → Undo) |
| Observability | Rich ecosystem | Enterprise tooling | Metrics + SQLSTATE + USDT |
| Platforms | All major OS | All major OS | Linux-only (by design) |
| CockroachDB | TiDB | DuckDB | AngaraBase | |
|---|---|---|---|---|
| Workload profile | Distributed OLTP | HTAP MPP cluster | Embedded analytical | HTAP single-node |
| MVCC | HLC-based MVCC over Pebble | Percolator MVCC over TiKV | Single-writer MVCC | UNDO-log MVCC |
| VACUUM | RocksDB/Pebble compactions | GC over TiKV | Not applicable (in-process) | Not required |
| UPDATE/DELETE | Full | Full | Full (single-writer) | Full, lock-free per-row CAS |
| Wire protocol | pgwire | MySQL (pgwire experimental) | Native client / DBI | pgwire (compatible) |
| Deployment | Cluster (3+ nodes) | Cluster (TiKV + TiFlash) | Embedded library | Single-server (cluster on roadmap) |
| License | BSL → Apache 2.0 | Apache 2.0 | MIT | Apache 2.0 |
Engineering honesty is a core value. We do not sell vaporware. Here is exactly what AngaraBase does not do today, and what is strictly on the roadmap:
Read our detailed RFCs and technical roadmap on the AngaraBase Tech Portal.
Interested in testing AngaraBase in your stack? We are currently looking for design partners and early adopters who need predictable OLTP performance and want to co-engineer with us.
Reach out directly to the core team: partner@angarabase.com