An Ultra-Fast, Ultra-Compact, Crash Proof Data Store.
LMDB is an extraordinarily fast, memory-efficient database. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.
In other words, it runs like a bat out of hell, performing several times faster than other DB engines. No buffers needed, no memory copies generated.
With only 32KB of object code, LMDB may seem tiny. But it’s the right 32KB.
Symas Lightning Memory-Mapped Database
Features at a Glance:
- Ordered-map interface
- keys are always sorted; range lookups are supported
- Fully-transactional, full ACID semantics with MVCC
- Reader/writer transactions
- readers don’t block writers; writers don’t block readers
- Fully serialized writers
- writes are always deadlock-free
- Extremely cheap read transactions
- can be performed using no mallocs or any other blocking calls
- Multi-thread and multi-process concurrency supported
- Environments may be opened by multiple processes on the same host
- Multiple sub-databases may be created with transactions covering all sub-databases
- Memory-mapped, allowing for zero-copy lookup and iteration
- no external process or background cleanup or compaction required
- no logs or crash recovery procedures required
- No application-level caching
- LMDB fully exploits the operating system’s buffer cache
- 32KB of object code and 6KLOC of C
- Licensed under the OpenLDAP Public License
How Does it Compare to Other Key Value Stores?
Here’s a quick comparison of other embedded key value stores.
|Sorted duplicate keys||✔||✔|
|No cache tuning: zero-config||✔|
|Instantaneous crash recovery||✔|
|Atomic hot backup||✔|
Where Can I Find Support and Documentation?
Symas offers fixed-price commercial support to those using LMDB in your applications. Please contact us for additional information.
Porting and Professional Services Support
We will be happy to provide developer support or porting services to help you transition your application to LMDB. Contact us here.
Find our documentation AT THIS LINK
Where Can I Read the Published Reports?
Project presentations on LMDB have been generating excitement across the US and Europe since 2011! Click below to read published reports.
Where Can I See the Project Benchmarks?
Click below to see benchmarks.
Is LMDB available for outside projects?
We’re proud that LMDB has played a role in helping over 50 other projects realize their potential, including OpenLDAP, Monero, SQLite3, and FineDB.
Are there LMDB Wrappers for Other Languages?
The compact LMDB code can easily be called from over 20 other languages using their respective wrappers.