Berkeley DB

From Wikipedia, the free encyclopedia

(Redirected from BerkeleyDB)
Jump to: navigation, search

Berkeley DB (BDB) is a high-performance, embedded database library with bindings in C, C++, Java, Perl, Python, Ruby, Tcl, Smalltalk and many other programming languages. BDB stores arbitrary key/data pairs as byte arrays, and supports multiple data items for a single key. BDB can support thousands of simultaneous threads of control or concurrent processes manipulating databases as large as 256 terabytes, on a wide variety of systems including most UNIX-like and Windows systems as well as real-time operating systems.

Contents

Berkeley DB was first developed at U.C. Berkeley as part of the transition from BSD 4.3 to 4.4 and the effort to remove AT&T encumbered code. In 1996 the authors of Berkeley DB were asked by Netscape to improve and extend the library, then version 1.85, to suit their requirements for an LDAP server[1] and for use in the Netscape browser. That request led to the creation of Sleepycat Software, which was then acquired by Oracle Corporation in February 2006. Berkeley DB is redistributed under the Sleepycat Public License, an OSI and FSF approved license. The product ships with complete source code, build tools, test suite, and documentation. The code quality and general utility along with the free software/open source license has led to its use in a multitude of free software/open source programs. Those who don't wish to abide by the terms of the Sleepycat Public License have the option of purchasing another proprietary license for redistribution from Oracle Corporation. This technique is called dual licensing.

Berkeley DB includes compatibility interfaces for some historic UNIX database libraries: dbm, ndbm and hsearch.

Berkeley DB is notable for having a simple architecture compared with other database systems like Microsoft SQL Server and Oracle. For example, it does not provide support for network access — programs access the database using in-process API calls. It does not support SQL or any other query language, nor does it support table schema or table columns. 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 transactions, fine-grained locking, an XA interface, hot backups and replication.

Berkeley DB is the underlying storage system of several LDAP servers, database systems, and many other proprietary and free/open source applications. Below is a list of notable programs that use Berkeley DB for data storage.

Versions 2.0 and higher of Berkeley DB are available under a dual license. Versions earlier than 2.0 are available under a BSD-like license that has an unusual additional clause similar to the GNU GPL version 2's Section 3.

The Sleepycat Public License requires that software that uses the Berkeley DB code be free/open source software (under an approved OSI license) to allow redistribution. Alternatively, if the application using the Sleepycat licensed code is not redistributed (see the GPL's definition of 'redistribution') then the Sleepycat license terms are not broken. If a given application is using Berkeley DB and redistributing it under a non-free/closed source license then the publisher of that application is in violation of the Sleepycat Public License and must negotiate a new license allowing those rights from the copyright holder (in this case Oracle).

[[Image:|32x28px]]
Free Software Portal

  1. ^ Brunelli, Mark. "A Berkeley DB primer", Enterprise Linux News, March 28, 2005. Accessed October 18, 2007.
Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.