Lightning Memory-Mapped Database

from Wikipedia, the free encyclopedia
Lightning Memory-Mapped Database
Basic data

Maintainer Symas Corp.
Current  version 0.9.26
(August 11, 2020)
operating system unixoide , Windows
programming language C.
category Database management system
License OpenLDAP Public License
https://symas.com/lmdb/technical/

Lightning Memory-Mapped Database (LMDB) is a free embedded database system that was originally developed by Howard Chu for the OpenLDAP project. LMDB provides a key-value database similar to DBM and Berkeley DB .

LMDB uses a B + tree as an index and supports ACID semantics. The system makes the entire content of the database available with the help of pointers (memory map) and thus dispenses with copying processes. When caching the data, LMDB relies completely on the operating system and does not provide any mechanisms of its own.

LMDB supports multi-version concurrency control . Parallel read accesses by threads and processes can take place at the same time without blocking each other. Read access and write access do not block each other. However, write accesses are protected by a mutex and are therefore processed strictly one after the other.

The library was developed in C, but there are interfaces for programming languages ​​such as C ++ , Java , Perl , PHP , Python , Node.js , Ruby , Tool Command Language and Erlang .

Users

According to the manufacturer Symas, LMDB u. a. used by the following software projects:

swell

  1. https://git.openldap.org/openldap/openldap/-/raw/master/libraries/liblmdb/CHANGES
  2. https://git.openldap.org/openldap/openldap/-/raw/master/libraries/liblmdb/LICENSE
  3. a b http://www.lmdb.tech/doc/
  4. a b https://symas.com/lmdb/technical/