From Bauman National Library
This page was last modified on 24 June 2016, at 13:23.

Library 'DBm' database engine, originally written by Ken Thompson and released by AT & T in 1979. The name stands for DataBase manager, and may also refer to the family of database engines with API-interface and functions inherited from dbm .

DBm library stores arbitrary data using a key (primary key) in the cells of a fixed size, and uses a hashing techniques to quickly retrieve data from the key.


hashing scheme uses a form of extensible hashing i.e. hashing scheme expands as new cells are added to the database, which means that when the database is nearly empty, then there is only one cell, which is then separated, as required. Two child cells will be separated, after a turn, are filled, so the database grows adding keys.

DBm Library and its derivatives are pre-relational databases - they manage associative arrays are implemented as hash tables. In practice, they can offer more practical storage solution for high-speed access key, as they do not require the overhead for connections and training requests. This is offset by the fact that they can be opened for recording with a single process simultaneously.


DBm Library had many followers, such as:

  • NDBM: In 1986, in Berkeley implemented NDBM (means New Database Manager). There's support has been added, a few at a time of public databases.
  • SDBM :. Some versions of Unix NDBM excluded due to licensing issues, so in 1987, Ozan Yigit produced a similar clone.
  • GDBM (GNU DBm): The free version, written by Philip A. Nelson for the GNU project. It was added support arbitrary length in a database. Earlier data have a fixed maximum length.
  • TDB (trivial library database) was developed and used in the Samba suite implements the API, inspired by a GDBM, but also supports multiple simultaneous recordings, released under the LGPL license.
  • TDBM: NDBM version with atomic transactions, a database in memory, as well as other extensions vypuschennya licensed under open source.