dbm

dbm

dbm was the first of a family of simple database engines, originally written by Ken Thompson and released by AT&T in 1979. The name is a three letter acronym for database manager.

dbm stores arbitrary data by use of a single key (a primary key) in fixed-size buckets and uses hashing techniques to enable fast retrieval of the data by key.

The hashing scheme used is a form of extendible hashing, so that the hashing scheme expands as new buckets are added to the database, meaning that, when nearly empty, the database starts with one bucket, which is then split when it becomes full. The two resulting child buckets will themselves split when they become full, so the database grows as keys are added.

While dbm and its derivatives are pre-relational databases — effectively a hash fixed to disk — in practice they can offer a more practical solution for high-speed storage looked up by-key as they do not require the overhead of connecting and preparing queries. This is balanced by the fact that they can generally only be opened for writing by a single process at a time. While this can be addressed by the use of an agent daemon which can receive signals from multiple processes, this does, in practice, add back some of the overhead (though not all).

Successors

dbm has had many successors:

  • Ndbm: In 1986 Berkeley produced ndbm (standing for New Database Manager). This added support for having multiple databases open concurrently.
  • Sdbm: Some versions of Unix were excluding ndbm due to licensing issues, so in 1987 Ozan Yigit produced this public domain clone.[1]
  • gdbm: (standing for GNU dbm[2]) a Free/Libre version written by Philip A. Nelson for the GNU project. It added support for arbitrary-length data in the database: previously all data had a fixed maximum length. The last version was released on November 13, 2011.[3]
  • Tdbm: Provided support for atomic transactions.
  • TDB: Released by the Samba team, under the LGPL. From the homepage: 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: 'Quicker Database Manager'. Claims to be quicker, and was released under the LGPL by Mikio Hirabayashi in 2003.[4]
  • Berkeley DB: A version available under dual license, both strong copyleft and commercial. Oracle Corporation has supported and maintained Berkeley DB since February 2006.
  • JDBM: JDBM is a transactional persistence engine for Java. It aims to be for Java what GDBM is for other languages (C/C++, Python, Perl, etc.)
  • JDBM2: JDBM2 is a fork of JDBM 1.0 which adds various features (such as Map views) and performance enhancements.
  • Tokyo Cabinet: A modern reimplementation of QDBM, also released under the LGPL by Mikio Hirabayashi in 2007.[4]
  • VSDB: An implementation of a dbm-like database written by John Meacham that supports full ACID semantics that places data safety above all. It includes transactions and rollbacks with no locking whatsoever, rather relying on atomic filesystem operations.
  • Kyoto Cabinet: A straightforward implementation of DBM, released under the GPL also by Mikio Hirabayashi in 2009.[4]
  • aodbm: An append-only DBM-style database written by Daniel Waterworth.
  • RaptorDB: A NoSQL engine written in C#.

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • DBm — Saltar a navegación, búsqueda El dBm es una unidad de medida utilizada, principalmente, en telecomunicación para expresar la potencia absoluta mediante una relación logarítmica. El dBm se define como el nivel de potencia en decibelios en relación …   Wikipedia Español

  • DBM — DBM  платформенно независимый механизм для хранения строк в файле как в хеше. И ключ и ассоциированные с ним данные должны быть строками. Так же DBM можно считать Движком баз данных (Database engine). DBM в Ruby Интерфейс dbm входит в… …   Википедия

  • Dbm — a été le premier d une famille de moteurs simples de base de données, à l origine écrit par Ken Thompson et publié par ATT en 1979. Le nom est un acronyme de trois lettres de gestionnaire de base de données (DataBase Manager). dbm stocke des… …   Wikipédia en Français

  • dbm — a été le premier d une famille de moteurs de base de données, à l origine écrit par Ken Thompson et publié par AT T en 1979. Son nom est l acronyme de database manager (gestionnaire de base de données). dbm stocke des données arbitraires par l… …   Wikipédia en Français

  • dBm — (parfois dBmW) est une abréviation du rapport de puissance en décibels (dB) entre la puissance mesurée et un milliwatt (mW). Elle est utilisée dans les réseaux radio, micro ondes et fibre optique comme une mesure commode de puissance absolue en… …   Wikipédia en Français

  • DBM — may refer to: dBm, a unit for power measurement dbm, UNIX s Database Manager family of pre relational database engines D. B. M. Patnaik (1925–2009), an Indian lawyer, politician and communist leader De Bellis Multitudinis, a wargame ruleset… …   Wikipedia

  • dBm — For other uses, see DBM (disambiguation). A schematic showing the relationship between dBu (the voltage source) and dBm (the power dissipated as heat by the 600 Ω resistor) dBm (sometimes dBmW) is an abbreviation for the power ratio in decibels… …   Wikipedia

  • DBm — For other uses, see DBM (disambiguation) dBm (sometimes dBmW) is an abbreviation for the power ratio in decibels (dB) of the measured power referenced to one milliwatt (mW). It is used in radio, microwave and fiber optic networks as a convenient… …   Wikipedia

  • Dbm — For other uses, see DBM (disambiguation) dbm was the first of a family of simple database engines, originally written by Ken Thompson and released by AT T in 1979 [ATT79] . The name is a three letter acronym for database manager .dbm stores… …   Wikipedia

  • DBm — Dieser Artikel erläutert die Hilfsmaßeinheiten Bel (bzw. Dezibel), für Informationen über in Dezibel angegebene Größen und Beispiele dazu siehe auch Schalldruckpegel, Schallleistungspegel, Spannungspegel, Pegel, Maß (logarithmische Größe) Einheit …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”