TidesDB

active

by TidesDB (Alex Gaetano Padula) · since 2024

Young C storage-engine library: transactional LSM with MVCC, column families and TTL.

key-valuewide-columnembedded libraryopen source (copyleft)emerging

Overview

TidesDB is a transactional key-value storage engine library written in C, built on a hybrid LSM-tree/B-tree design with MVCC, column families, key-value separation and a configurable compression pipeline (Snappy, LZ4, Zstd). It offers several isolation levels including two-phase-commit XA, TTLs, range deletes and bloom filters, and it runs on a wide range of operating systems and CPU architectures. The project launched in 2024, iterates fast (major version 10 by late 2026) and is licensed under MPL-2.0. It is promising for people building their own databases but lacks the production history of RocksDB.

Strengths & trade-offs

Strengths

  • +ACID transactions with MVCC and multiple isolation levels, including 2PC/XA
  • +Column families and key-value separation
  • +Pluggable compression with Snappy, LZ4 or Zstd
  • +Portable C with broad OS and CPU architecture support

Trade-offs

  • −Very young with frequent major-version churn
  • −Small community and little public production usage
  • −MPL-2.0 file-level copyleft may need legal review for some products

Great for

  • +Building custom database engines
  • +Embedded transactional storage in C/C++ systems
  • +Experimenting with alternatives to RocksDB

Think twice for

  • −Risk-averse production systems
  • −Teams needing long-term stable on-disk formats

Capabilities

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

✓Transactions
✓TTL / expiry
✓Durable persistence
✓Compression
–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
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
Full ACID
Consistency
Strong
Schema
Schemaless
Architecture
Embedded
Query languages
C API

Deployment

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

Ecosystem

apis & protocolsC API
client languagesC, C++, Go, Rust, Python, Java

Alternatives to TidesDB

Compare all→
RocksDBKey-Value48.2

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

tidesdb vs rocksdb →
FjallKey-Value15.4

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

tidesdb vs fjall →
LMDBKey-Value39.7

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

tidesdb vs lmdb →
WiredTigerKey-Value20.6

MongoDB's default storage engine: MVCC B-tree with compression and snapshot isolation.

tidesdb vs wiredtiger →
Microsoft AccessRelational45.8

Desktop database and forms builder bundled with Microsoft 365; still everywhere in back offices.

tidesdb vs microsoft-access →
FirebirdRelational32.8

Lightweight, MVCC relational database from the InterBase lineage, embeddable or client-server.

tidesdb vs firebird →

TidesDB FAQ

What is TidesDB?

TidesDB is a key-value database by TidesDB (Alex Gaetano Padula), first released in 2024. TidesDB is a transactional key-value storage engine library written in C, built on a hybrid LSM-tree/B-tree design with MVCC, column families, key-value separation and a configurable compression pipeline (Snappy, LZ4, Zstd). It offers several isolation levels including two-phase-commit XA, TTLs, range deletes and bloom filters, and it runs on a wide range of operating systems and CPU architectures. The project launched in 2024, iterates fast (major version 10 by late 2026) and is licensed under MPL-2.0. It is promising for people building their own databases but lacks the production history of RocksDB.

Is TidesDB open source?

Yes. TidesDB is open source. License: Mozilla Public License 2.0.

Does TidesDB support ACID transactions?

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

Does TidesDB scale horizontally?

TidesDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run TidesDB?

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

What is TidesDB best for?

TidesDB is a strong fit for building custom database engines, embedded transactional storage in C/C++ systems and experimenting with alternatives to RocksDB. Think twice for risk-averse production systems.

What are the best alternatives to TidesDB?

Common alternatives to TidesDB include RocksDB, Fjall, LMDB, WiredTiger and Microsoft Access. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is TidesDB?

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