HTAP · ONE ENGINE

One database for transactions and analytics.

EzraDB is a Rust HTAP database that runs your transactions and your analytics on one copy of your data — PostgreSQL-18 wire-compatible, with a vectorized columnar engine that beats Postgres, TimescaleDB, and ClickHouse on TPC-H, plus native time-travel, ASOF joins, and deterministic backtesting.

Feel it:

THE STATUS QUO

Two databases, one fragile pipeline in between.

You run Postgres for transactions and a warehouse for analytics, wired together with ETL. The pipeline breaks, the dashboards lag, the bill doubles, and your "real-time" analytics are an hour old.

PostgresOLTP
ETL
Pipelineglue
ETL
WarehouseOLAP

Three systems to run, one copy too many.

THE SHIFT

Transactions and analytics on one copy of your data.

EzraDB unifies a RocksDB-backed transactional row engine and an Arrow/Parquet vectorized column engine on one MVCC timeline, behind a single Postgres front door. Pick the engine per table with USING — same SQL, no pipeline.

USINGrow|column|hybrid
ezra://one-datasetone MVCC timeline
writes
OLTP
USING row
RocksDB · MVCC / SSI
USING column
Arrow / Parquet · vectorized
queries
OLAP

One panel, two engines, no copy in between.

engines.sql
CREATE TABLE accounts (id INT PRIMARY KEY, owner TEXT, balance NUMERIC) USING row;    -- OLTP
CREATE TABLE events   (id INT, payload TEXT)                            USING column; -- OLAP
CREATE TABLE ticks    (ts TIMESTAMPTZ, sym TEXT, px NUMERIC, vol BIGINT) USING hybrid; -- HTAP

TPC-H · SF1

The only Postgres-compatible engine that finishes all 22.

TPC-H SF1, 2026-05-23, single-tenant exclusive host, 10 warmup / 30 timed

StarRocks 3.3.5
1,838ms
22/22completed
EzraDBPostgres-compatible
2,383ms
22/22completed
ClickHouse 24.12
7,616ms
15/22completed
PostgreSQL 18
12,564ms
16/22completed
TimescaleDB 2.17.2
13,184ms
17/22completed
3.2×ClickHouse5.3×PostgreSQL5.5×TimescaleDB

StarRocks runs its tuned dialect; EzraDB runs canonical SQL. Multipliers on the shared query set. SF10/SF100 pending.

Full methodology & repro

DROP-IN

Speak Postgres. Change nothing.

EzraDB implements the PostgreSQL-18 wire protocol and reads your postgresql.conf and pg_hba.conf. Point psql, your driver, or your ORM at it and go — no rewrite.

connect.sh
# EzraDB speaks the PostgreSQL wire protocol — any PG client connects
psql -h your-host -p 5432 -U ezra -d ezra -c 'SELECT version();'
-- PostgreSQL 18.0 (EzraDB 0.1)

BUILT FOR TIME-SERIES

A quant engine inside your database.

Native ASOF joins, AS OF SYSTEM TIME time-travel, candlestick/VWAP aggregates, and streaming ingest — plus a BACKTEST engine with walk-forward folds and built-in Sharpe, Sortino, Calmar, and max-drawdown.

ticks → OHLC · ASOFseed 42
ASOF: quote → prior fill

Deterministic — same seed, bit-identical P&L.

SELECT q.ticker, q.ts, t.price
FROM quotes q
ASOF JOIN fills t
  ON t.ticker = q.ticker AND t.ts >= q.ts   -- most recent fill at/after each quote
ORDER BY q.ts;

DATA GRAVITY

Move the compute, not the data.

Every hop out of the database costs you — serialization, the network, staleness, and another system to run. EzraDB keeps compute where the data lives: functions, backtests, and incremental views run inside the engine. And as EzraDB goes distributed, the compute follows the data across nodes.*

the usual way
databaseexport · serialize · networkcompute

The data — all of it — makes the trip. Every run, every night, every retry.

the EzraDB way
your functionEzraDB

A few kilobytes of code make the trip. The data never leaves the engine.

Compute in the engine

PL/pgSQL and JavaScript (PLV8) functions, deterministic backtests, and incremental materialized views — the work happens next to the rows, not in a sidecar.

Zero data motion

No ETL hop, no export to a Python worker, no cache round-trips. OLTP, OLAP, search, and KV share one copy of the data.

Compute that scales with the data*

Distributed execution routes functions to the nodes that own the data — fanned out by volatility and parallel-safety — with GPU-accelerated aggregation on the horizon.

*In development — not yet production-ready.

CORRECTNESS

Verified where it counts.

Formally model-checked

TLA+ and Stateright models of Raft replication, leader-lease, MVCC/SSI serializability, parallel-commit, online-DDL.

Deterministic simulation

FoundationDB-style DST covering all five Raft safety properties, with seed-reproducible replay.

Metamorphic fuzzing

SQLancer-style TLP and NoREC query-correctness fuzzing.

Mutation-gated

CI-gated mutation testing on correctness-critical crates.

CONSOLIDATE

More of your stack, in one engine.

Vectorized columnar OLAP
Transactional row store (MVCC/SSI)
Instant clones (CREATE CLONE)
Redis-compatible KV & queues
Vector similarity (KNN)
Full-text search
JavaScript (PLV8) UDFs
Streaming ingest
Materialized & incremental views
Time-travel & ASOF

UNDER THE HOOD

Vectorized execution, a Rust-native optimizer, no JVM.

Vectorized columnar

SIMD codecs (Gorilla, Delta, Dictionary, RLE, FOR), PREWHERE, zone maps.

Rust-native optimizer

A Cascades cost-based optimizer in Rust — no JVM.

Predictable tails

Rust, no GC pauses. Latency you can reason about.

HEADS-DOWN BUILDING

One engine. Many superpowers.

EzraDB is pre-1.0 and we're not taking signups yet — no forms, no waitlists. Dig into what the engine can do, and watch the roadmap to see what ships next.