Original author(s) | Margo Seltzer and Keith Bostic of Sleepycat Software |
---|---|
Developer(s) | Sleepycat Software, later Oracle Corporation |
Initial release | 1994 |
Stable release |
6.2 / JE (7.0) / April 18, 2016
|
Development status | production |
Written in | C |
Operating system | Windows, Unix-like |
Size | ~1244 kB compiled on Windows x86 |
Type | Embedded database |
License |
dual licensed (GNU Affero General Public License and commercial permissive license) (version 6.x and upwards) Sleepycat license (versions 2.0-5.x) 4-clause BSD license (versions 1.x) |
Website | www |
DFSG compatible | Yes |
---|---|
FSF approved | Yes |
OSI approved | Yes |
GPL compatible | Yes |
Copyleft | Yes |
Berkeley DB (BDB) is a software library intended to provide a high-performance embedded database for key/value data. Berkeley DB is written in C with API bindings for C++, C#, Java, Perl, PHP, Python, Ruby, Smalltalk, Tcl, and many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key. Berkeley DB is not a relational database.
BDB can support thousands of simultaneous threads of control or concurrent processes manipulating databases as large as 256 terabytes, on a wide variety of operating systems including most Unix-like and Windows systems, and real-time operating systems.
BDB was originally developed by Sleepycat Software. This company was acquired by Oracle Corporation in February 2006, which continues to develop and sell Berkeley DB. Under Oracle's stewardship, "Berkeley DB" has become a common brand name for three distinct products: Oracle Berkeley DB, Berkeley DB Java Edition, and Berkeley DB XML. These three products all share a common ancestry and are currently under active development.
Berkeley DB originated at the University of California, Berkeley as part of BSD, Berkeley's version of the Unix operating system. After 4.3BSD (1986), the BSD developers attempted to remove or replace all code originating in the original AT&T Unix from which BSD was derived. In doing so, they needed to rewrite the Unix database package. Seltzer and Yigit created a new database, unencumbered by any AT&T patents: an on-disk hash table that outperformed the existing Dbm libraries. Berkeley DB itself was first released in 1991 and later included with 4.4BSD. In 1996 Netscape requested that the authors of Berkeley DB improve and extend the library, 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 continues to develop and sell Berkeley DB.