vs

bbolt vs libmdbx

bbolt: etcd's maintained fork of BoltDB: a simple, pure-Go B+tree store in a single file. libmdbx: Heavily reworked LMDB descendant: memory-mapped ACID B+tree with auto-growing files.

key differences

  • libmdbx is built for larger datasets (≤ 10 TB) than bbolt (≤ 100 GB).

choose bbolt for

  • +Embedded metadata stores in Go services
  • +Raft log and snapshot storage
  • +Local state for CLIs and agents

best at · Embedded, Metadata, Coordination

choose libmdbx for

  • +Blockchain node state and indexes
  • +Read-heavy embedded storage needing LMDB semantics
  • +Replacing LMDB where auto-resizing is needed

best at · Embedded, Metadata

overview
Primary model
Key-Value
Key-Value
Also supports
–
–
Type
Embedded library
Embedded library
Status
Active
Active
Developer
etcd maintainers / CNCF
Leonid Yuriev
First release
2017
2015
Latest version
1.5.0 (Jun 21, 2026)
0.14.4 (Sep 19, 2026)
License
Open source (permissive)MIT License
Open source (permissive)Apache License 2.0
Free tier
✓
✓
popularity
WhichDB Score
11.5
4.9
Rank
#282
#394
GitHub stars
9.8K
1.5K
Stack Overflow questions
41
–
scale & guarantees
Comfortable data size
Small (≤ 100 GB)
Medium (≤ 10 TB)
Horizontal scaling
None
None
Multi-region
None
None
ACID
Full
Full
Consistency
Strong
Strong
Schema
Schemaless
Schemaless
Architecture
Embedded
Embedded
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
Go API
C API
Client languages
Go
C, C++, Rust, Go, Python, JavaScript
Best for
Embedded, Metadata, Coordination
Embedded, Metadata

bbolt vs libmdbx: FAQ

What is the difference between bbolt and libmdbx?

bbolt: etcd's maintained fork of BoltDB: a simple, pure-Go B+tree store in a single file. libmdbx: Heavily reworked LMDB descendant: memory-mapped ACID B+tree with auto-growing files. libmdbx is built for larger datasets (≤ 10 TB) than bbolt (≤ 100 GB).

When should I choose bbolt over libmdbx?

Choose bbolt for embedded metadata stores in Go services; raft log and snapshot storage; and local state for CLIs and agents. Choose libmdbx for blockchain node state and indexes; read-heavy embedded storage needing LMDB semantics; and replacing LMDB where auto-resizing is needed.

Is bbolt or libmdbx more popular?

bbolt ranks #282 on the WhichDB Score (11.5/100) and libmdbx ranks #394 (4.9/100). Popularity is not fit: check the requirements that matter for your project.

Are bbolt and libmdbx open source?

Yes. bbolt is open source. License: MIT License. Yes. libmdbx is open source. License: Apache License 2.0.