[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki20\/2020\/12\/31\/dbm-computing-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki20\/2020\/12\/31\/dbm-computing-wikipedia\/","headline":"DBM (Computing) – Wikipedia","name":"DBM (Computing) – Wikipedia","description":"before-content-x4 Dieser Artikel befasst sich mit der Familie der Datenbank-Engines. F\u00fcr andere Verwendungen siehe DBM. Beim Rechnen a DBM ist","datePublished":"2020-12-31","dateModified":"2020-12-31","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki20\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki20\/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:\/\/en.wikipedia.org\/wiki\/Special:CentralAutoLogin\/start?type=1x1","url":"https:\/\/en.wikipedia.org\/wiki\/Special:CentralAutoLogin\/start?type=1x1","height":"1","width":"1"},"url":"https:\/\/wiki.edu.vn\/wiki20\/2020\/12\/31\/dbm-computing-wikipedia\/","wordCount":3091,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4Dieser Artikel befasst sich mit der Familie der Datenbank-Engines. F\u00fcr andere Verwendungen siehe DBM.Beim Rechnen a DBM ist eine Bibliothek und ein Dateiformat, die einen schnellen Zugriff auf Daten mit einem Schl\u00fcssel erm\u00f6glichen. Eine Schl\u00fcsselwertdatenbank aus dem urspr\u00fcnglichen Unix, dbm ist ein fr\u00fches Beispiel f\u00fcr ein NoSQL-System.[1][2][3] Table of ContentsGeschichte[edit]Implementierungen[edit]Verf\u00fcgbarkeit[edit]Verl\u00e4sslichkeit[edit]Siehe auch[edit]Verweise[edit]Literaturverzeichnis[edit]Geschichte[edit]Das Original dbm Das Bibliotheks- und Dateiformat war eine einfache Datenbank-Engine, die urspr\u00fcnglich von Ken Thompson geschrieben und 1979 von AT & T ver\u00f6ffentlicht wurde. Der Name ist ein aus drei Buchstaben bestehendes Akronym f\u00fcr Datenbank-Managerund kann auch auf die Familie der Datenbankmodule mit APIs und Funktionen verweisen, die vom Original abgeleitet sind dbm.Das dbm Die Bibliothek speichert beliebige Daten mithilfe eines einzelnen Schl\u00fcssels (eines Prim\u00e4rschl\u00fcssels) in Buckets mit fester Gr\u00f6\u00dfe und verwendet Hashing-Techniken, um ein schnelles Abrufen der Daten per Schl\u00fcssel zu erm\u00f6glichen. Das verwendete Hashing-Schema ist eine Form des erweiterbaren Hashing, sodass das Hashing-Schema erweitert wird, wenn neue Buckets zur Datenbank hinzugef\u00fcgt werden. Dies bedeutet, dass die Datenbank, wenn sie fast leer ist, mit einem Bucket beginnt, der dann aufgeteilt wird, wenn er voll ist. Die beiden resultierenden untergeordneten Buckets werden selbst aufgeteilt, wenn sie voll sind, sodass die Datenbank w\u00e4chst, wenn Schl\u00fcssel hinzugef\u00fcgt werden.Das dbm Bibliothek und ihre Derivate sind vorrelationale Datenbanken – sie verwalten assoziative Arrays, die als Hash-Tabellen auf der Festplatte implementiert sind. In der Praxis k\u00f6nnen sie eine praktischere L\u00f6sung f\u00fcr Hochgeschwindigkeitsspeicher anbieten, auf die \u00fcber Schl\u00fcssel zugegriffen wird, da sie nicht den Aufwand f\u00fcr das Verbinden und Vorbereiten von Abfragen erfordern. Dies wird durch die Tatsache ausgeglichen, dass sie im Allgemeinen nur von einem einzelnen Prozess gleichzeitig zum Schreiben ge\u00f6ffnet werden k\u00f6nnen. Ein Agentend\u00e4mon kann Anforderungen von mehreren Prozessen verarbeiten, f\u00fchrt jedoch IPC-Overhead ein.Implementierungen[edit]Das Original von AT & T. dbm Die Bibliothek wurde durch ihre zahlreichen Nachfolgeimplementierungen ersetzt. Bemerkenswerte Beispiele sind:[3]ndbm (“neue Datenbank”), basierend auf der urspr\u00fcnglichen Datenbank mit einigen neuen Funktionen.GDBM (“GNU dbm”), GNU-Umschreibung der implementierenden Bibliothek ndbm Funktionen und eine eigene Schnittstelle.sdbm (“small dbm”), eine gemeinfreie Neufassung von dbm. Es ist Teil der Standarddistributionen f\u00fcr Perl und Ruby.[4][5]qdbm, eine h\u00f6here Leistung dbm Einsatz vieler der gleichen Techniken wie das Kabinett Tokio \/ Kyoto. Geschrieben vom selben Autor, bevor sie zu den Schr\u00e4nken gingen.[6]tdb, eine einfache Datenbank, die von Samba verwendet wird und mehrere Autoren unterst\u00fctzt. Hat eine GDBM-basierte API.[7]Berkeley DB, 1991 Ersetzung von ndbm durch Sleepycat Software (jetzt Oracle), um das Urheberrecht von AT & T Unix f\u00fcr BSD zu umgehen. Es bietet viele Erweiterungen wie Parallelit\u00e4t, Transaktionssteuerung, Hashing und B-Tree-Speicher.LMDB: Copy-on-Write-Implementierung eines speicherabgebildeten B + -Baums in C mit einer API im Berkeley-Stil.Die folgenden Datenbanken sind von DBM inspiriert, bieten jedoch keine direkte DBM-Schnittstelle, obwohl es trivial w\u00e4re, eine einzuschlie\u00dfen: Verf\u00fcgbarkeit[edit]Ab 2001 ist die ndbm Die Implementierung von DBM war unter Solaris und IRIX Standard gdbm ist unter Linux allgegenw\u00e4rtig. Die Berkeley DB-Implementierungen waren auf einigen freien Betriebssystemen Standard.[2][10] Nach einem Lizenzwechsel der Berkeley DB an GNU AGPL im Jahr 2013 sind Projekte wie Debian in die LMDB umgezogen.[11]Verl\u00e4sslichkeit[edit]Ein AFL-Fuzzing-Test f\u00fcr 2018 f\u00fcr viele Datenbanken der DBM-Familie ergab viele Probleme bei Implementierungen, wenn es um besch\u00e4digte oder ung\u00fcltige Datenbankdateien geht. Nur freecdb von Daniel J. Bernstein zeigte keine Abst\u00fcrze. Die Autoren von gdbm, tdb und lmdb antworteten umgehend. Die Berkeley DB fiel aufgrund der Vielzahl anderer Probleme zur\u00fcck.[10] Die Korrekturen w\u00e4ren f\u00fcr Open-Source-Software-Benutzer aufgrund der Lizenz\u00e4nderung irrelevant, da sie auf eine alte Version zur\u00fcckgesetzt werden.[11]Siehe auch[edit]Verweise[edit]^ Kew 2007, p. 80: “DBMs sind seit den Anf\u00e4ngen der Datenverarbeitung bei uns, als die Notwendigkeit schneller Suchvorg\u00e4nge mit Schl\u00fcssel erkannt wurde. Das urspr\u00fcngliche DBM ist eine UNIX-basierte Bibliothek und ein Dateiformat f\u00fcr den schnellen, hoch skalierbaren Schl\u00fcsselzugriff auf Daten gefolgt von NDBM (‘new DBM’), GDBM (‘GNU DBM’) und der Berkeley DB. Diese letzte ist bei weitem die am weitesten fortgeschrittene und die einzige DBM, die derzeit aktiv entwickelt wird DBMs ab NDBM bieten dieselbe Kernfunktionalit\u00e4t, die von den meisten Programmen, einschlie\u00dflich Apache, verwendet wird. Ein SDBM mit minimaler Implementierung wird ebenfalls mit APR geb\u00fcndelt und steht Anwendungen zusammen mit den anderen DBMs zur Verf\u00fcgung.Obwohl NDBM jetzt alt ist – wie die Stadt, die um 600 v. Chr. Von den Griechen New Town (‘Neapolis’) genannt wurde und heute noch Neapel hei\u00dft -, bleibt es das Basis-DBM. NDBM wurde von fr\u00fchen Apache-Modulen wie den Apache 1.x-Versionen von verwendet mod_auth_dbm und mod_rewrite. Sowohl GDBM als auch Berkeley DB bieten NDBM-Emulationen an, und Linux-Distributionen werden mit der einen oder anderen dieser Emulationen anstelle der “echten” NDBM ausgeliefert, die aus Lizenzgr\u00fcnden ausgeschlossen ist. Leider sind die verschiedenen Dateiformate v\u00f6llig inkompatibel und es gibt subtile Unterschiede im Verhalten beim Sperren von Datenbanken. Diese Probleme f\u00fchrten dazu, dass immer mehr Linux-Benutzer Probleme mit DBMs in Apache 1.x meldeten. “^ ein b Hazel 2001, p. 500: “Am h\u00e4ufigsten [single-key] Format hei\u00dft DBM. In den meisten modernen Unix-Versionen ist standardm\u00e4\u00dfig eine DBM-Bibliothek installiert. Dies gilt jedoch nicht f\u00fcr einige \u00e4ltere Systeme. Die beiden am h\u00e4ufigsten verwendeten DBM-Bibliotheken sind ndbm (Standard unter Solaris und IRIX) und Berkeley DB Version 2 oder 3 (Standard unter mehreren freien Betriebssystemen). Exim unterst\u00fctzt sowohl diese als auch die \u00e4ltere Berkeley DB Version 1. gdbm, und tdb. “^ ein b Ladd & O’Donnell 2001, S. 823-824: “Die meisten UNIX-Systeme verf\u00fcgen \u00fcber eine Art DBM-Datenbank. DBM ist eine Reihe von Bibliotheksroutinen, die Datendateien verwalten, die aus Schl\u00fcssel- und Wertepaaren bestehen. Die DBM-Routinen steuern, wie Benutzer und eingeben Abrufen von Informationen aus der Datenbank Obwohl dies nicht der leistungsst\u00e4rkste Mechanismus zum Speichern von Informationen ist, ist die Verwendung von DBM eine schnellere Methode zum Abrufen von Informationen als die Verwendung einer Flatfile. Da die meisten UNIX-Sites eine der DBM-Bibliotheken verwenden, die Tools, die Sie ben\u00f6tigen Speichern Sie Ihre Informationen in einer DBM-Datenbank sind sofort verf\u00fcgbar.Es gibt fast so viele Varianten der DBM-Bibliotheken wie UNIX-Systeme. Obwohl die meisten dieser Bibliotheken miteinander kompatibel sind, funktionieren sie im Grunde alle auf die gleiche Weise …Es folgt eine Liste einiger der beliebtesten verf\u00fcgbaren DBM-Bibliotheken:DBM – DBM speichert die Datenbank in zwei Dateien. Der erste hat die Erweiterung .Pag und enth\u00e4lt die Bitmap. Die zweite, die die Erweiterung hat .Direnth\u00e4lt die Daten.NDBM – NDBM \u00e4hnelt DBM, bietet jedoch einige zus\u00e4tzliche Funktionen. Es wurde geschrieben, um bessere Speicher- und Abrufmethoden bereitzustellen. Au\u00dferdem k\u00f6nnen Sie mit NDBM im Gegensatz zu DBM viele Datenbanken \u00f6ffnen, in denen nur eine Datenbank in Ihrem Skript ge\u00f6ffnet sein darf. Wie DBM speichert NDBM seine Informationen mithilfe der Erweiterungen in zwei Dateien .Pag und .Dir.SDBM – SDBM wird mit dem Perl-Archiv geliefert, das auf viele Plattformen portiert wurde. Daher k\u00f6nnen Sie DBM-Datenbanken verwenden, solange eine Version von Perl f\u00fcr Ihren Computer vorhanden ist. SDBM wurde so geschrieben, dass es mit den mit NDBM bereitgestellten Funktionen \u00fcbereinstimmt, sodass die Portabilit\u00e4t von Code kein Problem darstellen sollte. Perl ist auf nahezu allen g\u00e4ngigen Plattformen verf\u00fcgbar.GDBM – GDBM ist die GNU-Version der DBM-Familie von Datenbankroutinen. Mit GDBM k\u00f6nnen Sie auch Daten zwischenspeichern und so die Zeit reduzieren, die zum Schreiben in die Datenbank erforderlich ist. Die Datenbank hat keine Gr\u00f6\u00dfenbeschr\u00e4nkung. Die Gr\u00f6\u00dfe h\u00e4ngt vollst\u00e4ndig von den Ressourcen Ihres Systems ab. GDBM-Datenbankdateien haben die Erweiterung .Db. Im Gegensatz zu DBM und NDBM, die beide zwei Dateien verwenden, verwendet GDBM nur eine Datei.Berkeley db – Die Berkeley-Datenbank erweitert die urspr\u00fcnglichen DBM-Routinen erheblich. Die Berkeley-Datenbank verwendet Hash-Tabellen wie die anderen DBM-Datenbanken, die Bibliothek kann jedoch auch Datenbanken erstellen, die auf einem sortierten ausgeglichenen Bin\u00e4rbaum basieren (BTREE) und speichern Sie Informationen mit einer Datensatzzeilennummer (RECNO). Die von Ihnen verwendete Methode h\u00e4ngt vollst\u00e4ndig davon ab, wie Sie die Informationen speichern und aus einer Datenbank abrufen m\u00f6chten. Berkeley db erstellt nur eine Datei, die keine Erweiterung hat. “^ Yigit, Ozan. “sdbm.bun”. cse.yorku.ca. Abgerufen 8. Mai 2019.^ “Klasse SDBM”. Dokumentation f\u00fcr Ruby 2.4.0. Beachten Sie, dass Ruby den Quellcode f\u00fcr SDBM enth\u00e4lt, w\u00e4hrend die DBM- und GDBM-Standardbibliotheken auf externen Bibliotheken und Headern basieren.^ “QDBM: Quick Database Manager”. fallabs.com. 2006.^ “tdb: Hauptseite”. tdb.samba.org.^ “Tokyo Cabinet \u7b2c 1 \u7248 \u57fa\u672c \u4ed5 \u69d8 \u66f8” [Fundamental Specifications of Tokyo Cabinet Version 1]. Herbstlabore (auf Japanisch). 5. August 2010. Archiviert von das Original am 28. Oktober 2018. Abgerufen 25. Mai 2019. Tokyo Cabinet \u306f GDBM \u3084 QDBM \u306e Cabin Cabin \u3068 \u3066 \u3066 \u6b21 \u306e \u3092 \u76ee\u6a19 \u76ee\u6a19 \u3057 \u3066 \u958b \u3055 \u308c \u307e Cabin Cabin Cabin Cabin Cabin Cabin Cabin Cabin Cabin \u3001 \u306e^ “Tokyo Cabinet \u7b2c 1 \u7248 \u57fa\u672c \u4ed5 \u69d8 \u66f8” [Fundamental Specifications of Tokyo Cabinet Version 1]. Herbstlabore (auf Japanisch). 5. August 2010. Archiviert von das Original am 28. Oktober 2018. Abgerufen 25. Mai 2019. Tokyo Cabinet \u306f GDBM \u3084 QDBM \u306e Cabin Cabin \u3068 \u3066 \u3066 \u6b21 \u306e \u3092 \u76ee\u6a19 \u76ee\u6a19 \u3057 \u3066 \u958b \u3055 \u308c \u307e Cabin Cabin Cabin Cabin Cabin Cabin Cabin Cabin Cabin \u3001 \u306e^ ein b Debroux, Lionel (16. Juni 2018). “Oss-Sicherheit – Spa\u00df mit DBM-Datenbanken …” openwall.com.^ ein b Sur\u00fd, Ond\u0159ej (19. Juni 2014). “Neues Projektziel: Berkeley DB loswerden (post jessie)”. debian-devel (Mailingliste). Debian.Literaturverzeichnis[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\/wiki20\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki20\/2020\/12\/31\/dbm-computing-wikipedia\/#breadcrumbitem","name":"DBM (Computing) – Wikipedia"}}]}]