Berkeley DB (or BDB) is a computer program library that offers an embedded database. The software has bindings for various programming languages, including Smalltalk, Python, Perl, Java, PHP C++ and C.
Berkeley DB Information
BDB keeps the data pairs/arbitrary key as byte arrays. BDB also provides support for many simultaneous threads or processes handling databases. BDB can handle data as big as 256 terabytes. BDB can also work in different operating systems, including Windows.
An application retrieving data has the option to decide how the information will be stored. Unlike other programs, there are no restrictions on the data record. In terms of length, the key and record can be 4 GB long.
Architecture
BDB is noted for its simple architecture. Despite its simple structure, the program has support for many features. These include replication, hot backups, fine-grained locking, and ACID transactions. The system does not have support for network access. Databases can be accessed utilizing API calls.
Versions
BDB comes in three editions: Berkeley DB XML, Berkeley DB Java Edition and Berkeley DB. All the editions come with their own distinct database library. The first is Berkeley DB, which is made using C. The Berkeley DB Java Edition (JE) is set in Java entirely.
In terms of design it is somewhat like BDB. While it has features like BDB, it also has features specifically for java. There is no native code needed since it is made using Java. The Berkeley DB XML database is used for storing XML documents. It can also support various XQuery queries.
Another piece of Berkeley DB information worth noting is that Berkeley DB XML is used as a layer for BDB. Berkeley DB XML has support for Java, C and multiple language bindings.
Apps that Use BDB
BDB is used as the retrieval and storage system of numerous LDAP servers. Some of these programs include MySQL, Rbot (an IRC bot), Terracotta, Sun Grid Engine (open source database management), Bogofilter (a spam filter) and Cfengine (a configuration management program).
Other programs that employ BDB are Citadel, Cyrus IMAP Server, Figaro DB, GlusterFS, GRAMPS and HyperGraphDB. There are other database management programs that use it.
One more piece of Berkeley DB information has to be said: its license will depend on how the program will be utilized. If the program will not be distributed, the Sleepycat License is used. For proprietary programs, the license agreement between the program publisher and Oracle will be applied.
