Skip to main content

Getting Started with ScramDB

ScramDB is a UTAP database - Unified Transactional Analytical Processing. Transactions, real-time analytics, and AI/vector search all run on one live copy of your data, with no ETL and no second system, compiled to native machine code. It speaks the PostgreSQL wire protocol - connect with psql or any PostgreSQL driver.

Why ScramDB?​

Most databases force you to choose: fast analytics or easy SQL. ScramDB gives you both.

Traditional OLAPScramDB
Query languageProprietary or limited SQLFull PostgreSQL-compatible SQL
Query executionInterpreted or vectorizedJIT-compiled to native machine code
ParallelismThread poolCore-pinned morsel-driven (linear scaling)
StorageRow-store or external filesPurpose-built columnar engine (Tundra)
Vector searchSeparate vector storeBuilt-in similarity functions on the same data
GPU accelerationNot availableBuilt-in for NVIDIA, AMD, Apple Metal
Client compatibilityCustom drivers neededAny PostgreSQL driver works
TransactionsOften missingFull MVCC with serializable isolation
Scale-outA separate distributed systemBuilt-in serializable cluster, same SQL
ExtensibilityFixed function setUDFs in JS, Python, Ruby, PL/pgSQL, and SQL, plus 15 analytics packages
RecoverySnapshots or external toolingPoint-in-time recovery and instant branching

No new query language. No proprietary SDK. No vendor lock-in. Just connect with psql and run SQL.


What is ScramDB?​

ScramDB is a UTAP (Unified Transactional Analytical Processing) database written in Rust. UTAP means one engine and one live copy of your data serving every workload at once, no CDC pipeline, no replica, no export, no lag:

  • Transactions (OLTP) - Full MVCC writes with serializable isolation
  • Analytics (OLAP) - Sub-second complex queries over millions of rows
  • AI and vector search - built-in embeddings similarity functions on the same rows
  • One copy, zero ETL - analytical queries see transactional writes the instant they land
  • One node or a cluster - scale out to a serializable distributed cluster with the same SQL
  • Programmable - user-defined functions in JS, Python, Ruby, PL/pgSQL, and SQL, plus 15 built-in analytics packages
  • Durable and flexible - point-in-time recovery, instant database branching, and GPU acceleration

πŸš€ Quick Start

Get running with Docker in 2 minutes

πŸ“š SQL Reference

Complete SQL compatibility reference

Next Steps​

  1. Quick Start - Docker setup and first connection
  2. First Queries - Create tables and run SQL
  3. SQL Reference - Full SQL compatibility