libmdbx
activeby Leonid Yuriev · since 2015 · also known as MDBX
Heavily reworked LMDB descendant: memory-mapped ACID B+tree with auto-growing files.
Overview
libmdbx is an embedded, transactional key-value engine that began as a fork of LMDB and has since been extensively redesigned by Leonid Yuriev. It keeps LMDB's memory-mapped copy-on-write B+tree, lock-free readers and no-recovery crash safety, but adds automatic database growth and shrinking, better handling of long-running readers, built-in integrity checking, and a C++ API. It is the storage engine behind several high-performance Ethereum clients such as Erigon and Reth. Development is essentially one maintainer and primary hosting moved off GitHub in 2022, so check the project site for releases and support.
Strengths & trade-offs
Strengths
- +LMDB-style lock-free, zero-copy reads with full ACID transactions
- +Database file grows and shrinks automatically
- +Mitigates LMDB's long-reader problem and adds integrity checks
- +Proven in Ethereum clients handling multi-TB state
Trade-offs
- −Single writer at a time
- −Essentially a one-maintainer project
- −Primary repository and docs live off GitHub, complicating discovery and contribution
Great for
- +Blockchain node state and indexes
- +Read-heavy embedded storage needing LMDB semantics
- +Replacing LMDB where auto-resizing is needed
Think twice for
- −Write-heavy concurrent workloads
- −Projects needing a large vendor-backed community
Capabilities
Native or official first-party support · 2 of 25 tracked
Scale & consistency
- Comfortable data size
- Medium · ≤ 10 TB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Full ACID
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Embedded
- Query languages
- C API
Single file with automatic geometry growth; multi-TB databases are used by Ethereum archive nodes.
Deployment
Ecosystem
Alternatives to libmdbx
Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026.
libmdbx vs lmdb →Meta's embeddable LSM-tree key-value engine, the storage layer under dozens of databases.
libmdbx vs rocksdb →Pure-Rust embedded key-value store: copy-on-write B-trees, ACID, and a stable file format.
libmdbx vs redb →etcd's maintained fork of BoltDB: a simple, pure-Go B+tree store in a single file.
libmdbx vs bbolt →Embedded LSM storage engine that writes straight to object storage like S3.
libmdbx vs slatedb →Log-structured, embeddable key-value engine in pure Rust with keyspaces and transactions.
libmdbx vs fjall →libmdbx FAQ
What is libmdbx?
libmdbx is a key-value database by Leonid Yuriev, first released in 2015. libmdbx is an embedded, transactional key-value engine that began as a fork of LMDB and has since been extensively redesigned by Leonid Yuriev. It keeps LMDB's memory-mapped copy-on-write B+tree, lock-free readers and no-recovery crash safety, but adds automatic database growth and shrinking, better handling of long-running readers, built-in integrity checking, and a C++ API. It is the storage engine behind several high-performance Ethereum clients such as Erigon and Reth. Development is essentially one maintainer and primary hosting moved off GitHub in 2022, so check the project site for releases and support.
Is libmdbx open source?
Yes. libmdbx is open source. License: Apache License 2.0.
Does libmdbx support ACID transactions?
Yes. libmdbx supports full ACID transactions, with strong consistency.
Does libmdbx scale horizontally?
libmdbx does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at medium scale (≤ 10 TB).
How can I run libmdbx?
You can self-host it and embed it in your application.
What is libmdbx best for?
libmdbx is a strong fit for blockchain node state and indexes; read-heavy embedded storage needing LMDB semantics; and replacing LMDB where auto-resizing is needed. Think twice for write-heavy concurrent workloads.
What are the best alternatives to libmdbx?
Common alternatives to libmdbx include LMDB, RocksDB, redb, bbolt and SlateDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is libmdbx?
libmdbx ranks #394 of 844 databases on the WhichDB Score (4.9/100), and #56 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.