SlateDB

active

by SlateDB contributors (Commonhaus Foundation) · since 2024

Embedded LSM storage engine that writes straight to object storage like S3.

key-valueembedded libraryopen source (permissive)emerging

Overview

SlateDB is an embedded, LSM-tree key-value engine written in Rust whose SSTables and write-ahead log live in object storage (S3, GCS, Azure Blob, MinIO, Tigris) instead of local disk. That gives bottomless, highly durable storage and trivial replication at the cost of higher write latency, which it mitigates by batching writes and caching reads locally. It supports a single fenced writer with many readers, snapshots and optimistic transactions, with bindings for Go, Java, Node.js and Python. Still pre-1.0 (0.17 in 2026) and governed under the Commonhaus Foundation, it is a building block for stateless-compute systems rather than a database you query directly.

Strengths & trade-offs

Strengths

  • +Bottomless, highly durable storage on S3-compatible object stores
  • +No local disks to manage; compute nodes can be stateless
  • +Single-writer fencing protocol prevents split-brain writers
  • +Multiple readers can scale reads from the same bucket
  • +Bindings for Go, Java, Node.js and Python

Trade-offs

  • −Write latency in tens to hundreds of milliseconds due to object-store PUTs
  • −Pre-1.0: APIs and formats may still change
  • −Object-store request costs need tuning (flush interval, caching)
  • −Only one writer per database

Great for

  • +State backends for stream processors and serverless compute
  • +Metadata stores for object-storage-native systems
  • +Durable logs and queues on S3
  • +Embedding a KV engine in diskless containers

Think twice for

  • −Low-latency transactional writes
  • −Multi-writer workloads
  • −Teams needing a stable 1.0 storage format today

Capabilities

Native or official first-party support · 5 of 25 tracked

✓Transactions
✓TTL / expiry
✓Durable persistence
✓Compression
✓Time travel
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–Pub/Sub
–Columnar storage
–In-memory
–Encryption at rest
–Role-based access
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Large · ≤ 1 PB
Horizontal scaling
None
Multi-region
No
Transactions
Full ACID
Consistency
Strong
Schema
Schemaless
Architecture
Embedded, Shared storage
Query languages
Rust API

Storage is bounded only by the object store; throughput is limited by the single writer and object-store latency.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsRust API
client languagesRust, Go, Java, JavaScript, Python

Alternatives to SlateDB

Compare all→
RocksDBKey-Value48.2

Meta's embeddable LSM-tree key-value engine, the storage layer under dozens of databases.

slatedb vs rocksdb →
FjallKey-Value15.4

Log-structured, embeddable key-value engine in pure Rust with keyspaces and transactions.

slatedb vs fjall →
FoundationDBKey-Value36.8

Apple's ordered, strictly serializable distributed key-value store, built to have layers on top.

slatedb vs foundationdb →
PebbleKey-Value5.6

Cockroach Labs' Go LSM engine, inspired by RocksDB and tuned for CockroachDB.

slatedb vs pebble →
libmdbxKey-Value4.9

Heavily reworked LMDB descendant: memory-mapped ACID B+tree with auto-growing files.

slatedb vs libmdbx →
LMDBKey-Value39.7

Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026.

slatedb vs lmdb →

SlateDB FAQ

What is SlateDB?

SlateDB is a key-value database by SlateDB contributors (Commonhaus Foundation), first released in 2024. SlateDB is an embedded, LSM-tree key-value engine written in Rust whose SSTables and write-ahead log live in object storage (S3, GCS, Azure Blob, MinIO, Tigris) instead of local disk. That gives bottomless, highly durable storage and trivial replication at the cost of higher write latency, which it mitigates by batching writes and caching reads locally. It supports a single fenced writer with many readers, snapshots and optimistic transactions, with bindings for Go, Java, Node.js and Python. Still pre-1.0 (0.17 in 2026) and governed under the Commonhaus Foundation, it is a building block for stateless-compute systems rather than a database you query directly.

Is SlateDB open source?

Yes. SlateDB is open source. License: Apache License 2.0.

Does SlateDB support ACID transactions?

Yes. SlateDB supports full ACID transactions, with strong consistency.

Does SlateDB scale horizontally?

SlateDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at large scale (≤ 1 PB).

How can I run SlateDB?

You can self-host it and embed it in your application.

What is SlateDB best for?

SlateDB is a strong fit for state backends for stream processors and serverless compute; metadata stores for object-storage-native systems; and durable logs and queues on S3. Think twice for low-latency transactional writes.

What are the best alternatives to SlateDB?

Common alternatives to SlateDB include RocksDB, Fjall, FoundationDB, Pebble and libmdbx. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is SlateDB?

SlateDB ranks #163 of 844 databases on the WhichDB Score (19.7/100), and #23 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.