1The DBM class provides a wrapper to a Unix-style Database Manager
2library.
3
4Dbm databases do not have tables or columns; they are simple key-value
5data stores, like a Ruby Hash except not resident in RAM. Keys and
6values must be strings.
7
8The exact library used depends on how Ruby was compiled. It could be
9any of the following:
10
11* The original ndbm library is released in 4.3BSD. It is based on dbm
12  library in Unix Version 7 but has different API to support multiple
13  databases in a process.
14* Berkeley DB versions 1 thru 6, also known as BDB and Sleepycat DB,
15  now owned by Oracle Corporation.
16* Berkeley DB 1.x, still found in 4.4BSD derivatives (FreeBSD,
17  OpenBSD, etc).
18* GDBM, the GNU implementation of dbm.
19* QDBM, another open source reimplementation of dbm.
20
21All of these dbm implementations have their own Ruby interfaces
22available, which provide richer (but varying) APIs.
23