DBM (database)

from Wikipedia, the free encyclopedia

DBM was the first representative of simple, file-based database management systems . DBM was originally developed by Ken Thompson and published by AT&T in 1979 . The name is an acronym for database manager .

DBM saves any data in so-called buckets with a fixed size, provided with a key , with the help of which the data can be found in the database using a hash function .

The hashing algorithm uses a form of extensible hashing in which the possible number of available keys is increased as new buckets are added, which results in storage space savings.

A special feature of DBM and derivatives of DBM, all of which are considered pre-relational databases, is the saving in computing and waiting times for establishing a connection to the database server and preparing database queries. The resulting disadvantage is that only one process can access the database at a time.

successor

DBM has a number of successors that are based on the same principle:

Ndbm
The ndbm ( New Database Manager ) database developed in Berkeley in 1986 . It supported the use of multiple databases at the same time.
Sdbm
Due to the license conditions, Ndbm was removed from some UNIX versions and replaced by Ozan Yigit's public domain clone Sdbm in 1987 .
gdbm
The GNU Database Manager (gdbm), another open source variant, was developed by Philip A. Nelson for the GNU project . He expanded the functionality of DBM to include the use of data packets of any length.
Tdbm
The Tdbm ( Transactional Database Manager ) also offers transactions .
TDB
This database was developed by the Samba team and distributed under the GPL license as part of the Samba package. Quoted from the SourceForge website: 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
The Quicker Database Manager claims to be faster. It was also published under GPL by Mikio Hirabayashi in 2000 .
Berkeley DB
The Berkeley DB is a variant that was published under two licenses and can be used with a copyleft or a commercial license. Originally developed by Sleepycat , it has been serviced and sold by Oracle since February 2006 .
MapDB
MapDB (formerly JDBM) is a transactional database management system for Java.
Tokyo Cabinet and Kyoto Cabinet
Are modern re-implementations of the QDBM, also by Mikio Hirabayashi.
cdb
The Constant Database was developed by Daniel J. Bernstein and differs from the other database systems in that databases can only be read after they have been created, but no longer changed.
VSDB
An implementation of a DBM-like database by John Meacham that supports full ACID semantics using atomic file system operations.
LMDB
This DBM-like database was developed by Howard Chu for the OpenLDAP project. It supports the ACID semantics and has been optimized for fast reading of data.

See also

Individual evidence

  1. AT&T, DBM (3X), Unix Programmer's Manual, Seventh Edition, Volume 1, January 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. gnu dbm by Philip A. Nelson, Jason Downs and Sergey Poznyakoff

Web links