Berkeley DB

from Wikipedia, the free encyclopedia
Berkeley DB
Basic data

developer Oracle
Publishing year 1992
Current  version 18.1.32
operating system unixoide , Windows
programming language C.
category Database management system
License Dual licensing system ( Commercial and GNU AGPL v3.0 , before 6.0.20 Sleepycat )
https://www.oracle.com/database/berkeley-db/index.html

The Berkeley Database (Berkeley DB) is a embedded database - library with programming interfaces for C , C ++ , Java , Perl , Python , Tcl and other programming languages .

history

The Berkeley DB was created in 1991 at the University of California, Berkeley , and was published in 1992 as Berkeley DB 1.85 with the Berkeley Software Distribution (BSD). In 1996 the Berkeley DB 1.86 from Harvard followed for Kerberos , a contract of the original developers with Netscape , and their establishment of Sleepycat Software . 2006 Sleepycat was bought by Oracle .

properties

Berkeley DB runs on a large number of operating systems , including most Unix-like and Windows systems, as well as real-time operating systems .

The Berkeley DB contains compatibility interfaces for some historical Unix database libraries such as dbm , ndbm and hsearch .

A Berkeley DB Java Edition is offered for use in Java systems, which can be integrated as a single JAR file in a virtual Java machine. It offers the same functions as the Berkeley DB written in C.

Berkeley DB XML is an interface that supports the storage of XML data in the Berkeley DB written in C. This enables XML documents to be parsed and the query languages XPath and XQuery to be used for data access.

The Berkeley DB stores data sets consisting of a key and a data part. Further structuring of the data as individual table columns with certain data types is not supported.

As of version 11G, there is a SQLite- compatible SQL interface with which the stored data can be accessed. Berkeley DB is designed exclusively for use as an embedded database system. Programs can only use the database through process-internal API calls, comparable to accessing a file system . As a result, the programs that use the Berkeley DB as data storage are not subject to any restrictions on how the data can be stored in a data record. A data record and its associated key can be up to four gigabytes in size. A table can occupy up to 256 terabytes of memory.

In contrast to a file system , the Berkeley DB offers many functions that characterize a database system . It offers simultaneous threads for manipulating the data. It offers transaction security for read and write access, lock mechanisms, an XA interface, backups during runtime (hot backup) and replication .

The Berkeley DB uses the same address space used by the application in which the database is embedded. This means a performance advantage over large server DBMS , which first have to read the requested data from the permanent storage medium into their own main memory and then transfer them to the address space of the application. With a machine code size of less than 500 kB, the Berkeley DB is also well suited for use in systems with poor computing power.

Berkeley DB does not itself offer any interfaces for network access, but has replication functions for use e.g. B. on blade servers . A blade computer acts as a master, which receives data changes and distributes them to the replica blades. This creates a high level of reliability for the entire system. According to the manufacturer, an availability of 99.999% of the entire system can be achieved through replication .

Because the Berkeley DB does not have the overhead of a large server DB, the administration required is also very simple. The database can be configured very variably. It is particularly well suited for use in closed systems that do not require or enable administration at all. If the system fails, the system restarts itself and in most cases the operability is restored.

Users

According to Oracle, Berkeley DB is used more than 200 million times, including by well-known telecommunications, network and hardware providers:

Berkeley DB is widely used in the following systems:

The following is a list of noteworthy programs that use Berkeley DB for data storage:

The following programs have used Berkeley DB to store data in the past. However, support is to be abandoned in future versions or has already been abandoned:

  • Movable Type - A free blog -Publikationssystem that from in California -based Six Apart has been developed
  • MySQL - Up to version 5.1.12, Berkeley DB could be used as the storage engine for tables
  • OpenLDAP - A free, open source implementation of the Lightweight Directory Access Protocol ( LDAP ), but the use of Berkeley DB is no longer recommended in favor of LMDB , so support should be discontinued accordingly
  • Subversion - an open source software for version management, but the use of Berkeley DB for storing the version data is no longer recommended and support should be discontinued accordingly

Licensing

Versions 2.0 and higher of Berkeley DB are available under a dual license. You can choose between a commercial license and the Sleepycat , an open source license . Users who want to deliver the DB with proprietary software must obtain a license. Depending on the version, the costs for lifelong licenses per processor range between USD 180 and USD 13,800 (as of September 2014) and include lifelong updates and one year of support.

From version 6.0, Oracle licenses all products of the Berkeley DB series under the GNU AGPL v3 .

The versions prior to 2.0 are under the BSD license , which means that they can also be used commercially freely.

Individual evidence

  1. download.oracle.com .
  2. Berkeley DB: A Retrospective (PDF; 72 KB) IEEE . September 2007. Retrieved February 17, 2015.
  3. Berkeley DB . In: The Architecture of Open Source Applications . Volume I ( online ).
  4. Oracle Buys Open Source Software Company Sleepycat (English)
  5. Oracle Unveils Oracle Berkeley DB Release 4.5 (English)
  6. Data directory - The location where Bitcoin's data files are stored, including the wallet data file. . ICRON SERVICES LTD - Nicosia. Retrieved November 4, 2014.
  7. https://movabletype.org/documentation/system-requirements.html , Berkeley DB is no longer mentioned as a supported database
  8. https://www.heise.de/ix/meldung/MySQL-trennt-sich-von-Berkeley-DB-154924.html
  9. https://www.openldap.org/doc/admin24/backends.html
  10. http://subversion.apache.org/docs/release-notes/1.8.html#bdb-deprecated
  11. Oracle Berkeley DB Licensing Information (English)
  12. Oracle Product Store
  13. Major Release: Berkeley DB 12gR1 (12.1.6.0) . June 10, 2013. Retrieved September 30, 2014.
  14. Oracle switches Berkeley DB license , July 5, 2013

Web links