Lightning Memory-Mapped Database

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Lightning Memory-Mapped Database
Basisdaten

Maintainer Symas Corp.
Aktuelle Version 0.9.23
(19. Dezember 2018[1])
Betriebssystem unixoide, Windows
Programmiersprache C
Kategorie Datenbankmanagementsystem
Lizenz OpenLDAP Public License[2]
https://symas.com/lmdb/technical/

Lightning Memory-Mapped Database (LMDB) ist ein freies eingebettetes Datenbanksystem, das ursprünglich von Howard Chu für das OpenLDAP-Projekt entwickelt wurde. LMDB stellt dabei ähnlich wie DBM und Berkeley DB eine Schlüssel-Werte-Datenbank zur Verfügung.

LMDB verwendet einen B+-Baum als Index und unterstützt die ACID-Semantik. Das System stellt den gesamten Inhalt der Datenbank mit Hilfe von Zeigern zur Verfügung (Memory Map) und verzichtet so auf Kopiervorgänge. Beim Caching der Daten verlässt sich LMDB komplett auf das Betriebssystem und stellt keine eigenen Mechanismen zur Verfügung.[3]

LMDB unterstützt Multiversion Concurrency Control. Parallele Lesezugriffe durch Threads und Prozesse können zeitgleich stattfinden ohne sich zu blockieren. Auch blockieren sich Lesezugriffe und Schreibzugriffe nicht. Jedoch sind schreibende Zugriffe durch einen Mutex geschützt und werden somit streng nacheinander abgearbeitet.[3]

Die Bibliothek wurde in C entwickelt, es existieren jedoch Schnittstellen für Programmiersprachen wie C++, Java, PHP, Python, Node.js, Ruby, Tool Command Language und Erlang.[4]

Nutzer[Bearbeiten | Quelltext bearbeiten]

Laut Angaben des Herstellers Symas wird LMDB u. a. von folgenden Software-Projekten verwendet:[4]

Quellen[Bearbeiten | Quelltext bearbeiten]

  1. http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob_plain;f=libraries/liblmdb/CHANGES;hb=HEAD
  2. http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob_plain;f=libraries/liblmdb/LICENSE;hb=HEAD
  3. a b http://www.lmdb.tech/doc/
  4. a b https://symas.com/lmdb/technical/