[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki19\/2021\/01\/26\/berkeley-db-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki19\/2021\/01\/26\/berkeley-db-wikipedia\/","headline":"Berkeley DB – Wikipedia","name":"Berkeley DB – Wikipedia","description":"before-content-x4 Softwarebibliothek mit eingebetteter Datenbank f\u00fcr Schl\u00fcssel- \/ Wertdaten Berkeley DB ((BDB) ist eine Softwarebibliothek, die eine leistungsstarke eingebettete Datenbank","datePublished":"2021-01-26","dateModified":"2021-01-26","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki19\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki19\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/wiki19\/2021\/01\/26\/berkeley-db-wikipedia\/","wordCount":4356,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4Softwarebibliothek mit eingebetteter Datenbank f\u00fcr Schl\u00fcssel- \/ Wertdaten Berkeley DB ((BDB) ist eine Softwarebibliothek, die eine leistungsstarke eingebettete Datenbank f\u00fcr Schl\u00fcssel- \/ Wertdaten bereitstellen soll. Berkeley DB ist in C mit API-Bindungen f\u00fcr C ++, C #, Java, Perl, PHP, Python, Ruby, Smalltalk, Tcl und viele andere Programmiersprachen geschrieben. BDB speichert beliebige Schl\u00fcssel \/ Daten-Paare als Byte-Arrays und unterst\u00fctzt mehrere Datenelemente f\u00fcr einen einzelnen Schl\u00fcssel. Berkeley DB ist keine relationale Datenbank,[2] Obwohl es erweiterte Datenbankfunktionen wie Datenbanktransaktionen, Multiversion-Parallelit\u00e4tskontrolle und Write-Ahead-Protokollierung bietet.BDB kann Tausende von gleichzeitigen Steuerungs-Threads oder gleichzeitigen Prozessen unterst\u00fctzen, die Datenbanken mit einer Gr\u00f6\u00dfe von bis zu 256 Terabyte bearbeiten.[3] auf einer Vielzahl von Betriebssystemen, einschlie\u00dflich der meisten Unix-\u00e4hnlichen und Windows-Systeme sowie Echtzeit-Betriebssysteme.BDB wurde von 1996 bis 2006 von Sleepycat Software kommerziell unterst\u00fctzt und entwickelt. Dieses Unternehmen wurde im Februar 2006 von der Oracle Corporation \u00fcbernommen, die weiterhin Berkeley DB-Produkte entwickelt und verkauft. Ab 2020 entwickelt Bloomberg LP unter der urspr\u00fcnglichen zul\u00e4ssigen Sleepycat-Softwarelizenz weiterhin einen BDB-Zweig in seiner Comdb2-Datenbank. Berkeley DB entstand an der University of California in Berkeley als Teil von BSD, Berkeleys Version des Unix-Betriebssystems. Nach 4.3BSD (1986) versuchten die BSD-Entwickler, den gesamten Code zu entfernen oder zu ersetzen, der aus dem urspr\u00fcnglichen AT & T Unix stammt, von dem BSD abgeleitet wurde. Dabei mussten sie das Unix-Datenbankpaket neu schreiben.[4] Seltzer und Yigit[5] hat eine neue Datenbank erstellt, die nicht durch AT & T-Patente belastet ist: eine On-Disk-Hash-Tabelle, die die vorhandenen DBM-Bibliotheken \u00fcbertrifft. Berkeley DB selbst wurde erstmals 1991 ver\u00f6ffentlicht und sp\u00e4ter in 4.4BSD aufgenommen.[4] 1996 forderte Netscape die Autoren von Berkeley DB auf, die Bibliothek zu verbessern und zu erweitern, und zwar ab Version 1.86, um den Anforderungen von Netscape an einen LDAP-Server zu entsprechen[6] und zur Verwendung im Netscape-Browser. Diese Anfrage f\u00fchrte zur Erstellung der Sleepycat-Software. Dieses Unternehmen wurde im Februar 2006 von der Oracle Corporation \u00fcbernommen, die Berkeley DB weiterentwickelt und verkauft.Seit seiner ersten Ver\u00f6ffentlichung hat Berkeley DB verschiedene Versionen durchlaufen. In jedem Hauptversionszyklus wurde ein einzelnes neues Hauptmerkmal eingef\u00fchrt, das im Allgemeinen \u00fcber den fr\u00fcheren Merkmalen liegt, um dem Produkt Funktionen hinzuzuf\u00fcgen. Die 1.x-Versionen konzentrieren sich auf die Verwaltung der Schl\u00fcssel- \/ Wertdatenspeicherung und werden als “Data Store” (DS) bezeichnet. Die 2.x-Versionen haben ein Schlie\u00dfsystem hinzugef\u00fcgt, das den gleichzeitigen Zugriff auf Daten erm\u00f6glicht. Dies wird als “Concurrent Data Store” (CDS) bezeichnet. In den Versionen 3.x wurde ein Protokollierungssystem f\u00fcr Transaktionen und Wiederherstellung hinzugef\u00fcgt, das als “Transactional Data Store” (TDS) bezeichnet wird. Die 4.x-Versionen haben die M\u00f6glichkeit hinzugef\u00fcgt, Protokolldatens\u00e4tze zu replizieren und eine verteilte hochverf\u00fcgbare Single-Master-Multi-Replica-Datenbank zu erstellen. Dies wird als HA-Funktionssatz (High Availability) bezeichnet. Die Entwicklung von Berkeley DB hat manchmal zu geringf\u00fcgigen \u00c4nderungen der API oder des Protokollformats gef\u00fchrt, aber nur sehr selten haben sich die Datenbankformate ge\u00e4ndert. Berkeley DB HA unterst\u00fctzt Online-Upgrades von einer Version zur n\u00e4chsten, indem die Protokolldatens\u00e4tze der vorherigen Version weiterhin gelesen und angewendet werden k\u00f6nnen.Die Betriebssysteme FreeBSD und OpenBSD verwenden aus Kompatibilit\u00e4tsgr\u00fcnden weiterhin Berkeley DB 1.8x.[7][dubious \u2013 discuss] Linux-basierte Betriebssysteme enthalten normalerweise mehrere Versionen f\u00fcr Anwendungen, die noch \u00e4ltere Schnittstellen \/ Dateien verwenden.Ab der Version 6.0.21 (Oracle 12c) sind alle Berkeley DB-Produkte unter der GNU AGPL lizenziert.[8][9] Berkeley DB JE 7.3.7 ist unter der Apache-Lizenz Version 2.0 lizenziert. Zuvor wurde Berkeley DB unter der 4-Klausel-BSD-Lizenz (vor Version 2.0) und der Sleepycat Public License, einer von OSI genehmigten Open-Source-Lizenz sowie einer von FSF genehmigten Lizenz f\u00fcr freie Software, neu verteilt.[10][11] Das Produkt wird mit vollst\u00e4ndigem Quellcode, Build-Skript, Testsuite und Dokumentation geliefert. Die Codequalit\u00e4t und der allgemeine Nutzen zusammen mit den Lizenzbedingungen haben dazu gef\u00fchrt, dass sie in einer Vielzahl von kostenlosen und Open-Source-Software verwendet werden. Diejenigen, die sich nicht an die Bestimmungen der GNU AGPL halten oder eine \u00e4ltere Version mit der Sleepycat Public License verwenden m\u00f6chten, haben die M\u00f6glichkeit, eine andere propriet\u00e4re Lizenz zur Weiterverteilung von der Oracle Corporation zu erwerben. Diese Technik wird als doppelte Lizenzierung bezeichnet. Unterschiedliche Versionen von Berkeley DB (DB, JE, XML) k\u00f6nnen unterschiedliche Lizenzbedingungen haben. Berkeley DB enth\u00e4lt Kompatibilit\u00e4tsschnittstellen f\u00fcr einige historische Unix-Datenbankbibliotheken: dbm, ndbm und hsearch (eine System V- und POSIX-Bibliothek zum Erstellen von In-Memory-Hash-Tabellen).[12]Table of ContentsDie Architektur[edit]Oracle Corporation Editionen[edit]Programme, die Berkeley DB verwenden[edit]Fr\u00fchere Benutzer[edit]Lizenzierung[edit]Siehe auch[edit]Verweise[edit]Externe Links[edit]Die Architektur[edit]Berkeley DB hat eine Architektur, die wesentlich einfacher ist als die anderer Datenbanksysteme wie relationaler Datenbankverwaltungssysteme. Wie SQLite basiert es beispielsweise nicht auf einem Server \/ Client-Modell und bietet keine Unterst\u00fctzung f\u00fcr den Netzwerkzugriff – Programme greifen \u00fcber In-Process-API-Aufrufe auf die Datenbank zu. Oracle hat die Unterst\u00fctzung f\u00fcr SQL in der Version 11g R2 hinzugef\u00fcgt, die auf der beliebten SQLite-API basiert, indem eine Version von SQLite in Berkeley DB aufgenommen wurde (es verwendet Berkley DB als Speicher).[13] PL \/ SQL wird in Berkeley DB \u00fcber ein kommerzielles Produkt namens Metatranz StepSqlite von Drittanbietern unterst\u00fctzt.[14]Ein Programm, das auf die Datenbank zugreift, kann frei entscheiden, wie die Daten in einem Datensatz gespeichert werden sollen. Berkeley DB unterliegt keinen Einschr\u00e4nkungen f\u00fcr die Daten des Datensatzes. Der Datensatz und sein Schl\u00fcssel k\u00f6nnen beide bis zu vier Gigabyte lang sein.Trotz einer einfachen Architektur unterst\u00fctzt Berkeley DB viele erweiterte Datenbankfunktionen wie ACID-Transaktionen, fein abgestimmte Sperren, Hot-Backups und Replikation.Oracle Corporation Editionen[edit]Der Name “Berkeley DB” wird von der Oracle Corporation f\u00fcr drei verschiedene Produkte verwendet:[15]Berkeley DB – die aktuelle Version vom Juni 2018 ist 18.1.Berkeley DB Java Edition – Die aktuelle Version vom November 2017 ist 7.5.11Berkeley DB XML – die aktuelle Version vom November 2017 ist 6.1.4Jede Ausgabe verf\u00fcgt trotz des gemeinsamen Brandings \u00fcber separate Datenbankbibliotheken. Die erste ist die traditionelle Berkeley-Datenbank, die in C geschrieben wurde. Sie enth\u00e4lt mehrere Datenbankimplementierungen, darunter einen B-Baum und eine, die auf erweiterbarem Hashing basiert. Es unterst\u00fctzt mehrere Sprachbindungen, einschlie\u00dflich C \/ C ++, Java (\u00fcber JNI), C # .NET, Perl und Python.Berkeley DB Java Edition (JE) ist eine reine Java-Datenbankverwaltungsbibliothek. Das Design \u00e4hnelt dem von Berkeley DB, ohne es genau zu replizieren, und verf\u00fcgt \u00fcber einen Funktionsumfang, der viele der Funktionen des traditionellen Berkeley DB und anderer f\u00fcr die Java Edition spezifischer Funktionen umfasst. Es verf\u00fcgt \u00fcber eine protokollstrukturierte Speicherarchitektur, die unterschiedliche Leistungs- und Parallelit\u00e4tsmerkmale bietet. Es stehen drei APIs zur Verf\u00fcgung – eine direkte Persistenzschicht, die “Plain Old Java Objects” (POJO) ist; eine, die auf dem Java Collections Framework basiert (ein Ansatz zur Objektpersistenz); und eine, die auf der traditionellen Berkeley DB-API basiert. Die Option Hochverf\u00fcgbarkeit (Replikation) der Berkeley DB Java Edition ist verf\u00fcgbar. Beachten Sie, dass die herk\u00f6mmliche Berkeley-Datenbank auch eine Java-API unterst\u00fctzt, dies jedoch \u00fcber JNI, und daher eine installierte native Bibliothek erfordert.Die Berkeley DB XML-Datenbank ist auf die Speicherung von XML-Dokumenten spezialisiert und unterst\u00fctzt XQuery \u00fcber XQilla. Es wird als zus\u00e4tzliche Schicht \u00fcber (einer \u00e4lteren Version von) Berkeley DB und der Xerces-Bibliothek implementiert. DB XML ist in C ++ geschrieben und unterst\u00fctzt mehrere Sprachbindungen, einschlie\u00dflich C ++, Java (\u00fcber JNI), Perl und Python.Programme, die Berkeley DB verwenden[edit]Berkeley DB bietet das zugrunde liegende Speicher- und Abrufsystem mehrerer LDAP-Server, Datenbanksysteme und vieler anderer propriet\u00e4rer und Free \/ Open Source-Anwendungen. Zu den bemerkenswerten Programmen, die Berkeley DB zur Datenspeicherung verwenden, geh\u00f6ren:Fr\u00fchere Benutzer[edit]Lizenzierung[edit]Berkeley DB V2.0 und h\u00f6her ist unter einer Doppellizenz erh\u00e4ltlich:Oracle kommerzielle Lizenz mit professioneller Unterst\u00fctzung[22]Open Source LizenzBerkeley DB und Berkeley DB XMLBerkeley DB JE (Java Edition)Die Umstellung auf AGPL hat dazu gef\u00fchrt, dass gro\u00dfe GNU \/ Linux-Distributionen wie Debian die Verwendung von Berkeley DB vollst\u00e4ndig eingestellt haben, wobei Lightning Memory-Mapped Database (LMDB) bevorzugt wird. Das Grundprinzip ist, dass die Verwendung von AGPL-Code durch kommerzielle Benutzer nicht akzeptabel w\u00e4re, da sie gezwungen w\u00e4ren, ihren Quellcode den Benutzern durch ein einfaches Software-Upgrade zur Verf\u00fcgung zu stellen.[24]Siehe auch[edit]Verweise[edit]^ ein b c “Oracle Berkeley DB-Downloads”. Abgerufen 27. September 2020.^ Berkeley DB Referenzhandbuch: Was ist Berkeley DB nicht?. Doc.gnu-darwin.org (2001-05-31). Abgerufen am 18.09.2013.^ http:\/\/doc.gnu-darwin.org\/am_misc\/dbsizes.html Berkeley DB-Referenzhandbuch: Datenbankbeschr\u00e4nkungen Abgerufen am 19.09.2013^ ein b Olson, Michael A.; Bostic, Keith; Seltzer, Margo (1999). “Berkeley DB” (PDF). Proc. FREENIX Track, USENIX Annual Tech. Conf. Abgerufen 20. Oktober 2009.^ Seltzer, Margo; Yigit, Ozan (1991). “Ein neues Hashing-Paket f\u00fcr UNIX”. Proc. USENIX Winter Tech. Conf. Abgerufen 20. Oktober 2009.^ Brunelli, Mark (28. M\u00e4rz 2005). “Ein Berkeley DB Primer”. Enterprise Linux News. Abgerufen 28. Dezember 2008.^ db (3). Abgerufen 12. April, 2009.^ [Berkeley DB Announce] Hauptversion: Berkeley DB 12gR1 (12.1.6.0). Abgerufen am 5. Juli 2013. (Trotz der dort erw\u00e4hnten AGPL-Erw\u00e4hnungen deklariert das Quellarchiv weiterhin BSD-4-Klausel-Begriffe in 6.0.19.)^ Momentaufnahme der 6.0.19-Quelle zu diesem Zeitpunkt^ “Die Sleepycat-Lizenz”. Open Source Initiative. 31. Oktober 2006. Abgerufen 28. Dezember 2008.^ “Lizenzen”. Freie Software Foundation. 10. Dezember 2008. Archiviert von das Original am 16. Dezember 2008. Abgerufen 28. Dezember 2008.^ “Kompatibilit\u00e4t mit historischen UNIX-Schnittstellen”. docs.oracle.com. Abgerufen 2019-11-20.^ “Twitter \/ Gregory Burd: @humanications Wir haben nicht …”^ “Offizielle Berkeley DB FAQ”. Oracle Corporation. Abgerufen 30. M\u00e4rz, 2010. Unterst\u00fctzt Berkeley DB PL \/ SQL?^ Oracle Berkeley DB-Downloads: Neueste Produktionsversionen^ Versionshinweise f\u00fcr Bitcoin 0.8.0 2013^ “Bogofilter – Fast Bayesian Spam Filter \/ Code (Git) \/ [93b68e] \/ bogofilter \/ README “. sourceforge.net. Abgerufen 2020-07-17.^ Github-Projekt Carbonado \/ Carbonado, Carbonado, 2020-04-04abgerufen 2020-07-17^ “Voldemort-Quellcodepaket, das die BDB-Integration enth\u00e4lt”. GitHub. Abgerufen 2017-03-16.^ “Design – Voldemort”. www.project-voldemort.com. Abgerufen 2020-07-17.^ [1] \u00c4ndern Sie das Format der RPM-Datenbank von Berkeley DB in ein neues SQLite-Format.^ “Download-, Lizenz- und Verkaufsinformationen”. 30. November 2017.^ Hauptversion: Berkeley DB 12gR1 (12.1.6.0). 10. Juni 2013. Abgerufen 15. Juli 2013.^ Ond\u0159ej Sur\u00fd (19. Juni 2014). “Neues Projektziel: Berkeley DB loswerden (post jessie)”. debian-devel (Mailingliste). Debian.Externe Links[edit] (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki19\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki19\/2021\/01\/26\/berkeley-db-wikipedia\/#breadcrumbitem","name":"Berkeley DB – Wikipedia"}}]}]