An ultra-fast, ultra-compact, crash-proof key-value embedded data store.
Symas LMDB is an extraordinarily fast, memory-efficient database we developed for the OpenLDAP Project. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.
Bottom line, with only 32KB of object code, LMDB may seem tiny. But it’s the right 32KB. Compact and efficient are two sides of a coin; that’s part of what makes LMDB so powerful.
- Ordered-map interface
- keys are always sorted; range lookups are supported
- 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
- transactions cover all sub-databases
- allows 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
- fits in CPU L1 cache for maximum performance
Ask A Question
Ready to learn more about Symas LMDB?
Give us a call at +1 650.963.7601.
Symas offers fixed-price commercial support to those using LMDB in your applications. Please contact us (Via Ask A Question above) for additional information.
Porting and Professional Services
Thinking about switching your application to LMDB? Call us. We will be happy to provide developer support or porting services to help you transition your application to LMDB.
Search the discussions on the OpenLDAP mailing lists.
Symas LMDB has been written about, talked about, and utilized in a variety of impressive products and publications.
We invite you to learn more on this specific “Technical Information” page.
Click the link to go to GitHub to download LMDB.
How It Compares
Click to see a quick comparison of other embedded key value stores.
|Sorted duplicate keys||✔||✔|
|No cache tuning: zero-config||✔|
|Instantaneous crash recovery||✔|
|Atomic hot backup||✔|
Download an ultra-fast, ultra-compact, crash-proof key-value embedded data store.