Database Reference
In-Depth Information
AGPL have the option of purchasing another proprietary license for redis-
tribution from Oracle Corporation. This technique is called dual licensing .
Berkeley DB has an architecture notably simpler than that of other data-
base systems like relational database management systems. For example,
like SQLite, it does not provide support for network access; programs
access the database using in-process API calls. A program accessing the
database is free to decide how the data is to be stored in a record. Berkeley
DB puts no constraints on the record's data. The record and its key can
both be up to four gigabytes long. Despite having a simple architecture,
Berkeley DB supports many advanced database features such as ACID
(Atomicity, Consistency, Isolation, Durability) transactions, fine-grained
locking, hot backups, and replication.
Each edition has separate database libraries, despite the common brand-
ing. The first is the traditional Berkeley DB, written in C. It contains sev-
eral database implementations, including a B-Tree and one built around
extendible hashing. It supports multiple language bindings, including C/
C++, Java (via JNI), C#.NET, Perl, and Python.
Berkeley DB Java Edition (JE) is a pure Java database. Its design resem-
bles that of Berkeley DB without replicating it exactly, and has a feature
set that includes many of those found in the traditional Berkeley DB and
others that are specific to the Java Edition. Because it is written in pure
Java, no native code is required. It has a log-structured storage archi-
tecture, which gives it different performance and concurrency charac-
teristics. Three APIs are available: a Direct Persistence Layer, which is
Plain Old Java Objects (POJO); one that is based on the Java Collections
Framework (an object persistence approach); and one based on the tradi-
tional Berkeley DB API. The Berkeley DB Java Edition High Availability
option (Replication) is available. Note that traditional Berkeley DB also
supports a Java API, but it does so via JNI and thus requires an installed
native library.
The Berkeley DB XML database specializes in the storage of XML docu-
ments, supporting XQuery via XQilla. It is implemented as an additional
layer on top of (a legacy version of) Berkeley DB and the Xerces library. DB
XML is written in C++ and supports multiple language bindings, includ-
ing C++, Java (via JNI), Perl, and Python.
Many well-known applications are built using BDB, including Bitcoin,
MySQL, and Oracle NoSQL.
A NoSQL database provides a mechanism for storage and retrieval of
data that is modeled in means other than the tabular relations used in
Search WWH ::




Custom Search