4 Self-Contained-Datenbanken für Entwickler
Devs wissen: Standalone ist manchmal besser.Jacob Lund | shutterstock.com
Jede datenintensive Applikation ist für gewöhnlich mit einer Datenbank verbunden. Enterprise-Lösungen wie PostgreSQL sind dabei sehr leistungsstark, erfordern jedoch auch ein gewisses Maß an Infrastruktur. Und diese in Form eines Datenbankservers einzurichten und zu konfigurieren, ist alles andere als spaßig. Zwar ist Docker an dieser Stelle grundsätzlich auch eine Option. Allerdings eher für diejenigen, die bereits in die Container-Technologie investiert haben.
Die Lösung für diese Probleme: Eine Self-Contained-Datenbank. Diese Lösungen bestehen lediglich aus einem Executable oder einem Dateiverzeichnis, benötigen keine formale Installation und weisen außerdem keine externen Abhängigkeiten auf. SQLite ist ein prominentes Beispiel für eine solche eigenständige Datenbank – stellt aber nicht immer die robusteste Lösung dar. Gut, dass es weitere, leistungsstarke Self-Contained-Optionen gibt. Wie die folgenden vier.
1. MariaDB
Um auf eine vollständig eigenständige Instanz von MariaDB zuzugreifen, gibt es drei Möglichkeiten:
selbst eine erstellen (etwas Aufwand),
eine vorgefertigte Version von einem Drittanbieter nutzen, oder
auf eine portable Full-Stack-Version zurückgreifen, die auch einen Webserver und weitere Tools umfasst.
Die erforderlichen Schritte, um eine Standalone-Edition von MariaDB manuell einzurichten, hat der Softwareexperte Nathaniel Sabanski auf GitHub übersichtlich zusammengefasst. Wenn Sie sich für diese Option entscheiden, müssen Sie sämtliche Upgrades oder Wartungsarbeiten selbst durchführen (wie das mit minimalem Aufwand geht, lesen Sie ebenfalls im verlinkten Quickstart-Tutorial).
Falls Sie Microsoft Windows nutzen, ist zu empfehlen, eine ZIP-Datei herunterzuladen (vereinfacht das Entpacken) und auf mysql_install_db.exe für die Einrichtung zurückzugreifen. Noch bequemer haben Sie es mit diesen Self-Contained-Versionen der MariaDB-Binärdateien.
Falls Sie neben der Datenbanklösung auch einen Webserver und eventuell weitere Komponenten benötigen, lohnt sich ein Blick auf den XAMPP-Stack. Diese All-in-One-Lösung enthält:
MariaDB,
den Apache-Webserver,
die PHP-Laufzeitumgebung,
den Mercury-SMTP-Mailserver,
webbasierte Steuerelemente für alle Komponenten,
einen Service Manager für den Desktop, und
OpenSSL, um https ordnungsgemäß zu unterstützen.
2. PostgreSQL
PostgreSQL wurde im Laufe der Jahre mehrfach als Standalone-Applikation neu verpackt. Es ist jedoch relativ simpel, eine eigenständige PostgreSQL-Instanz aufzusetzen:
Laden Sie die Binärdateien (ohne die Setup-Tools) herunter,
entpacken Sie diese in ein Verzeichnis, und
führen Sie initdb aus, um die Grundeinstellungen zu konfigurieren.
Anschließend verwenden Sie pg_ctl, um die Datenbank nach Bedarf zu starten und zu stoppen.
Python-Entwicklern bietet sich außerdem eine andere, raffinierte Möglichkeit, um eine Applikation mit einer Self-Contained-Instanz von PostgreSQL auszustatten. Diese ist in der pgserver-Bibliothek enthalten, die über pip install hinzugefügt werden kann. Die gesamte Anwendung – inklusive Binaries – “lebt” in diesem Fall in der virtuellen Umgebung Ihres Python-Programms. Deren Speicherbedarf erhöht sich dadurch zwar um 30 MB, aber die resultierende Convenience ist kaum zu übertreffen.
3. MongoDB
Die Binärdateien von MongoDB sind ebenfalls ohne Installer verfügbar. Sie können also theoretisch von jedem Verzeichnis aus ausgeführt werden. Es ist jedoch auch möglich, die Datenbank (ohne formelle Installation) mit spezifischen Anwendungen enger zu integrieren.
Dazu brauchen Sie lediglich die Bibliothek portable-mongodb. Diese fügen Sie zu einem Node-Projekt hinzu und erhalten eine private, projektspezifische Instanz von MongoDB, die automatisch bereitgestellt wird.
Falls Sie das Deployment lieber engmaschiger kontrollieren möchten, empfiehlt sich diese Schritt-für-Schritt-Anleitung, um eine Self-Contained-Version von MongoDB in Eigenleistung zu erstellen. Das ist wesentlich weniger komplex, als man denkt.
4. Redis
Unter Linux, Windows und macOS lässt sich Redis einfach über einen Docker-Container oder einen Package Manager (etwa APT, RPM, Snap oder Homebrew) installieren.
Dieser Drittanbieter-Build der Datenbanklösung stellt über Standalone-Binaries zudem auch eine vollständig portable Lösung für Windows bereit. (fm)
Dieser Artikel ist im Original bei unserer Schwesterpublikation Infoworld.com erschienen.
Hier finden Sie den kompletten Artikel: