LMDB is an ultra-fast, ultra-compact key-value data store developed by Symas for the OpenLDAP Project. It uses memory-mapped files, so it has the read performance of a pure in-memory database while still offering the persistence of standard disk-based databases, and is only limited to the size of the virtual address space (it is not limited to the size of physical RAM).
Tags | Database Software Development Libraries |
---|---|
Licenses | OpenLDAP |
Operating Systems | POSIX Windows |
Implementation | C |
Release Notes: The main feature for this release is replacing the library's use of assert() with a user-overrideable handler via mdb_env_set_assert(). Also, a bug in delete handling that could cause DB corruption was fixed, along with other miscellaneous fixes.
Release Notes: The main change is how heap-allocated memory is handled by default; it is now initialized to zeroes before use. A MDB_NOMEMINIT option has been added to disable this, since it may have a slight performance cost depending on data sizes. Some regressions from 0.9.9 were fixed in mdb_page_split() and mdb_cursor_del(), and some build issues with Windows64 were fixed.
Release Notes: Fixes an env_mapsize regression from 0.9.8 and some other minor issues. Adds options to disable internal lock management, for apps that provide their own lock manager, and to control use of Read-Ahead.
Release Notes: This release fixes a few minor issues and cleans up some obsolete references in the documentation. An official CHANGES changelog is now included in the release. One significant usage restriction has been lifted: It is now allowed to change the environment mapsize using mdb_env_set_mapsize() without first closing and reopening the environment.
Release Notes: A NOTLS mode was added to allow multiple reader transactions per thread. Several new informational/administrative functions were added. The internal hard-coded limit on transaction sizes was removed; write transactions no longer have any fixed size limit.