Berkeley DB

Berkeley DB (BDB) ist eine Softwarebibliothek, die eine eingebettete Hochleistungsdatenbank für Daten des Schlüssels/Werts zur Verfügung stellt., Berkeley DB ist das am weitesten verwendete Datenbankwerkzeug in der Welt mit Hunderten von Millionen von aufmarschierten Kopien.

Berkeley DB wird in C mit der API bindings für C ++, PHP, Java, Perl, Pythonschlange, Rubin, Tcl, Plausch und die meisten anderen Programmiersprachen geschrieben. BDB versorgt willkürliche Paare des Schlüssels/Daten, weil Byte ordnet, und vielfache Datensachen für einen einzelnen Schlüssel unterstützt. Berkeley DB ist nicht eine Verwandtschaftsdatenbank. BDB kann Tausende von gleichzeitigen Fäden der Kontrolle oder gleichzeitigen Prozesse unterstützen, die Datenbanken so groß manipulieren wie 256 terabytes, auf einem großen Angebot an Betriebssystemen einschließlich des am meisten Unix ähnlichen und Windows-Systemen und Echtzeitbetriebssystemen. Berkeley DB wird auch als die gemeinsame Bezeichnung für drei verschiedene Produkte verwendet; Oracle Berkeley DB, Ausgabe von Berkeley DB Java und Berkeley DB XML. Diese drei Produkte der ganze Anteil eine allgemeine Herkunft und sind zurzeit unter der aktiven Entwicklung an Oracle Corporation.

Ursprung

Berkeley DB ist an der Universität Kaliforniens, Berkeley als ein Teil des Übergangs (1986 bis 1994) von 4.3BSD bis 4.4BSD und von der Anstrengung entstanden, AT&T-encumbered Code umzuziehen. Der erste Code, wegen Seltzer und Yigit, versucht, um eine Plattenhash-Tabelle zu schaffen, die besser geleistet hat als einige der vorhandenen Bibliotheken von Dbm. 1996 hat Netscape gebeten, dass die Autoren von Berkeley DB verbessern und die Bibliothek dann an der Version 1.86 erweitern, um den Voraussetzungen von Netscape für einen LDAP Server und für den Gebrauch im Browser von Netscape anzupassen. Diese Bitte hat zur Entwicklung der Sleepycat Software geführt. Diese Gesellschaft wurde von Oracle Corporation im Februar 2006 erworben, die fortsetzt, zu entwickeln und Berkeley DB zu verkaufen.

Seit seiner anfänglichen Ausgabe ist Berkeley DB verschiedene Versionen durchgegangen. Jeder Hauptausgabe-Zyklus hat eine einzelne neue Haupteigenschaft allgemein layering oben auf den früheren Eigenschaften eingeführt, um Funktionalität zum Produkt hinzuzufügen. 1.x haben sich Ausgaben auf Betriebsdatenlagerung des Schlüssels/Werts konzentriert und werden "Datenladen" (DS) genannt. 2.x haben Ausgaben ein sich schließen lassendes System hinzugefügt, das gleichzeitigen Zugang zu Daten ermöglicht. Das ist, was als "Gleichzeitiger Datenladen" (CDS) bekannt ist. 3.x haben Ausgaben ein Protokollierungssystem für Transaktionen und Wiederherstellung, genannt "Transactional Datenladen" (TDS) hinzugefügt. 4.x haben Ausgaben die Fähigkeit hinzugefügt, Klotz-Aufzeichnungen zu wiederholen und eine verteilte hoch verfügbare Mehrreplik-Datenbank des einzelnen Masters zu schaffen. Das wird die "Hohe Verfügbarkeit" (HA) Merkmalsreihe genannt. Die Evolution von Berkeley DB hat manchmal zu geringen API-Änderungen oder Klotz-Format-Änderungen geführt, aber ließ sehr selten Datenbankformate ändern. Berkeley DB HA unterstützt Online-Steigungen von einer Version bis das folgende, indem er die Fähigkeit aufrechterhält, die Klotz-Aufzeichnungen der vorherigen Ausgabe zu lesen und anzuwenden.

FreeBSD und OpenBSD Betriebssystem setzen fort, Berkeley DB 1.8x aus Vereinbarkeitsgründen zu verwenden; mit Sitz in Linux Betriebssysteme schließen allgemein mehrere Versionen ein, um sich für Anwendungen noch mit älteren Schnittstellen/Dateien einzustellen.

Berkeley DB wird laut der Sleepycat Öffentlichen Lizenz neu verteilt, die eine OSI-genehmigte offene Quelllizenz sowie eine FSF-genehmigte Lizenz der kostenlosen Software ist. Die Produktschiffe mit dem ganzen Quellcode, bauen Sie Schrift, prüfen Sie Gefolge und Dokumentation. Die Codequalität und das allgemeine Dienstprogramm zusammen mit den Genehmigen-Begriffen haben zu seinem Gebrauch in einer Menge der freien und offenen Quellsoftware geführt. Diejenigen, die bei den Begriffen der Sleepycat Öffentlichen Lizenz nicht bleiben möchten, haben die Auswahl, eine andere Eigentumslizenz für die Neuverteilung von Oracle Corporation zu kaufen. Diese Technik wird das Doppelgenehmigen genannt.

Berkeley DB schließt Vereinbarkeitsschnittstellen für einige historische Datenbankbibliotheken von Unix ein: Dbm, ndbm und hsearch (ein System V Bibliothek, um Hash-Tabellen im Gedächtnis zu schaffen).

Architektur

Berkeley DB hat eine Architektur, die namentlich einfacher ist als dieses anderer Datenbanksysteme wie Microsoft SQL Server und Orakel-Datenbank. Zum Beispiel, wie SQLite, stellt es Unterstützung für den Netzzugang nicht zur Verfügung — Programme greifen auf die Datenbank mit API-Anrufen im Prozess zu. Orakel hat Unterstützung für SQL in 11g R2 Ausgabe hinzugefügt, die auf der populären SQLite API durch das Umfassen einer Version von SQLite in Berkeley DB gestützt ist. Es gibt Drittunterstützung für PL/SQL in Berkeley DB über ein kommerzielles Produkt genannt Metatranz StepSqlite.

Ein Programm, das auf die Datenbank zugreift, ist frei zu entscheiden, wie die Daten in einer Aufzeichnung versorgt werden sollen. Berkeley DB stellt keine Einschränkungen auf die Daten der Aufzeichnung. Die Aufzeichnung und sein Schlüssel können beide bis zu vier Gigabytes lang sein.

Trotz, eine einfache Architektur zu haben, unterstützt Berkeley DB viele fortgeschrittene Datenbankeigenschaften wie SAURE Transaktionen, feinkörnige Blockierung, heiße Unterstützungen und Erwiderung.

Ausgaben

Der Name Berkeley DB umfasst drei verschiedene Produkte:

  1. DB von Berkeley
  2. DB von Berkeley javanische Ausgabe
  3. DB von Berkeley XML

Jede Ausgabe hat getrennte Datenbankbibliotheken trotz des allgemeinen Einbrennens. Das erste ist der traditionelle Berkeley DB, der in C geschrieben ist. Es enthält mehrere Datenbankdurchführungen, einschließlich eines B-Baums und einen gebauten um ausdehnbaren hashing.

Berkeley DB Java Edition (JE) ist eine reine Datenbank von Java. Sein Design ähnelt dem von Berkeley DB, ohne es genau zu wiederholen, und hat eine Merkmalsreihe, die viele von denjenigen einschließt, die im traditionellen Berkeley DB und anderen gefunden sind, die zur Ausgabe von Java spezifisch sind. Da es im reinen Java geschrieben wird, ist kein heimischer Code erforderlich. Es hat strukturierte Lagerungsarchitektur eines Klotzes, die ihm verschiedene Leistung und Parallelitätseigenschaften gibt. Drei APIs sind — eine Direkte Fortsetzungsschicht verfügbar, die "Einfache Alte Gegenstände von Java" (POJO) ist; derjenige, der auf dem Sammlungsfachwerk von Java (eine Gegenstand-Fortsetzungsannäherung) basiert; und ein gestützter auf dem traditionellen Berkeley DB API. Die Ausgabe von Berkeley DB Java Hohe Verfügbarkeitsauswahl (Erwiderung) ist verfügbar. Bemerken Sie, dass traditioneller Berkeley DB auch einen Java API unterstützt, aber es tut so über JNI und verlangt so eine installierte geborene Bibliothek.

Der Berkeley DB XML Datenbank spezialisiert sich auf die Lagerung von XML Dokumenten, XQuery über XQilla unterstützend. Es wird als eine zusätzliche Schicht oben auf (eine Vermächtnis-Version) Berkeley DB und die Bibliothek von Xerces durchgeführt. DB wird XML in C ++ geschrieben und unterstützt vielfache Sprache bindings, einschließlich C ++, Java (über JNI), Perl und Python.

Programme dieser Gebrauch Berkeley DB

Berkeley DB stellt das zu Grunde liegende Lagerungs- und Wiederauffindungssystem von mehreren LDAP Servern, die Datenbanksysteme, und vielen anderen freien/offenen und Eigentumsquellanwendungen zur Verfügung. Bemerkenswerte Software, die Berkeley DB für die Datenlagerung verwenden, schließt ein:

  • KREISBOGEN - Fortgeschrittener Quellenstecker offener Quellbratrost middleware eingeführt von NorduGrid, verwenden Sie BerkeleyDB in mehreren Dienstleistungen.
  • Sternchen PBX - Eine freie/offene Quelle PBX.
  • Bitcoin - Eine verteilte Gleicher-zu-Gleicher-offene Quelle Digitalwährung.
  • Bogofilter - Eine freie/offene Quelle spam Filter, der seinen wordlists verwendender Berkeley DB spart.
  • Carbonado - Eine offene Quelle Verwandtschaftsdatenbankzugriffsschicht.
  • Cfengine - Ein freies/offenes Quellkonfigurationsverwaltungssystem, das vom Zeichen-Bürger der Osloer Universität Universität entwickelt ist.
  • Zitadelle - Eine freie/offene Quellgroupware-Plattform, die alle seine Datenläden einschließlich der Nachrichtenbasis in Berkeley DB behält.
  • Cyrus IMAP Server - Eine freie/offene Quelle IMAP und POP3 Server, der von der Universität von Carnegie Mellon entwickelt ist
  • Evolution - Ein freier/offener Quellpostkunde; Kontakte werden in addressbook.db verwendender Berkley DB versorgt
  • Figaro DB - Eine eingebettete, heimische XML Datenbank für das.NET Fachwerk des Microsofts auf Berkeley DB gebaut.
  • GlusterFS - Eine Traube filesystem der Einfluss-Industriestandard Warenhardware, um hoch ersteigbare, pausenlose Lagerungssysteme zu bauen.
  • GRAMPS - "Genealogisches Forschungs- und Analyse-Verwaltungsprogrammiersystem", freie Genealogie-Software.
  • HyperGraphDB - Eine offene Quelle OO Graph-Datenbank auf verallgemeinerten Hypergraphen gestützt.
  • IPD OS - die sofortige Problem-Entdeckung des Orakels OS Werkzeug
  • Jabberd2 - Ein Ausziehbarer Nachrichtenübermittlungs- und Anwesenheitsprotokoll-Server
  • J-ISIS (Java ISIS) - Eine neue Version des Programmes von Winisis dtabase (der UNESCO), für die Bibliothek entwickelt werden, verwenden
  • KDevelop - Ein IDE für Linux und andere Unix ähnliche Betriebssysteme
  • KLibido - Eine freie/offene Quelle Leser von Newsgroup, der für binäre Downloads geschneidert ist
  • Beweglicher Typ (bis zur Version 4.0) - Ein Eigentumsweblog das Veröffentlichen des Systems, das durch mit Sitz in Kalifornien Sechs Einzeln entwickelt ist
  • memcachedb - Eine Fortsetzungsermöglichte Variante von memcached
  • Datenbanksystem von MySQL - Vor v5.1 hat MySQL eine BDB Datenlagerung backend eingeschlossen.
  • OpenCOBOL - Eine freie/offene Quell-COBOL-Durchführung.
  • OpenDS - ein offener Quellverzeichnisserver.
  • OpenLDAP - Eine freie/offene Quelldurchführung von Lightweight Directory Access Protocol (LDAP)
  • Papyrus-Plattform - Die ISIS Papyrus-Plattform verwendet BerkeleyDB für seinen verteilten mit dem Gegenstandverwandtschaftstransaktionskern für die anpassungsfähige zufriedene und Prozesssteuerung in Unternehmensanwendungen
  • PiSi - Das Paket-Verwaltungssystem von Pardus
  • Postüble Lage - Ein schneller, sicheres, easy-administer MTA für Linux/Unix Systeme
  • Parallel Virtual File System (PVFS) - Ein paralleles Dateisystem für HPC Trauben.
  • Redland - Ein RDF Anwendungsfachwerk kann BDB für die beharrliche Lagerung (triplestore) verwenden
  • RPM - Der RPM Paket-Betriebsleiter verwendet Berkeley DB, um seine innere Datenbank von Paketen zu behalten, die auf einem System installiert sind
  • Scalien Keyspace - Ein durchweg wiederholter, mit der Schuld toleranter Schlüsselwert-Laden
  • Quellnavigator und Quellnavigator NG - Ein Quellcodeanalyse- und Erforschungswerkzeug
  • Spamassassin - Eine anti-spam Anwendung
  • Secondo - ein ausziehbares Datenbanksystem
  • Umsturz - Ein Versionsregelsystem hat spezifisch vorgehabt, CVS zu ersetzen
  • Sonne-Bratrost-Motor - Eine freie und offene Quelle hat Quellenverwaltungssystem verteilt.
  • SWGEmu - Ein offenes Quellgemeinschaftsprojekt hat zum Ziel gehabt, einen freien Pre-CU-era Milchstraße-Server-Softwaresatz der Star Wars zu entwickeln, aufrechtzuerhalten und auszubreiten.
  • Projekt Voldemort - Eine verteilte Datenbank von LinkedIn verwendet.
  • Wialon - ein GPS-Verfolgen und Flotteverwaltungssoftware mit der Webschnittstelle
  • BIMserver.org - eine offene Quelle, die Informationsmusterserver für IFC Modelle Baut.
  • Stachelschwein - ein Webanwendungsserver

Das Genehmigen

Oracle Corporation macht Versionen 2.0 und höher laut einer Doppellizenz verfügbaren Berkeley DB. Diese Lizenz ist eine 2-Klauseln-BSD-Lizenz mit einer zusätzlichen copyleft Klausel, die dem GNU GPL Abschnitt 3 der Version 2 ähnlich ist, Quellcode einer Anwendung mit Berkeley DB verlangend, um für eine nominelle Gebühr bereitgestellt zu werden.

So hängt die Lizenz ab, wie eine besondere Anwendung, die Berkeley DB verwendet, zum Publikum verteilt wird.

Software, die nicht verteilt wird, kann die Sleepycat-Lizenz verwenden, wie befreien und Quellsoftware öffnen kann.

Eigentumssoftware kann Berkeley DB nur laut eines kommerziellen Lizenzvertrags zwischen dem Orakel und dem Herausgeber der Anwendung verwenden.

Bezüglich des Julis 2011 ändert sich der Katalogpreis des Orakels für kommerzielle Lizenzen von Berkeley DB zwischen 900 und 13,800 US-Dollars pro Verarbeiter.

Siehe auch

Außenverbindungen


Benjamin Tucker / Kampf von Tannenberg
Impressum & Datenschutz