Zum Inhalt springen

„Lightning Memory-Mapped Database“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Tlwt (Diskussion | Beiträge)
K Quellenverweis gab auch 404. Korrigierte Adresse.
diverse Anpassungen
 
Zeile 1: Zeile 1:

{{Infobox Software
{{Infobox Software
|Logo =
|Logo =
Zeile 21: Zeile 20:
}}
}}


'''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 (Datenbank)|DBM]] und [[Berkeley DB]] eine [[Schlüssel-Werte-Datenbank]] zur Verfügung.
'''Lightning Memory-Mapped Database''' (LMDB) ist ein [[Freie Software|freies]] [[eingebettetes Datenbanksystem]], das ursprünglich von Howard Chu für das [[OpenLDAP]]-Projekt entwickelt wurde. LMDB stellt dabei ähnlich wie [[DBM (Datenbank)|DBM]] und [[Berkeley DB]] eine [[Schlüssel-Werte-Datenbank]] zur Verfügung.

== Beschreibung ==


LMDB verwendet einen [[B+-Baum]] als Index und unterstützt die [[ACID]]-Semantik. Das System stellt den gesamten Inhalt der Datenbank mit Hilfe von [[Zeiger (Informatik)|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.<ref name=":0">http://www.lmdb.tech/doc/</ref>
LMDB verwendet einen [[B+-Baum]] als Index und unterstützt die [[ACID]]-Semantik. Das System stellt den gesamten Inhalt der Datenbank mit Hilfe von [[Zeiger (Informatik)|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.<ref name=":0">http://www.lmdb.tech/doc/</ref>
Zeile 27: Zeile 28:
LMDB unterstützt [[Multiversion Concurrency Control]]. Parallele Lesezugriffe durch [[Thread (Informatik)|Threads]] und [[Prozess (Informatik)|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.<ref name=":0" />
LMDB unterstützt [[Multiversion Concurrency Control]]. Parallele Lesezugriffe durch [[Thread (Informatik)|Threads]] und [[Prozess (Informatik)|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.<ref name=":0" />


Die Bibliothek wurde in C entwickelt, es existieren jedoch Schnittstellen für Programmiersprachen wie [[C++]], [[Java (Programmiersprache)|Java]], [[Perl (Programmiersprache)|Perl]], [[PHP]], [[Python (Programmiersprache)|Python]], [[Node.js]], [[Ruby (Programmiersprache)|Ruby]], [[Tool Command Language]] und [[Erlang (Programmiersprache)|Erlang]].<ref name="symas_technical">https://www.symas.com/symas-lmdb-tech-info</ref>
LMDB ist in der Programmiersprache [[C (Programmiersprache)|C]] entwickelt. Es existieren [[Wrapper (Software)|Wrapper]] für die Programmiersprachen [[C++]], [[Java (Programmiersprache)|Java]], [[Perl (Programmiersprache)|Perl]], [[PHP]], [[Python (Programmiersprache)|Python]], [[Node.js]], [[Ruby (Programmiersprache)|Ruby]], [[Tool Command Language]] und [[Erlang (Programmiersprache)|Erlang]].<ref name="symas_technical">https://www.symas.com/symas-lmdb-tech-info</ref>


== Nutzer ==
== Verbreitung ==


Laut Angaben des Herstellers Symas wird LMDB u.&nbsp;a. von folgenden Software-Projekten verwendet:<ref name="symas_technical" />
Laut Angaben des Herstellers Symas wird LMDB u.&nbsp;a. von folgenden Software-Projekten verwendet:<ref name="symas_technical" />
Zeile 41: Zeile 42:
* [[Monero]]
* [[Monero]]


== Quellen ==
== Einzelnachweise ==
<references />
<references />



Aktuelle Version vom 7. Juni 2022, 02:09 Uhr

Lightning Memory-Mapped Database
Basisdaten

Hauptentwickler Symas Corp.
Aktuelle Version 0.9.33[1]
(21. März 2024)
Betriebssystem unixoide, Windows
Programmier­sprache C
Kategorie Datenbankmanagementsystem
Lizenz OpenLDAP Public License Version 2.8[2]
https://www.symas.com/symas-embedded-database-lmdb

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]

LMDB ist in der Programmiersprache C entwickelt. Es existieren Wrapper für die Programmiersprachen C++, Java, Perl, PHP, Python, Node.js, Ruby, Tool Command Language und Erlang.[4]

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

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. git.openldap.org.
  2. The OpenLDAP Public License. (abgerufen am 9. Mai 2021).
  3. a b http://www.lmdb.tech/doc/
  4. a b https://www.symas.com/symas-lmdb-tech-info