Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Berkeley DB
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Origin== Berkeley DB originated at the [[University of California, Berkeley]] as part of [[Berkeley Software Distribution|BSD]], Berkeley's version of the [[Unix]] operating system. After 4.3BSD (1986), the BSD developers attempted to remove or replace all code originating in the original [[AT&T Corporation|AT&T]] Unix from which BSD was derived. In doing so, they needed to rewrite the Unix database package.<ref name="freenix">{{cite conference |last1=Olson |first1=Michael A. |last2=Bostic |first2=Keith |last3=Seltzer |first3=Margo |title=Berkeley DB |book-title=Proc. FREENIX Track, USENIX Annual Tech. Conf. |year=1999 |url=http://www.usenix.org/events/usenix99/full_papers/olson/olson.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.usenix.org/events/usenix99/full_papers/olson/olson.pdf |archive-date=2022-10-09 |url-status=live |access-date=October 20, 2009}}</ref> Seltzer and Yigit<ref>{{cite conference |last1=Seltzer |first1=Margo |last2=Yigit |first2=Ozan |title=A New Hashing Package for UNIX |book-title=Proc. USENIX Winter Tech. Conf. |year=1991 |url=http://www.eecs.harvard.edu/margo/papers/usenix91/paper.ps |access-date=October 20, 2009}}</ref> created a new database, unencumbered by any AT&T patents: an on-disk [[hash table]] that outperformed the existing [[DBM (computing)|dbm]] libraries. Berkeley DB itself was first released in 1991 and later included with 4.4BSD.{{r|freenix}} In 1996 [[Netscape]] 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<ref>{{cite news |last=Brunelli |first=Mark |url=http://searchenterpriselinux.techtarget.com/originalContent/0,289142,sid39_gci1071880,00.html |title=A Berkeley DB primer |journal=Enterprise Linux News |date=March 28, 2005 |access-date=December 28, 2008 |archive-date=September 6, 2008 |archive-url=https://web.archive.org/web/20080906125402/http://searchenterpriselinux.techtarget.com/originalContent/0,289142,sid39_gci1071880,00.html |url-status=dead }}</ref> and for use in the [[Netscape (web browser)|Netscape browser]]. That request led to the creation of [[Sleepycat Software]]. This company was acquired by [[Oracle Corporation]] in February 2006.<ref>{{Cite web |title=Getting To Know Berkeley DB Java Edition |url=https://objectcomputing.com/resources/publications/sett/november-2006-getting-to-know-berkeley-db-java-edition |access-date=2025-03-07 |website=objectcomputing.com |language=en}}</ref> Berkeley DB 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.{{Cn|date=March 2025}} Starting with the 6.0.21 (Oracle 12c) release, all Berkeley DB products are licensed under the [[GNU Affero General Public License|GNU AGPL]].<ref>[https://oss.oracle.com/pipermail/bdb/2013-June/000056.html [Berkeley DB Announce] Major Release: Berkeley DB 12gR1 (12.1.6.0)]. Retrieved July 5, 2013. (Despite AGPL mentions there, the source archive still declares BSD-4-Clause terms in 6.0.19.)</ref><ref>{{cite web| url = https://build.opensuse.org/package/show/devel:libraries:c_c++/libdb-6_0?rev=2| title = Snapshot of the 6.0.19 source at the time| date = 13 June 2013}}</ref> Previously, Berkeley DB was redistributed under the 4-clause [[BSD license]] (before version 2.0), and the Sleepycat Public License, which is an [[Open Source Initiative|OSI]]-approved [[open-source license]] as well as an [[Free Software Foundation|FSF]]-approved [[free software license]].<ref>{{cite web|url=http://www.opensource.org/licenses/sleepycat.php |title=The Sleepycat License | publisher=[[Open Source Initiative]] |date=October 31, 2006 |access-date=December 28, 2008}}</ref><ref>{{cite web |url=http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses |title=Licenses |publisher=[[Free Software Foundation]] |date=December 10, 2008 |access-date=December 28, 2008 |url-status=dead |archive-url=https://web.archive.org/web/20081216005913/http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses |archive-date=December 16, 2008 }}</ref> The product ships with complete source code, build script, test suite, and documentation. The comprehensive feature along with the licensing terms have led to its use in a multitude of [[free and open-source software]]. Those who do not wish to abide by the terms of the GNU AGPL, or use an older version with the Sleepycat Public License, have the option of purchasing another [[proprietary software license|proprietary license]] for redistribution from [[Oracle Corporation]]. This technique is called [[Dual license|dual licensing]]. Berkeley DB includes compatibility interfaces for some historic Unix database libraries: [[DBM (computing)|dbm]], ndbm and hsearch (a [[UNIX System V|System V]] and [[POSIX]] library for creating in-memory [[hash table]]s).<ref>{{Cite web|url=https://docs.oracle.com/cd/E17276_01/html/programmer_reference/program_compatible.html|title=Compatibility with historic UNIX interfaces|website=docs.oracle.com|access-date=2019-11-20}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)