The DBM class provides a wrapper to a Unix-style Database Manager
library.

Dbm databases do not have tables or columns; they are simple key-value
data stores, like a Ruby Hash except not resident in RAM. Keys and
values must be strings.

The exact library used depends on how Ruby was compiled. It could be
any of the following:

* The original ndbm library is released in 4.3BSD. It is based on dbm
  library in Unix Version 7 but has different API to support multiple
  databases in a process.
* Berkeley DB versions 1 thru 6, also known as BDB and Sleepycat DB,
  now owned by Oracle Corporation.
* Berkeley DB 1.x, still found in 4.4BSD derivatives (FreeBSD,
  OpenBSD, etc).
* GDBM, the GNU implementation of dbm.
* QDBM, another open source reimplementation of dbm.

All of these dbm implementations have their own Ruby interfaces
available, which provide richer (but varying) APIs.
