vs

LMDB vs SDB

LMDB: Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026. SDB: Tiny embeddable C string key-value database from the radare2 project, built on djb's cdb format.

key differences

  • LMDB is built for larger datasets (≤ 10 TB) than SDB (≤ 100 GB).
  • Transactions: LMDB offers full ACID; SDB offers limited.
  • Only LMDB has transactions.
  • Only SDB has json, in-memory.

choose lmdb for

  • +Read-heavy embedded indexes and caches
  • +Directory services (OpenLDAP back-mdb)
  • +Blockchain and wallet state
  • +ML dataset storage with fast random reads

best at · Embedded, Metadata, Local-first

choose sdb for

  • +Embedded configuration and metadata storage in C programs
  • +Storing analysis state in reverse-engineering tools
  • +Lightweight persistent caches with a memcached front end

best at · Embedded, Coordination, Metadata

overview
Primary model
Key-Value
Key-Value
Also supports
–
Document
Type
Embedded library
Embedded library
Status
Active
Active
Developer
Symas Corporation / OpenLDAP Project
pancake and the radare2 project
First release
2011
2012
Latest version
1.0.2 (Sep 8, 2026)
2.5.8 (Oct 4, 2026)
License
Open source (permissive)OpenLDAP Public License 2.8
Open source (permissive)MIT License
Free tier
✓
✓
popularity
WhichDB Score
39.7
1.6
Rank
#47
#530
GitHub stars
3.1K
232
Stack Overflow questions
260
–
scale & guarantees
Comfortable data size
Medium (≤ 10 TB)
Small (≤ 100 GB)
Horizontal scaling
None
None
Multi-region
None
None
ACID
Full
Limited
Consistency
Strong
Strong
Schema
Schemaless
Schemaless
Architecture
Embedded
Embedded, In memory
deployment
Self-hosted
✓
✓
Vendor-managed cloud
—
—
Serverless
—
—
Embedded
✓
✓
Edge
—
—
Clouds
–
–
capabilities
Transactions
✓
—
Joins
—
—
Secondary indexes
—
—
Full-text search
—
—
Vector search
—
—
Geospatial
—
—
JSON
—
✓
Change data capture
—
—
Triggers
—
—
Stored procedures
—
—
Materialized views
—
—
TTL / expiry
—
—
Pub/Sub
—
—
Columnar storage
—
—
In-memory
—
✓
Durable persistence
✓
✓
Compression
—
—
Encryption at rest
—
—
Role-based access
—
—
Time travel
—
—
Branching
—
—
Online schema changes
—
—
Streaming ingest
—
—
Offline sync
—
—
Runs in WebAssembly
—
—
interfaces
Query languages
C API
sdb command syntax
Client languages
C, C++, Python, Go, Rust, Java, JavaScript
C, Vala, Node.js
Best for
Embedded, Metadata, Local-first
Embedded, Coordination, Metadata

LMDB vs SDB: FAQ

What is the difference between LMDB and SDB?

LMDB: Tiny memory-mapped B+tree with ACID transactions and lock-free readers; reached 1.0 in 2026. SDB: Tiny embeddable C string key-value database from the radare2 project, built on djb's cdb format. LMDB is built for larger datasets (≤ 10 TB) than SDB (≤ 100 GB). Transactions: LMDB offers full ACID; SDB offers limited. Only LMDB has transactions.

When should I choose LMDB over SDB?

Choose LMDB for read-heavy embedded indexes and caches; directory services (OpenLDAP back-mdb); and blockchain and wallet state. Choose SDB for embedded configuration and metadata storage in C programs; storing analysis state in reverse-engineering tools; and lightweight persistent caches with a memcached front end.

Is LMDB or SDB more popular?

LMDB ranks #47 on the WhichDB Score (39.7/100) and SDB ranks #530 (1.6/100). Popularity is not fit: check the requirements that matter for your project.

Are LMDB and SDB open source?

Yes. LMDB is open source. License: OpenLDAP Public License 2.8. Yes. SDB is open source. License: MIT License.