Zum Inhalt springen

Berkeley DB

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 29. Mai 2025 um 07:12 Uhr durch imported>Eriosw (fix language).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Berkeley DB

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Oracle
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem unixoide, Windows
Programmier­sprache C
Kategorie Datenbankmanagementsystem
Lizenz Duales Lizenzsystem (Kommerziell und GNU AGPL v3.0, vor 6.0.20 Sleepycat)
https://www.oracle.com/database/berkeley-db/index.html

Die Berkeley-Datenbank (Berkeley DB) ist eine eingebettete Datenbank-Bibliothek mit Programmierschnittstellen zu C, C++, Java, Perl, Python, Tcl und weiteren Programmiersprachen.

Geschichte

Die Berkeley DB entstand ab dem Jahr 1991 an der University of California, Berkeley, und wurde im Jahr 1992 als Berkeley DB 1.85 mit der Berkeley Software Distribution (BSD) veröffentlicht.<ref name="Seltzer IEEE">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Berkeley DB: A Retrospective.] (PDF; 72 KB) IEEE, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 17. Februar 2015 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Im Jahr 1996 folgte die Berkeley DB 1.86 aus Harvard für Kerberos, ein Vertrag der ursprünglichen Entwickler mit Netscape, und deren Gründung von Sleepycat Software.<ref name="Bostic Seltzer">Berkeley DB. In: The Architecture of Open Source Applications. Volume I (Online).</ref> 2006 wurde Sleepycat durch Oracle aufgekauft.<ref>Oracle Buys Open Source Software Company Sleepycat (englisch)</ref>

Eigenschaften

Berkeley DB läuft auf einer großen Anzahl von Betriebssystemen, unter anderem auf den meisten unixartigen und Windows-Systemen und auch Echtzeitbetriebssystemen. Für die Verwendung in Java-Systemen wird eine Berkeley DB Java Edition angeboten, die als einzelne JAR-Datei in einer virtuellen Java-Maschine eingebunden werden kann. Sie bietet dieselben Funktionen wie die in C geschriebene Berkeley DB. Die Berkeley DB enthält Kompatibilitätsschnittstellen für einige historische Unix-Datenbankbibliotheken wie dbm, ndbm und hsearch.

Die Berkeley DB speichert Datensätze bestehend aus einem Schlüssel- und einem Datenteil. Eine weitere Strukturierung der Daten als einzelne Tabellenspalten mit bestimmten Datentypen wird nicht unterstützt.

Berkeley DB XML ist eine Schnittstelle, die die Speicherung von XML-Daten in der in C geschriebenen Berkeley DB unterstützt. Dadurch können XML-Dokumente geparst und die Abfrage-Sprachen XPath und XQuery für Datenzugriffe genutzt werden.

Ab der Version 11G gibt es eine SQLite-kompatible SQL-Schnittstelle, mit der auf die gespeicherten Daten zugegriffen werden kann. Berkeley DB ist ausschließlich für die Verwendung als Eingebettetes Datenbanksystem konzipiert. Programme können die Datenbank nur durch prozessinterne API-Aufrufe verwenden, vergleichbar mit Zugriffen auf ein Dateisystem. Dadurch unterliegen die Programme, die die Berkeley DB als Datenspeicher verwenden, keinen Einschränkungen, in welcher Weise die Daten in einem Datensatz abgelegt werden. Ein Datensatz und sein zugehöriger Schlüssel kann bis zu vier Gigabyte groß sein. Eine Tabelle kann bis zu 256 Terabyte Speicher belegen.

Im Gegensatz zu einem Dateisystem bietet die Berkeley DB viele Funktionen, die ein Datenbanksystem charakterisieren. Sie bietet simultane Threads zum Manipulieren der Daten. Sie bietet Transaktionssicherheit für lesende und schreibende Zugriffe, Lock-Mechanismen, eine XA-Schnittstelle, Backups zur Laufzeit (Hot-Backup) und Replikation.

Die Berkeley DB benutzt denselben Adressraum, den auch die Anwendung verwendet, in die die Datenbank eingebettet ist. Das bedeutet einen Performance-Vorteil gegenüber großen Server-DBMS, die die angeforderten Daten vom permanenten Speichermedium erst in den eigenen Arbeitsspeicher lesen müssen und dann an den Adressraum der Anwendung übergeben muss. Mit einer Größe des Maschinencodes von weniger als 500 kB eignet sich die Berkeley DB auch gut für den Einsatz in Systemen mit einer schwachen Rechnerleistung.

Berkeley DB bietet zwar selbst keine Schnittstellen für Netzwerk-Zugriffe, besitzt aber Replikations-Funktionen für den Einsatz z. B. auf Bladeservern. Ein Blade-Computer fungiert dabei als Master, der Datenänderungen entgegennimmt und diese auf die Replika-Blades verteilt. Dadurch entsteht eine hohe Ausfallsicherheit des Gesamtsystems. Nach Angaben des Herstellers kann durch die Replikation eine Verfügbarkeit von 99,999 % des Gesamtsystems erreicht werden.

Weil die Berkeley DB nicht den Overhead einer großen Server-DB hat, ist auch die erforderliche Administration sehr einfach. Die Datenbank kann sehr variabel konfiguriert werden. Sie ist besonders gut geeignet für den Einsatz in geschlossenen Systemen, die überhaupt keine Administration erfordern bzw. ermöglichen. Bei einem Fehler des Systems startet sich das System selbständig neu und die Betriebsfähigkeit ist in den meisten Fällen wiederhergestellt.

Nutzer

Berkeley DB wird nach Angaben von Oracle mehr als 200 Millionen Mal eingesetzt,<ref>Oracle Unveils Oracle Berkeley DB Release 4.5 (englisch)</ref> unter anderem von namhaften Telekommunikations-, Netzwerk- und Hardwareanbietern:

Berkeley DB wird häufig in folgenden Systemen eingesetzt:

Nachfolgend eine Liste von beachtenswerten Programmen, die Berkeley DB zur Datenspeicherung verwenden:

Die folgenden Programme haben Berkeley DB in der Vergangenheit zur Datenspeicherung verwendet. Die Unterstützung soll jedoch in künftigen Versionen aufgegeben werden oder wurde bereits aufgegeben:

Lizenzierung

Die Versionen 2.0 und höher von Berkeley DB sind unter einer Duallizenz verfügbar.<ref>Oracle Berkeley DB Licensing Information (englisch)</ref> Man hat die Wahl zwischen einer kommerziellen Lizenz und der Sleepycat, einer Open-Source-Lizenz. Nutzer, die die DB mit proprietärer Software ausliefern wollen, müssen sich lizenzieren lassen. Die Kosten belaufen sich dabei bei lebenslangen Lizenzen je nach Version pro Prozessor zwischen 180 USD und 13.800 USD (Stand September 2014) und enthalten lebenslange Updates sowie ein Jahr Support.<ref>Oracle Product Store</ref>

Ab der Version 6.0 lizenziert Oracle alle Produkte der Berkeley DB Reihe unter der GNU AGPL v3.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Major Release: Berkeley DB 12gR1 (12.1.6.0).] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. September 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Oracle switches Berkeley DB license, 5. Juli 2013</ref>

Die Versionen vor 2.0 stehen unter der BSD-Lizenz, womit sie auch kommerziell frei genutzt werden können.

Einzelnachweise

<references />

Weblinks