Architectural fit

Transaction-first writes, analytics-ready reads, without compatibility illusions.

RadixDB uses a hybrid path: mutable rows for transactional updates and immutable column blocks for large reads, with explicit feature-contract boundaries.

The data path

01

SQL and planner

Parsing, expressions, statistics, and physical operator selection.

02

Transaction layer

MVCC, READ COMMITTED and SNAPSHOT, savepoints, and statement atomicity.

03

Hot row versions

Current changes remain available without rewriting cold blocks.

04

Columnar blocks

Immutable compressed segments for sequential and selective reads.

05

WAL and recovery

Write-ahead logging, checkpoints, and verified post-crash startup.

SQL

Familiar SQL with explicit contracts.

Features are enabled when they pass release checks and are documented in the contract. This is not full PostgreSQL compatibility; documented boundaries are part of the product model.

BEGIN ISOLATION LEVEL SNAPSHOT;

UPDATE stock_balances
SET quantity = quantity - 4
WHERE product_id = :product
  AND revision = :expected
RETURNING quantity, revision;

COMMIT;

Where RadixDB is strongest

Architectural focus and boundaries

  • Transaction-driven updates with compressed scan paths for analytical workloads
  • Predictable results when workloads are scan-heavy and budgets are controlled
  • Explicit SQL boundaries: documented support set and known limitations

Index access

Indexes shaped for the query

  • BTREE for ranges and ordering
  • HASH for exact lookups
  • BITMAP for selective attributes
  • Composite and partial indexes

Application interfaces

From SQL to applications

Embedded Rust

Open databases and run queries directly in-process.

TCP client

Connect over the network to radixdb-server.

ORM facade

A typed application interface over queries and records.

Server programming

Routines, triggers, and jobs evolve as a separate layer.

Native extensions

Trusted Rust packages add external types, functions, operators, and operator classes through a versioned plugin ABI. Code runs in the server process and is not sandboxed.