TidesDB
activeby TidesDB (Alex Gaetano Padula) · since 2024
Young C storage-engine library: transactional LSM with MVCC, column families and TTL.
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
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
Ecosystem
Alternatives to TidesDB
Meta's embeddable LSM-tree key-value engine, the storage layer under dozens of databases.
tidesdb vs rocksdb →Log-structured, embeddable key-value engine in pure Rust with keyspaces and transactions.
tidesdb vs fjall →Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026.
tidesdb vs lmdb →MongoDB's default storage engine: MVCC B-tree with compression and snapshot isolation.
tidesdb vs wiredtiger →Desktop database and forms builder bundled with Microsoft 365; still everywhere in back offices.
tidesdb vs microsoft-access →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.