Das Kefk Network Wiki befindet sich im Testbetrieb.
Berkeley DB
Aus Kefk.
| Berkeley DB | |
|---|---|
| Entwickler: | Oracle |
| Aktuelle Version: | 5.4 |
| Betriebssystem: | Unix, Linux, Windows, AIX,Sun Solaris, SCO Unix, Mac OS |
| Kategorie: | Datenbankmanagementsystem |
| Lizenz: | Duales Lizenzsystem (Kommerziell und GPL Version 2) |
| Website: | www.oracle.com/database/berkeley-db/db/index.html |
Die Berkeley-Datenbank (Berkeley DB) ist eine hochperformante, eingebettete Datenbank-Bibliothek mit Programmierschnittstellen zu C, C++, Java, Perl, Python, Tcl und vielen weiteren Programmiersprachen.
Die Berkeley DB wurde von Sleepycat Software entwickelt. Am 14. Februar 2006 wurde Sleepycat durch Oracle aufgekauft[1] zur Bereicherung der Embedded Database Produktlinie.
Inhaltsverzeichnis |
Eigenschaften
Berkeley DB läuft auf einer großen Anzahl von Betriebssystemen, unter anderem auf den meisten UNIX-artigen und Windows-Systemen und auch Echtzeitbetriebssystemen.
Die Berkeley DB enthält Kompatibilitätsschnittstellen für einige historische UNIX Datenbank-Bibliotheken wie dbm, ndbm und hsearch.
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 die selben Funktionen wie die in C geschriebene Berkeley DB.
Berkeley DB XML ist ein Interface, dass die Speicherung von XML-Daten in der in C geschriebenen Berkeley DB unterstützt. Dadurch können XML-Dokumente geparst werden, und die Abfrage-Sprachen XPath und XQuery für Datenzugriffe genutzt werden.
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.
Es gibt keine 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, keiner Einschschränkung, 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. Die Größe einer Tabelle kann bis zu 256 Terabyte groß sein.
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 den selben 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 500KB eignet sich die Berkeley DB auch gut für den Einsatz in Systemen mit einer schwachen Rechner-Leistung.
Berkeley DB bietet zwar selber 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 99,999%ige Verfügbarkeit des Gesamtsystems erreicht werden.
Weil die Berkerley 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 wieder hergestellt.
Produkte, die Berkeley DB verwenden
Berkeley DB wird nach Angaben von Oracle mehr als 200 Millionen mal eingesetzt.[2] Darunter von namhaften Telekommunikations-, Netzwerk- und Hardwareanbietern wie Cisco Systems, Motorola, Sun Microsystems und Hewlett Packard sowie den Internetunternehmen Google, Amazon, AOL und Yahoo!.
Berkeley DB wird häufig in folgenden Systemen eingesetzt:
- E-Mail-Server
- Switch
- Router
- Smartphone
- WAP-Gateway
- MP3-Player
Nachfolgend eine Liste von beachtenswerten Programmen, die Berkeley DB zur Datenspeicherung verwenden:
- MySQL Datenbanksystem – Ein multithreaded, Mehrbenutzer-, SQL-Datenbankmanagementsystem (DBMS) mit geschätzten sechs Millionen Installationen
- KDevelop – Eine freie C- und C++-IDE für Linux und andere Unix-artige Betriebssysteme
- Movable Type – Ein proprietäres Weblog-Publikationssystem, das vom in Kalifornien ansässigen Six Apart entwickelt worden ist
- Caravel CMS – Ein Open-Source-Content-Management-System, das ursprünglich für die über 2000 Organisationen der Mennoniten entwickelt worden ist
- OpenLDAP – Eine freie Open-Source-Implementatierung des Lightweight Directory Access Protocol (LDAP)
- KLibido – Ein freier Open-Source-Newsgroup-Reader für Binary-Downloads
- Citadel – Ein freies Open Source Groupware- und BBS-System
- Subversion – eine Open-Source-Software zur Versionsverwaltung
- Datenspeicher im Motorola A768 Smartphone
Lizenzierung
Die Versionen 2.0 und höher von Berkeley DB sind unter einer Duallizenz[3] verfügbar: Einerseits ist Berkeley DB ist mit ihrem Quelltext unter einer Freien-Software-Lizenz erhältlich. Nutzer, die die DB mit proprietärer Software ausliefern wollen, müssen sie lizenzieren.
Die Versionen vor 2.0 stehen unter der BSD-Lizenz, womit sie auch kommerziell frei genutzt werden können.
Quellen
- ↑ Pressemitteilung zum Kauf durch Oracle
- ↑ http://www.oracle.com/corporate/press/2006_sep/oracle_bdb_4-5.html
- ↑ siehe Oracle Berkeley DB Licensing Information (engl.) bei Oracle.com
Weblinks
- Oracle-Webseite zum Produkt Berkeley DB
- White paper: A Comparison of Oracle Berkeley DB and Relational Database Management Systems
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Berkeley_DB, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
