{"id":321,"date":"2009-07-06T11:53:35","date_gmt":"2009-07-06T09:53:35","guid":{"rendered":"http:\/\/blog.benny-baumann.de\/?p=321"},"modified":"2009-07-06T11:57:37","modified_gmt":"2009-07-06T09:57:37","slug":"warum-bdb-abgeschafft-gehort","status":"publish","type":"post","link":"https:\/\/blog.benny-baumann.de\/?p=321","title":{"rendered":"Warum BDB abgeschafft geh\u00f6rt!"},"content":{"rendered":"<p>Eigentlich bin ich ja offen gegen\u00fcber jeglicher Technologie, sofern mir diese keinen Grund gibt, es anders zu handhaben. Nach dem .NET und Java sich bereits l\u00e4nger aus diesem Gunstkreis verabschieded haben &#8211; beide mehr oder weniger auf Grund ihrer Umsetzung und propriet\u00e4ren Lizenzen -, gesellt sich mit der Berkeley-DB nun die erste gr\u00f6\u00dfere freie Software in die Riege der &#8222;Blo\u00df nicht&#8220;-Kandidaten.<!--more--><\/p>\n<p>Ausl\u00f6ser f\u00fcr diese ganze Aufregung war mehr oder weniger ein Indiz beim Versand von Status-Emails meines Servers. Dieser sendet mir dank <a href=\"http:\/\/packages.debian.org\/squeeze\/apticron\">apticron<\/a> einmal am Tag Informationen \u00fcber ausstehende Updates. Jedoch seit dem 30. Juni gab es scheinbar nichts Neues &#8211; zumindest, blieb mein Posteingang in dieser Hinsicht leer. Also schaute ich in die Logfiles des Servers und stie\u00df auf zahlreiche seltsame Ph\u00e4nom\u00e4ne, die sich nicht auf den ersten Blick einordnen lie\u00dfen. Da aber ein Kumpel bereits in den vergangenen Tagen Probleme bei seinem Server hatte, ging nach kurzer Einsch\u00e4tzung der Lage eine Anfrage an ihn raus. Nach kurzer Diagnose best\u00e4tigte sich der Verdacht: Der Postgrey-Daemon, der das Ma\u00df an unliebsamen Sendungen auf jene mit einer eigenen Mail-Queue reduzieren soll, verweigerte aus irgendeinem Grund.<\/p>\n<p>Als Probleml\u00f6sung nannte mein Kumpel die Reinstallation (mit Purge) des Postgrey-Paketes, was sich als Volltreffer herausstellte: Beim Versuch das Postgrey-Paket unter Debian wieder zu installieren meldete sich prompt <a href=\"http:\/\/packages.debian.org\/squeeze\/apt-listbugs\">apt-listbugs<\/a> mit dem Hinweis auf <a href=\"http:\/\/bugs.debian.org\/cgi-bin\/bugreport.cgi?bug=519707\">Debian-Fehlerreport #519707<\/a>. Sp\u00e4testens beim Lesen der dort genannten Fehlerursache er\u00fcbrigt sich jede weitere Frage, warum BDB bei mir nicht nur geringe Abneigung genie\u00dft&#8230;<\/p>\n<p>Die Berkeley-DB ist &#8211; wie der Name bereits sagt &#8211; eine Datenbank. Oh, warte: <a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3486596\/Open-Source-Databases-A-brief-look-at-the-Berkeley-DB-Derby-Firebird-Ingres-MySQL-and-PostgreSQL-DBMS.htm\">Nein, ist sie nicht<\/a>. Sie tut nor so. Zwar ist BDB zu fr\u00fcheren Zeiten einmal die einzige M\u00f6glichkeit gewesen, Transaktionssicherheit in MySQL zu bekommen, jedoch ist diese Existenzberechtigung sp\u00e4testens seit InnoDB auch dort gestorben.<\/p>\n<p>Bleiben noch die zahlreichen anderen <a href=\"http:\/\/en.wikipedia.org\/wiki\/Berkeley_DB#Programs_that_use_Berkeley_DB\">Projekte, in denen BDB eingesetzt wird<\/a>: Cyrus IMAP Server, SpamAssassin, SVN, OpenLDAP, memcachedb, PAM, &#8230; Was f\u00fcr ein Gl\u00fcck, dass ich mich noch anmelden konnte! Das kommt wahrscheinlich beim n\u00e4chsten Frickel-Patch am Datenformat!<\/p>\n<p>W\u00e4hrend man bei MySQL eine Datenbank eines alten 3.22er Servers reibungslos (im laufenden Betrieb) in einen 5.1er MySQL einh\u00e4ngen kann (Datenverzeichnis reinkopieren reicht), reicht es bei BDB ja schon, wenn die an ihrer Runtime friemeln. Ist ja auch zu viel verlangt, \u00fcber ein Frickel-Update hinaus das Datenformat konvertieren zu k\u00f6nnen! Stattdessen darf man sich mit umst\u00e4ndlichen Kommandozeilentools selber darum k\u00fcmmern, die zahlreichen dezentralen Datenbanken zuerst zu exportieren, um sie dann wieder zu importieren. Ich bin zwar Admin und ich wei\u00df auch, dass das ein Vollzeitjob ist, dass hei\u00dft aber noch lang nicht, dass ich Masochist bin!<\/p>\n<p>Ein Gl\u00fcck, dass SVN BDB nicht mehr als Default drin hat, sondern allein f\u00fcr die Abw\u00e4rtskompatibel zu sein. Das war auch das erste, was ich gemacht habe, als SVN das konnte: Via einem Skript jegliche Repositories (auf dem System immerhin \u00fcber 500 St\u00fcck) exportiert und als FSFS reimportiert. Dauerte 5 Minuten und brauchte seither kein einziges Mal mehr mich mit BDB rumschlagen. Ich hoffe, diese S\u00e4uche wird endlich einmal konsequent eliminiert: SQLite3 ist doch auch ganz nett \ud83d\ude09 Und zur Not tuts auch MyISAM &#8230;<\/p>\n<p class=\"wp-flattr-button\"><a href=\"https:\/\/blog.benny-baumann.de\/?flattrss_redirect&amp;id=321&amp;md5=97800ee2106541e719a62608d9dfd66e\" title=\"Flattr\" target=\"_blank\"><img src=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" srcset=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" alt=\"Flattr this!\"\/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Eigentlich bin ich ja offen gegen\u00fcber jeglicher Technologie, sofern mir diese keinen Grund gibt, es anders zu handhaben. Nach dem .NET und Java sich bereits l\u00e4nger aus diesem Gunstkreis verabschieded haben &#8211; beide mehr oder weniger auf Grund ihrer Umsetzung und propriet\u00e4ren Lizenzen -, gesellt sich mit der Berkeley-DB nun die erste gr\u00f6\u00dfere freie Software [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[4],"tags":[209,208,207,206,10,204,205,346,20],"class_list":["post-321","post","type-post","status-publish","format-standard","hentry","category-server","tag-apt-listbugs","tag-apt-listchanges","tag-apticron","tag-bdb","tag-debian","tag-postfix","tag-postgrey","tag-server","tag-update"],"_links":{"self":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=321"}],"version-history":[{"count":3,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions"}],"predecessor-version":[{"id":323,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/321\/revisions\/323"}],"wp:attachment":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}