- DBM (Datenbank)
-
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 Vorgänger der relationalen 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
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.
- 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
- ↑ AT&T, DBM(3X), Unix Programmer's Manual, Seventh Edition, Volume 1, Januar 1979
- ↑ Ozan (oz) Yigit, sdbm - Substitute DBM or Berkeley ndbm for Every UN*X Made Simple, The Guild of PD Software Toolmakers, Toronto - Canada, 1998
Weblinks
- Seltzer & Yigit: A New Hashing Package for Unix (englisch; PostScript-Datei; 150 kB)
- Olsen, Bostic & Seltzer: Berkeley DB (englisch; PDF-Datei; 76 kB)
Kategorien:- Freies Datenbankmanagementsystem
- Unix-Software
Wikimedia Foundation.