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. WWW: https://github.com/ruby/dbm