Lightning Memory-mapped Database

An extraordinarily fast, memory-efficient database we developed for the Symas OpenLDAP Project.

 

 

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 Symas 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.

Explore Capabilities

  • 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
    • transactions cover all sub-databases
  • Memory-mapped
    • allows for zero-copy lookup and iteration
  • Maintenance-free 
    • no external process or background cleanup or compaction required
  • Crash-proof
    • 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?
Fill out the form below or give us a call 650.963.7601.

Support Options

Commercial Support
Symas offers fixed-price commercial support to those using LMDB in your applications. Please contact us 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.

Community
Search the discussions on the OpenLDAP mailing lists.

Source Information

Development occurs in the OpenLDAP Project‘s git repo in the mdb.master branch. A clone of just the LMDB code is also available on Github.

Technical Information

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.

Download LMDB

Click the link to go to GitHub to download LMDB.

 

 

Download Now

How It Compares

Click to see a quick comparison of other embedded key value stores. 

Comparison Grid
LMDB BDB LevelDB Kyoto TreeDB
ACID compliant
Nested transactions
Multiple namespaces
Sorted keys
Sorted duplicate keys
Multi-thread concurrency
Multi-process concurrency
No cache tuning: zero-config
Instantaneous crash recovery
Zero-copy reads
Zero-copy writes
Atomic hot backup

Download Software

Download an ultra-fast, ultra-compact, crash-proof key-value embedded data store.