Berkeley DB

The Berkeley Database ( Berkeley DB) is an embedded database library with programming interfaces to C, C , Java, Perl, Python, Tcl and other programming languages.

The Berkeley DB was developed by Sleepycat software. Sleepycat in 2006 was bought by Oracle.

Properties

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

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

For use in Java systems, a Berkeley DB Java Edition is offered, which can be integrated as a single jar file in a Java virtual machine. It provides the same functions as the C-written Berkeley DB.

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

The Berkeley DB stores records consisting of a key and a data part. Another structuring the data as individual columns of the table with specific data types is not supported.

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

Unlike a file system, the Berkeley DB offers many features that characterize a database system. It provides simultaneous threads manipulating the data. It provides transaction security for read and write accesses, lock mechanisms, an XA interface, backups at runtime ( hot backup ) and replication.

The Berkeley DB uses the same address space that is used by the application in which the database is embedded. This means a performance advantage over large server DBMS, the requested data must read from permanent storage medium only in its own memory, and then must be passed to the address space of the application. With a size of the machine code of less than 500 kB, the Berkeley DB is also well suited for use in systems with a weak computer performance.

Although Berkeley DB itself does not offer interfaces for network access, but it has replication functions for use eg on blade servers. A blade computers serves as the master, which accepts data changes and distributes them to the replica blades. This creates a high level of reliability of the overall system. According to the manufacturer can be obtained by replicating a 99.999 % availability of the overall system.

Because the Berkeley DB does not have the overhead of a large server DB, and the required administration is very simple. The database can be highly variable configured. It is particularly well suited for use in closed systems that require or allow absolutely no administration. When a failure of the system, the system restart itself and the operability is made in most cases again.

Products that use the Berkeley DB

Berkeley DB will, according to Oracle more than 200 million times, among the rest of reputable telecommunications, network and hardware providers:

  • Cisco Systems
  • Motorola
  • Sun Microsystems
  • Hewlett Packard
  • Google
  • Amazon
  • AOL
  • Yahoo!

Berkeley DB is often used in the following systems:

  • E -mail server
  • Switch
  • Router
  • Smartphone
  • WAP gateway
  • MP3 player

Below is a list of notable programs that use the Berkeley DB for data storage:

  • The BDB storage engine, MySQL stores the data in a Berkeley DB. In the future (from the MySQL version 5.1.12 ) but should not be further supports the Berkeley DB storage engine.
  • Portupgrade - A collection of tools to work with ports and packages on FreeBSD.
  • KDevelop - A free C and C IDE for Linux and other Unix -like operating systems
  • Movable Type - A free weblog publishing system that has been developed by the California-based Six Apart
  • Caravel CMS - An open source content management system that was originally developed for over 2000 organizations of Mennonites
  • OpenLDAP - A free open source implementation of the Lightweight Directory Access Protocol (LDAP)
  • KLibido - A free open source newsgroup reader for binary downloads
  • Citadel / UX - A free open source groupware and BBS system
  • Subversion - an open source version control software
  • Data memory in the Motorola A768 Smartphone

Licensing

Versions 2.0 and higher of Berkeley DB are available under a dual license. One has the choice between a commercial license and an open source license. Users who want to deliver the DB with proprietary software, they have to be licensed.

The versions prior to 2.0 are under the BSD license, so they can be used commercially released.

Swell

Pictures of Berkeley DB

117811
de