Berkeley DB (libdb) is a programmatic toolkit that provides embedded database support for both traditional and client/server applications. It includes b+tree, queue, extended linear hashing, fixed, and variable-length record access methods, transactions, locking, logging, shared memory caching, database recovery, and replication for highly available systems. DB supports C, C++, C#, Java, PHP, and Perl APIs. It supports key-value pair (NoSQL), SQL, and Java Object formatted data. It is available for a wide variety of Unix platforms as well as QNX, Android, Mac OS X, and several varieties of Windows.
Berkeley DB Java Edition is a high performance transactional storage engine written entirely in Java. Like the highly successful Berkeley DB product, it executes in the address space of the application without the overhead of client/server communication. It stores data in the application's native format, so no runtime data translation is required. It supports full ACID transactions and recovery, and provides an easy-to-use interface, allowing programmers to store and retrieve information quickly, simply, and reliably.
Berkeley DB XML is a native XML database engine for use within your product. Made available as a C++ library with language bindings for Java, Perl, Python, PHP, and Tcl, it integrates directly into your application (it is not a standalone database server). It provides XQuery access into a database of document containers. XML documents are stored and indexed in their native format using Berkeley DB as the transactional database engine.