DBM (Datenbank)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Datenbank DBM war der erste Vertreter einfacher, dateibasierter Datenbanksysteme. Sie wurde ursprünglich von Ken Thompson entwickelt und im Jahr 1979 von AT&T veröffentlicht.[1] Der Name ist ein Akronym für database manager.

DBM speichert beliebige Daten in sogenannten Buckets mit fester Größe, versehen mit einem Schlüssel, mit dessen Hilfe die Daten unter Verwendung einer Hashfunktion in der Datenbank wieder auffindbar sind.

Der Hashing-Algorithmus verwendet eine Form des erweiterbaren Hashings, bei dem die mögliche Anzahl verfügbarer Schlüssel erweitert wird, sobald neue Buckets hinzugefügt werden, was sich in einer Einsparung von Speicherplatz auswirkt.

Besonderes Merkmal von DBM und Derivaten von DBM, die allesamt als vor-relationale Datenbanken gelten, ist die Einsparung von Rechen- und Wartezeiten für den Verbindungsaufbau zum Datenbankserver und die Vorbereitung von Datenbankabfragen. Der sich daraus ergebende Nachteil ist, dass immer nur ein Prozess auf die Datenbank zugreifen kann.

Nachfolger[Bearbeiten]

DBM hat eine ganze Reihe von Nachfolgern, die auf dem gleichen Prinzip aufbauen:

Ndbm
Die 1986 in Berkeley entwickelte Datenbank ndbm (New Database Manager). Sie unterstützte die Verwendung mehrerer Datenbanken zur gleichen Zeit.
Sdbm
Aufgrund von der Lizenzbedingungen wurde Ndbm aus einigen UNIX-Versionen entfernt und seit 1987 durch den Public-Domain-Klon Sdbm von Ozan Yigit ersetzt.[2]
gdbm
Der GNU Database Manager (gdbm), eine weitere Open-Source-Variante, wurde von Philip A. Nelson für das GNU-Projekt entwickelt. Er erweiterte die Funktionalität von DBM um die Verwendung von Datenpaketen beliebiger Länge.[3]
Tdbm
Die Tdbm ('transactional database manager') bietet außerdem Transaktionen.
TDB
Diese Datenbank wurde von dem Samba-Team entwickelt und unter der GPL-Lizenz als Bestandteil des Samba-Pakets verbreitet. Zitat von der Sourceforge Webseite: TDB is a Trivial Database. In concept, it is very much like GDBM, and BSD's DB except that it allows multiple simultaneous writers and uses locking internally to keep writers from trampling on each other. TDB is also extremely small.
QDBM
Der 'Quicker Database Manager' beansprucht für sich, schneller zu sein. Er wurde von Mikio Hirabayashi im Jahr 2000 ebenfalls unter GPL veröffentlicht.
Berkeley DB
Die Berkley DB ist eine Variante, die unter zwei Lizenzen veröffentlicht wurde und mit einer Copyleft- oder einer kommerziellen Lizenz einsetzbar ist. Ursprünglich von Sleepycat entwickelt, wird sie seit Februar 2006 von Oracle gewartet und vertrieben.
JDBM
JDBM ist ein transaktionales Datenbankmanagementsystem für Java.
Tokyo Cabinet
Eine moderne Re-Implementierung der QDBM, ebenso von Mikio Hirabayashi.
VSDB
Eine Implementierung einer DBM-ähnlichen Datenbank von John Meacham, welche unter Verwendung atomarer Dateisystemoperationen die volle ACID-Semantik unterstützt.

Quellen[Bearbeiten]

  1. AT&T, DBM(3X), Unix Programmer's Manual, Seventh Edition, Volume 1, Januar 1979
  2. Ozan (oz) Yigit, sdbm - Substitute DBM or Berkeley ndbm for Every UN*X Made Simple, The Guild of PD Software Toolmakers, Toronto - Canada, 1998
  3. [1] gnu dbm von Philip A. Nelson, Jason Downs und Sergey Poznyakoff

Weblinks[Bearbeiten]