Der Blog WPTavern berichtet von „großen Fortschritten“ beim Vorhaben, WordPress mit der SQLite zu betreiben. Besonders kleine bis mittelgroße Websites auf PHP-Basis könnten dann auf eine Datenbank, die mit MySQL oder Maria DB bereitgestellt werden muss, verzichten.
Mit einigen Anpassungen konnte es zwar früher schon gelingen, WordPress nur mit SQLite zu betreiben. Eine offizielle Unterstützung sah WordPress bislang aber nicht vor. Das hat sich geändert.
SQLite stellt einen Befehls- und Funktionsumfang wie MySQL oder auch Maria DB bereit, benötigt aber keinen eigenen Datenbankserver. Die Datenbank-Inhalte speichert SQLite in einer Datei ab, die im Webhosting-Umfeld gewöhnlicherweise auf dem für den Kunden zugänglichen Speicherbereich abgelegt wird.
Vorteil: Kein Datenbankserver nötig
Wir hatten schon einmal, im April 2015 über eine Möglichkeit berichtet, SQLite (älter Beitrag hier im Blog) per Plugin mit Datenbankunterstützung zu versehen. Erste Initiativen gab es also schon früher. Die Umsetzung war eher experimentell.
WordPress hat dieses Plugin 2019 aus dem Pluginverzeichnis geworfen. Dieses Projekt ist offenbar tot. Ruft man die ehemalige Doku-Seite des Entwicklers unter den Namen Kojima Toshiyasu auf, erscheint eine japanische Spamseite.
Ein neuer Versuch verspricht mehr Erfolg: Ein offizielles Projekt hat die Versuche mit dem „Performance Lab“ – Plugin überstanden und den Weg ein ein Stand-alone-Plugin gefunden.
WordPress Plugin für SQLite
In den vergangenen sechs Monaten seien Begrenzungen deutlich geworden, was dazu führte, den Code unter Beachtung zukunftsfähiger Konzepte neu zu schreiben, heißt es auf der Entwicklercommunityseite bei Make WordPress.
Ob das Feature Teil des Core-Codes wird, ist noch fraglich. Wenn man WordPress mit SQLite ausführen will und dies nur per Plugin möglich ist, benötigt man zunächst ein laufendes WordPress mit MySQL, um dann erst das SQLite-Plugin an den Start zu bringen. Das mutet etwas widersinnig an.
Die Core-Integration wäre also eine Möglichkeit, dies zu umgehen. Doch ist SQLite im direkten Vergleich mit MySQL sicherlich weniger performant, was bei größeren Site oder externen Anbindungen, etwa per API, durchaus zum Tagen kommen könnte. Kleinere Server könnten vielleicht sogar mehr Performance für WordPress generieren.
SQLite-Unterstützung im Core von WordPress?
Man könnte den User/die Userin beim Installieren entscheiden lassen, welche Datenbank-Technologie er oder sie bevorzugen würde – ähnlich also wie man das von der Installationsroutine bei Nextcloud kennt.
Allerdings fiel SQLite in der Vergangenheit durch einen merkwürdigen, religiös motivierten „Code of Conduct“ mit Rückgriff auf den Heiligen St. Benedikt von Nursia auf. Wir berichteten 2018 darüber hier im goneo-Blog. Diesem Verhaltenscodex müssen sich Entwickler:innen unterwerfen, die an SQLite mitarbeiten wollen.
Für viele WordPress-Sites ist der Leistungsumfang einer MySQL-Datenbank gar nicht nötig
Insgesamt passt die Unterstützung von SQLite ins Bild: WordPress kommt mittlerweile auf einen Marktanteil von 43 Prozent (w3techs). Für die meisten WordPress-Installationen dient die Applikation sicherlich eher als Webbaukasten, mit dem kleine Webauftritte aufgebaut werden. Aktuelle Blogs als Einsatzszenario dürften mittlerweile nur den geringen Anteil ausmachen.
Wenn nur wenige Userinteraktionen stattfinden und stets der gleiche Inhalt aus den Datenbanktabellen geholt wird, liegt es nahe, die Datenbankprozesse zu verschlanken.
Letzten Endes könnte man den kompletten Auftritt statisch abbilden, wenn sich die Inhalte ohnehin über die Zeit kaum ändern. Auch dafür gibt es Ansätze. Simply Static ist einer dafür. Das Plugin spielt alle Seiten aus und speichert sie als HTML-Dateien ab, so wie es viele Cache-Plugins tun.
Wohin die Reise von MySQL und Maria DB geht, wissen wir heute nicht – da könnte sich SQLite als zukunftssicher erweisen
Da Maria DB und MySQL inzwischen schon nicht mehr binärkompatibel sind, könnte man befürchten, dass die Entwicklungen in der Datenbanklandschaft, wie sie für Webhosting verwendet werden, weiter auseinanderlaufen.
Eine Datenbank-Lösung, die Szenarien wie für WordPress gut abbildet und auf Skalierung oder Big-Data-Handling verzichtet, könnte sich also durchaus zu einem passenden Standard entwickeln.
MySQL und MariaDB sind immer noch sehr ähnlich, doch MySQL 8 ist weniger rückwärtskompatibel als man es bisher gewohnt war.
Wie Maria DB aus MySQL hervorging
MySQL gehört zum Oracle-Imperium, auch wenn die Lizenz für MySQL auch eine Open Source Lizenz ist. Einige „Premium“-Funktionen sind jedoch lizenzpflichtig. MariaDB als Fork von MySQL gibt es, weil einige Entwickler Entscheidungen bezüglich der künftigen Lizenzpolitik bei MySQL nicht mittragen wollten.
In Zusammenhang mit MySQL als auch mit Maria DB wird der Name Michael „Monty“ Widenius als treibende Person genannt, und zwar für beide Datenbanksysteme. 2018 erblickte MySQL 8 das Licht der Welt, Widenius gratulierte öffentlich und zeigte die Unterschiede zur aktuellen Maria DB auf.
Je nach Quelle gilt die eine oder andere Variante als möglicherweise stabiler, schneller, besser skalierbar oder sicherer. Viele Linuxdistributionen liefern heute standardmäßig Maria DB mit, während im Webhostingbereich MySQL klar dominiert, möglicherweise aus historischen Gründen.
MySQL bot sich in der Boomphase des Webs an – wegen der quelloffenen Lizenz
MySQL war während der Boomphase des Web unter quelloffener Lizenz verfügbar, so dass heute erfolgreiche Open-Source-Webanwendungen wie WordPress seit Anbeginn passenderweise auf MySQL setzten.
Welches System in einer Datenbankwelt, die sich langsam, aber zusehends auseinanderentwickelt, künftig dominiert, ist derzeit schwer absehbar.
So gibt es mit Nextcloud eine starke Open-Source-Webanwendung, die klar MySQL 8 voraussetzt. Die Frage ist, wie sich andere Anbieter wichtiger Applikationen verhalten.
Daher ist es vielleicht für WordPress eine gute Idee, wenn die Webanwendungen hinsichtlich der Datenbanktechnologien agnostischer wird.
https://wptavern.com/newly-rewritten-wordpress-sqlite-database-integration-plugin-needs-testing
Eine Antwort auf „WordPress: Datenbank mit SQLite statt MySQL möglich“