Many developers at Oracle
4.7.25 / 2008-05-20
C with APIs for most other
Unix, Linux, Windows, AIX,
Sun Solaris, SCO Unix, Mac
~700KB compiled on x86
Berkeley DB (BDB) is a computer software
library that provides a high-performance em-
bedded database, with bindings in C, C++,
Java, Perl, Python, Ruby, Tcl, Smalltalk, and
other programming languages. BDB stores
arbitrary key/data pairs as byte arrays, and
supports multiple data items for a single key.
BDB can support thousands of simultaneous
threads of control or concurrent processes
manipulating databases as large as 256 tera-
bytes, on a wide variety of operating systems
including most Unix-like and Windows sys-
tems, and real-time operating systems.
Berkeley DB originated at the University of
California, Berkeley as part of the transition
(1986 to 1994) from 4.3BSD to 4.4BSD and of
the effort to remove AT&T-encumbered code.
In 1996 Netscape requested that the authors
of Berkeley DB improve and extend the lib-
rary, then at version 1.86, to suit Netscape’s
requirements for an LDAP server and for
use in the Netscape browser. That request
led to the creation of Sleepycat Software.
This company was acquired by Oracle
Corporation in February 2006, which contin-
ues to develop and sell Berkeley DB.
Since its initial release, Berkeley DB has
gone through various versions, breaking
(API, ABI and/or file-level) compatibility sev-
eral times. The FreeBSD and OpenBSD oper-
ating systems still ship with Berkeley DB 1.8x
for compatibility reasons; Linux-based op-
erating systems sometimes ship several ver-
sions to accommodate for applications still
using older interfaces/files.
Berkeley DB is redistributed under the
Sleepycat Public License, an OSI- and FSF-
approved license. The product s