Berkeley DB
Encyclopedia
Berkeley DB is a computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 library that provides a high-performance embedded database
Embedded Database
An embedded database system is a database management system which is tightly integrated with an application software that requires access to stored data, such that the database system is “hidden” from the application’s end-user and requires little or no ongoing maintenance...

 for key/value data. Berkeley DB is a programmatic software library written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 with API bindings for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

, Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

, Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...

, Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

, and most other programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key. Berkeley DB is not a relational database. BDB can support thousands of simultaneous threads of control or concurrent processes manipulating databases as large as 256 terabytes, on a wide variety of operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s including most Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 systems, and real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

s. Berkeley DB is also used as the common name for three distinct products; Oracle Berkeley DB, Berkeley DB Java Edition, and Berkeley DB XML. These three products all share a common ancestry and are currently under active development at Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

.

Origin

Berkeley DB originated at the University of California, Berkeley
University of California, Berkeley
The University of California, Berkeley , is a teaching and research university established in 1868 and located in Berkeley, California, USA...

 as part of the transition (1986 to 1994) from 4.3BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...

 to 4.4BSD and of the effort to remove AT&T-encumbered code. The first code, due to Seltzer and Yigit, attempted to create a disk hash table that performed better than any of the existing Dbm
Dbm
dbm was the first of a family of simple database engines, originally written by Ken Thompson and released by AT&T in 1979. The name is a three letter acronym for database manager....

 libraries. In 1996 Netscape
Netscape
Netscape Communications is a US computer services company, best known for Netscape Navigator, its web browser. When it was an independent company, its headquarters were in Mountain View, California...

 requested that the authors of Berkeley DB improve and extend the library, then at version 1.86, to suit Netscape's requirements for an LDAP server and for use in the Netscape browser
Netscape (web browser)
Netscape 7 was a series of proprietary cross-platform Internet suites created by Netscape Communications Corporation and then in-house by AOL to continue the Netscape series after Netscape 6. There were three main editions released from the Netscape 7 series; being Netscape 7.0, 7.1 and 7.2...

. That request led to the creation of Sleepycat Software
Sleepycat Software
Sleepycat Software, Inc. was the company primarily responsible for maintaining the Berkeley DB packages from 1996 to 2006.Berkeley DB is a widely used and freely-licensed database software originally developed at the University of California, Berkeley for 4.4BSD Unix, and developers from that...

. This company was acquired by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

 in February 2006, which continues to develop and sell Berkeley DB.

Since its initial release, Berkeley DB has gone through various versions. Each major release cycle has introduced a single new major feature generally layering on top of the earlier features to add functionality to the product. The 1.x releases focused on managing key/value data storage and are referred to as "Data Store" (DS). The 2.x releases added a locking system enabling concurrent access to data. This is what is known as "Concurrent Data Store" (CDS). The 3.x releases added a logging system for transactions and recovery, called "Transactional Data Store" (TDS). The 4.x releases added the ability to replicate log records and create a distributed highly available single-master multi-replica database. This is called the "High Availability" (HA) feature set. Berkeley DB's evolution has sometimes led to minor API changes or log format changes, but very rarely have database formats changed. Berkeley DB HA supports online upgrades from one version to the next by maintaining the ability to read and apply the prior release's log records.

The FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

 and OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...

 operating system continue to use Berkeley DB 1.8x for compatibility reasons; Linux-based operating systems commonly include several versions to accommodate for applications still using older interfaces/files.

Berkeley DB is redistributed under the Sleepycat Public License
Sleepycat License
Sleepycat License is an OSI-approved open source license used by Oracle Corporation for the Berkeley DB, Berkeley DB Java Edition and Berkeley DB XML embedded database products...

, which is an OSI
Open Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...

-approved open source license as well as an FSF
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...

-approved free software licence
Free software licence
A free software licence is a software licence which grants recipients rights to modify and redistribute the software, which would otherwise be prohibited by copyright law. A free software licence grants, to the recipients, freedoms in the form of permissions to modify or distribute copyrighted work...

. The product ships with complete source code, build script, test suite, and documentation. The code quality and general utility along with the licensing terms have led to its use in a multitude of free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

. Those who do not wish to abide by the terms of the Sleepycat Public License have the option of purchasing another proprietary license for redistribution from Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

. This technique is called dual licensing
Dual license
Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g...

.

Berkeley DB includes compatibility interfaces for some historic Unix database libraries: dbm
Dbm
dbm was the first of a family of simple database engines, originally written by Ken Thompson and released by AT&T in 1979. The name is a three letter acronym for database manager....

, ndbm
Ndbm
ndbm is a Berkeley producedversion from 1986 of the AT&T dbm database.ndbm stores arbitrary data by use of a single key in fixed-size buckets.-Problems:The sum of the sizes of a key/content pair must not exceed the...

 and hsearch (a System V
UNIX System V
Unix System V, commonly abbreviated SysV , is one of the first commercial versions of the Unix operating system. It was originally developed by American Telephone & Telegraph and first released in 1983. Four major versions of System V were released, termed Releases 1, 2, 3 and 4...

 library for creating in-memory hash table
Hash table
In computer science, a hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys , to their associated values . Thus, a hash table implements an associative array...

s).

Architecture

Berkeley DB has an architecture notably simpler than that of other database systems like Microsoft SQL Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

 and Oracle Database
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

. For example, like SQLite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...

, it does not provide support for network access — programs access the database using in-process API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 calls. Oracle added support for SQL in 11g R2 release based on the popular SQLite API by including a version of SQLite in Berkeley DB. Consequently, as is common with SQLite, there is now 3rd Party support for PL/SQL in Berkeley DB through Metatranz StepSqlite
StepSqlite
StepSqlite is a multi-target PL/SQL compiler for the popular small database SQLite which supports a subset of Oracle PL/SQL syntax. Oracle's Berkeley DB 11g R2 release added support for SQL based on the popular SQLite API by including a version of SQLite in Berkeley DB...

.

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
ACID
In computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...

 transactions
Database transaction
A transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...

, fine-grained locking
Lock (computer science)
In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies.-Types:...

, hot backup
Backup
In information technology, a backup or the process of backing up is making copies of data which may be used to restore the original after a data loss event. The verb form is back up in two words, whereas the noun is backup....

s and replication
Replication (computer science)
Replication is the process of sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility. It could be data replication if the same data is stored on multiple storage devices, or...

.

Editions

The name Berkeley DB encompasses three different products:
  1. Berkeley DB
  2. Berkeley DB Java Edition
  3. Berkeley DB XML


Each edition has separate database libraries, despite the common branding. The first is the traditional Berkeley DB, written in C. It contains several database implementations, including a B+Tree
B-tree
In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree is a generalization of a binary search tree in that a node can have more than two children...

 and one built around extendible hashing
Extendible hashing
Extendible hashing is a type of hash system which treats a hash as a bit string, and uses a trie for bucket lookup. Because of the hierarchical nature of the system, re-hashing is an incremental operation...

.

Berkeley DB Java Edition (JE) is a pure Java database. Its design resembles 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. Since it is written in pure Java, no native code is required. It has a log structured storage architecture, which gives it different performance and concurrency characteristics. Three APIs are available—a Direct Persistence Layer which is "Plain Old Java Objects" (POJO); one which is based on the Java Collections Framework (an object persistence approach); and one based on the traditional 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
Java Native Interface
The Java Native Interface is a programming framework that enables Java code running in a Java Virtual Machine to call and to be called by native applications and libraries written in other languages such as C, C++ and assembly.-Purpose and features:JNI enables one to write native methods to...

 and thus requires an installed native library.

The Berkeley DB XML database specializes in the storage of XML documents, supporting XQuery
XQuery
- Features :XQuery provides the means to extract and manipulate data from XML documents or any data source that can be viewed as XML, such as relational databases or office documents....

 via XQilla. It is implemented as an additional layer on top of (a legacy version of) Berkeley DB and the Xerces
Xerces
Xerces is a collection of software libraries for parsing, validating, serializing and manipulating XML. The library implements a number of standard APIs for XML parsing, including DOM, SAX and SAX2. The implementation is available in Java, C++ and Perl programming languages.-External...

 library. DB XML is written in C++ and supports multiple language bindings, including C++, Java (via JNI), Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

 and Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

.

Programs that use Berkeley DB

Berkeley DB provides the underlying storage and retrieval system of several LDAP
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network...

 servers, database systems, and many other proprietary and free/open source applications. Notable software that use Berkeley DB for data storage include:
  • ARC
    Advanced Resource Connector
    Advanced Resource Connector is grid computing middleware introduced by NorduGrid. ARC is an open source software distributed under the Apache License.- History :...

     - Advanced Resource Connector open source grid middleware introduced by NorduGrid
    NorduGrid
    ] NorduGrid is a collaboration aiming at development, maintenance and support of the free Grid middleware, known as the Advanced Resource Connector .- History :...

    , use BerkeleyDB in several services.
  • Asterisk PBX
    Asterisk PBX
    Asterisk is a software implementation of a telephone private branch exchange ; it was created in 1999 by Mark Spencer of Digium. Like any PBX, it allows attached telephones to make calls to one another, and to connect to other telephone services including the public switched telephone network and...

     - A free/open source PBX.
  • Bitcoin
    Bitcoin
    Bitcoin is a decentralized, peer-to-peer network over which users make transactions that are tracked and verified through this network. The word Bitcoin also refers to the digital currency implemented as the currency medium for user transactions over this network...

     - A distributed peer-to-peer
    Peer-to-peer
    Peer-to-peer computing or networking is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged, equipotent participants in the application...

     open source digital currency
    Electronic money
    Electronic money is money or scrip that is only exchanged electronically. Typically, this involves the use of computer networks, the internet and digital stored value systems...

    .
  • Bogofilter
    Bogofilter
    Bogofilter is a mail filter that classifies e-mail as spam or ham by a statistical analysis of the message's header and content . The program is able to learn from the user's classifications and corrections. It was originally written by Eric S...

     – A free/open source spam filter that saves its wordlists using Berkeley DB.
  • Carbonado
    Carbonado (Java)
    Carbonado is an open source relational database mapping framework, written in Java. Rather than following a typical O/R mapping approach, the relational model is preserved, while still being object-oriented. Not being tied to specific features of SQL or JDBC, Carbonado also supports non-SQL...

     – An open source relational database access layer.
  • Cfengine
    Cfengine
    CFEngine is a popular open source configuration managementsystem, written by Mark Burgess.Its primary function is to provide automated configuration and...

     – A free/open source configuration management system, developed by Mark Burgess of Oslo University College.
  • Citadel
    Citadel/UX
    Citadel/UX is a collaboration suite that is descended from the Citadel family of programs which became popular in the 1980s and 1990s as a bulletin board system platform. It is designed to run on open source operating systems such as Linux or BSD...

     – A free/open source groupware platform that keeps all of its data stores, including the message base, in Berkeley DB.
  • Cyrus IMAP Server
    Cyrus IMAP server
    The Cyrus IMAP server differs from other IMAP server implementations in that it is generally intended to be run on sealed servers, where normal users cannot log in. The mail spool uses a filesystem layout and format similar to the Maildir format used by other popular email servers such as qmail,...

     – A free/open source IMAP and POP3 server, developed by Carnegie Mellon University
    Carnegie Mellon University
    Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

  • Evolution - A free/open source mail client; contacts are stored in addressbook.db using Berkley DB
  • Figaro DB - An embedded, native XML Database for the Microsoft's .NET Framework built upon Berkeley DB.
  • GlusterFS
    GlusterFS
    GlusterFS is a scale-out NAS file system developed by Gluster. It aggregates various storage servers over Ethernet or Infiniband RDMA interconnect into one large parallel network file system. GlusterFS is based on a stackable user space design without compromising performance. It has found a...

     - A cluster filesystem which leverages industry-standard commodity hardware to build highly scalable, non-stop storage systems.
  • GRAMPS
    GRAMPS
    The core export file format of Gramps is named Gramps XML and uses the file extension .gramps. It is extended from XML. Gramps XML is a free format. Gramps usually compresses Gramps XML files with gzip. The file format Portable Gramps XML Package uses the extension .gpkg and is currently a .tar.gz...

     - "Genealogical Research and Analysis Management Programming System", free genealogy software
    Genealogy software
    Genealogy software is computer software used to record, organize, and publish genealogical data. At a minimum, genealogy software collects the date and place of an individual's birth, marriage, and death, and stores the relationships of individuals to their parents, spouses, and children...

    .
  • HyperGraphDB - An open-source OO graph database based on generalized hypergraphs.
  • IPD OS - Oracle's Instantaneous Problem Detection OS Tool
  • Jabberd2
    Jabberd2
    jabberd2 is an XMPP server, written in the C language and licensed as Free software under the GNU General Public License. It was inspired by jabberd14.- Former developers :* The project leader was Justin Kirby....

     – An Extensible Messaging and Presence Protocol
    Extensible Messaging and Presence Protocol
    Extensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...

     server
  • J-ISIS (Java ISIS) - A new version of Winisis dtabase programme (of Unesco) being developed for library use
  • KDevelop
    KDevelop
    KDevelop is a free software integrated development environment for the KDE Platform on Unix-like computer operating systems. KDevelop includes no compiler. Instead, it uses an external compiler such as gcc to produce executable code....

     – An IDE
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

     for Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

     and other Unix-like
    Unix-like
    A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

     operating system
    Operating system
    An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

    s
  • KLibido
    KLibido
    KLibido is a news client for the KDE desktop, developed by Alessandro Bonometti . It supports multiple servers, multiple connections, a database back-end and mass saving of multi-part attachments encoded in uuencode, yEnc and base64; images in common formats can be viewed inline. It also supports...

     – A free/open source Newsgroup
    Newsgroup
    A usenet newsgroup is a repository usually within the Usenet system, for messages posted from many users in different locations. The term may be confusing to some, because it is usually a discussion group. Newsgroups are technically distinct from, but functionally similar to, discussion forums on...

     reader tailored for binary downloads
  • Movable Type
    Movable Type
    Movable Type is a weblog publishing system developed by the company Six Apart. It was publicly announced on September 3, 2001; version 1.0 was publicly released on October 8, 2001. On 12 December 2007, Movable Type was relicensed as free software under the GNU General Public License...

     (until version 4.0) – A proprietary weblog publishing system developed by California
    California
    California is a state located on the West Coast of the United States. It is by far the most populous U.S. state, and the third-largest by land area...

    -based Six Apart
    Six Apart
    Six Apart Ltd., sometimes abbreviated 6A, is a software company known for creating the Movable Type blogware, TypePad blog hosting service, and Vox. The company also is the former owner of LiveJournal. Six Apart is headquartered in Tokyo and is planning to open a new, U.S.-based office in New York...

  • memcachedb
    Memcachedb
    MemcacheDB is a persistence enabled variant of memcached, a general-purpose distributed memory caching system often used to speed up dynamic database-driven websites by caching data and objects in memory...

     - A persistence-enabled variant of memcached
    Memcached
    In computing, memcached is a general-purpose distributed memory caching system that was originally developed by Danga Interactive for LiveJournal, but is now used by many other sites. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the...

  • MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

     database system – Prior to v5.1, MySQL included a BDB data storage backend.
  • OpenCOBOL
    OpenCOBOL
    OpenCOBOL, is a freely available open source implementation of the COBOL programming language. Originally designed by Keisuke Nishida, the lead developer is now Roger While.-History:...

     - A free/open source COBOL implementation.
  • OpenDS
    OpenDS
    OpenDS Software is a free, open source directory service, written in Java, and developed as part of the OpenDS project. OpenDS Software implements a wide range of Lightweight Directory Access Protocol and related standards, including full compliance with LDAPv3 but also support for Directory...

     - an open source directory server.
  • OpenLDAP
    OpenLDAP
    OpenLDAP Software is a free, open source implementation of the Lightweight Directory Access Protocol developed by the OpenLDAP Project. It is released under its own BSD-style license called the OpenLDAP Public License. LDAP is a platform-independent protocol. Several common Linux distributions...

     – A free/open source implementation of the Lightweight Directory Access Protocol (LDAP)
  • Papyrus Platform
    Papyrus Platform
    The Papyrus Platform from Swiss software vendor ISIS Papyrus is a consolidated solution that brings together Adaptive Case Management , Enterprise Content Management , Business Process Management , Business Rules Management , and operational Business Intelligence .Built on its Papyrus Objects...

     – The ISIS Papyrus
    ISIS Papyrus
    ISIS Papyrus is a Swiss-based commercial software development group that sells its products in 42 countries either directly or through business partners...

     Platform uses BerkeleyDB for its distributed object-relational transaction kernel for adaptive content and process management in enterprise applications
  • PiSi – The package management system of Pardus
  • Postfix
    Postfix (software)
    In computing, Postfix is a free and open-source mail transfer agent that routes and delivers electronic mail. It is intended as a fast, easier-to-administer, and secure alternative to the widely-used Sendmail MTA....

     – A fast, secure, easy-to-administer MTA
    Mail transfer agent
    Within Internet message handling services , a message transfer agent or mail transfer agent or mail relay is software that transfers electronic mail messages from one computer to another using a client–server application architecture...

     for Linux/Unix systems
  • Redland
    Redland RDF Application Framework
    Redland is a set of free software libraries written in C that provide support for the Resource Description Framework , created by Dave Beckett .The packages that form Redland are:...

     – A RDF Application Framework can use BDB for persistent storage (triplestore)
  • RPM
    RPM Package Manager
    RPM Package Manager is a package management system. The name RPM variously refers to the .rpm file format, files in this format, software packaged in such files, and the package manager itself...

     – The RPM Package Manager uses Berkeley DB to retain its internal database of packages
    Software package (installation)
    In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....

     installed on a system
  • Scalien Keyspace - A consistently replicated, fault-tolerant key-value store
  • Source Navigator and Source Navigator NG - A source code analysis and exploration tool
  • Spamassassin
    SpamAssassin
    SpamAssassin is a computer program released under the Apache License 2.0 used for e-mail spam filtering based on content-matching rules. It is now part of the Apache Foundation....

     – An anti-spam application
  • Subversion – A version control system designed specifically to replace CVS
    Concurrent Versions System
    The Concurrent Versions System , also known as the Concurrent Versioning System, is a client-server free software revision control system in the field of software development. Version control system software keeps track of all work and all changes in a set of files, and allows several developers ...

  • Sun Grid Engine
    Sun Grid Engine
    Oracle Grid Engine, previously known as Sun Grid Engine , previously known as CODINE or GRD , is an open source batch-queuing system, developed and supported by Sun Microsystems...

     – A free and open source
    Free and open source software
    Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

     distributed resource management system.
  • SWGEmu - An open source community project aimed to develop, maintain and expand a free Pre-CU-era Star Wars Galaxies server software set.
  • Project Voldemort – A distributed database used by LinkedIn
    LinkedIn
    LinkedIn is a business-related social networking site. Founded in December 2002 and launched in May 2003, it is mainly used for professional networking. , LinkedIn reports more than 120 million registered users in more than 200 countries and territories. The site is available in English, French,...

    .
  • Wialon
    Wialon
    Wialon is a web-based GPS tracking software platform with some fleet management features, developed by a Belarusian company Gurtam. Wialon is available for both Linux and Windows operating systems...

     - a GPS tracking and fleet management software with Web-interface
  • Porcupine
    Porcupine
    Porcupines are rodents with a coat of sharp spines, or quills, that defend or camouflage them from predators. They are indigenous to the Americas, southern Asia, and Africa. Porcupines are the third largest of the rodents, behind the capybara and the beaver. Most porcupines are about long, with...

     - a Web Application Server

Licensing

Oracle Corporation makes versions 2.0 and higher of Berkeley DB available under a dual license
Dual license
Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g...

. This license is a 2-clause BSD license with an additional copyleft
Copyleft
Copyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...

 clause similar to the GNU GPL
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 version 2's Section 3, requiring source code of an application using Berkeley DB to be made available for a nominal fee.

Thus, the license depends on how a particular application that uses Berkeley DB is distributed to the public.
Software that is not distributed can use the Sleepycat License
Sleepycat License
Sleepycat License is an OSI-approved open source license used by Oracle Corporation for the Berkeley DB, Berkeley DB Java Edition and Berkeley DB XML embedded database products...

, as can free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...

.
Proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...

 can use Berkeley DB only under a commercial license agreement between Oracle and the application's publisher.

As of July 2011, Oracle's list price for commercial Berkeley DB licenses varies between 900 and 13,800 USD per processor.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK