Roadmap
ScramDB is already a complete UTAP database you can build on today. This page is an honest picture of what is available now and what is coming next. It is a direction, not a dated promise.
Available nowβ
One engine for everything. Transactions, real-time analytics, and AI and machine-learning work all run on one live copy of your data, with no ETL and no second system to keep in sync.
PostgreSQL compatibility. ScramDB speaks the PostgreSQL wire protocol, so it works with psql, standard drivers, ORMs, and BI tools. The SQL surface is broad and covers the features real applications rely on, including:
- Inserts with upserts (
ON CONFLICT),RETURNING,MERGE, and bulkCOPY. - Common table expressions (including recursive and writable CTEs),
LATERALjoins, window functions, savepoints, and cursors (DECLARE/FETCH/MOVE/CLOSE). - Stored procedures and functions (PL/pgSQL); row, statement,
INSTEAD OF, and event triggers. - Roles and permissions (
CREATE ROLE,GRANT,REVOKE) with enforcement, and row-level security. - Rich types including
TIMESTAMPTZ,UUID,JSONB,ARRAY,ENUM, composite, and domain types. - Materialized views, table partitioning, and partial and expression indexes.
- Explicit locking and two-phase commit for distributed transactions.
Fast by default. SQL is compiled to native machine code, queries run in parallel across every CPU core, and heavy analytical work can be offloaded to the GPU with automatic CPU fallback.
Durable columnar storage. The Tundra engine serves writes and scans from one copy, recovers cleanly from crashes, checksums every block, spills large queries to disk instead of failing, and tiers cold data out to Parquet in cloud object storage. An opt-in io_uring storage backend is available for a faster I/O path; see Limitations for how to enable it.
Distributed with serializable consistency. Run ScramDB as a cluster and every node sees one consistent, up-to-date view. Transactions are fully serializable across the cluster.
Point-in-time recovery and branching. Restore the database to an earlier moment, and create instant, low-cost branches of a database, including as of a past point in time, to test or develop against without copying all the data.
Analytics and AI packages in the database. Built-in packages bring capabilities to your data instead of the other way around, covering geospatial indexing, full-text and relevance (BM25) search, clustering, regression, anomaly detection, embeddings, approximate aggregates and sketches, JSON schema validation, and anonymization.
Your own functions, in your own languages. Write functions in JavaScript, TypeScript, Rust, Go, C, C++, Python, and Ruby, running in a sealed sandbox, and call them from SQL.
Automatic maintenance. Statistics collection and background cleanup keep queries fast without manual tuning.
Validated with real frameworks. The standard, unmodified test suites of popular ORMs and migration tools run clean against ScramDB, including Django's own PostgreSQL backend, SQLAlchemy, and Alembic migrations.
Coming nextβ
We are actively expanding ScramDB. The next wave of work focuses on:
- A direct NVMe I/O path for storage-bound workloads that read and write heavily from disk.
- Even faster high-concurrency transactions, pushing transactional throughput and latency further for demanding write-heavy workloads.
- A few remaining SQL conveniences: incremental (delta) refresh for materialized views,
CREATE INDEX CONCURRENTLY,WITH HOLDcursors,LISTEN/NOTIFY, and additional types such asINET/CIDR, ranges, andXML. - Cluster branching, extending instant and time-travel branching across a distributed cluster.
- Broader application compatibility, extending validation to more frameworks, including Prisma.
Everything listed under Available now is here today. The items under Coming next are in progress and will land as they are ready and proven.