Hallo zusammen,
ich stelle hier ein Projekt vor, an dem ich mitarbeite: LibreDB Studio, ein Datenbank-Client unter MIT-Lizenz. Kein Desktop-Programm, sondern ein Dienst, den man selbst betreibt und im Browser benutzt.
Der Gedanke dahinter ist simpel. Ein klassischer Client wird auf jedem Rechner einzeln installiert, und jeder dieser Rechner braucht dann einen Weg zur Datenbank. Bei uns läuft der Server in einem Container, und die Oberfläche ist der Browser. Damit sitzt das Werkzeug im selben Netz wie die Datenbank, und die Datenbank muss nicht nach außen geöffnet werden.
Installation ist ein Befehl:
docker run -p 3000:3000 libredb/libredb-studio:0.17.0
Beim ersten Start wird ein Administratorkonto angelegt und das Passwort ins Log geschrieben. Wer es lieber selbst setzt, gibt ADMIN_PASSWORD als Umgebungsvariable mit.
Was drin ist: achtzehn eigene Treiber, darunter PostgreSQL, MySQL, MariaDB über das MySQL-Protokoll, SQLite, DuckDB, MongoDB, Redis, ClickHouse und Apache Cassandra. Dazu ein SQL-Editor mit Vervollständigung, ein Objektbrowser, ER-Diagramme, Schema-Vergleich zwischen zwei Datenbanken, EXPLAIN-Pläne und ein Protokoll darüber, wer welche Abfrage ausgeführt hat. Anmeldung per OIDC und Rollenrechte sind enthalten, nichts davon ist kostenpflichtig, und es gibt keine kostenpflichtige Ausgabe.
Eine Sache, die mir wichtig ist zu erwähnen, weil sie uns selbst überrascht hat: drei der achtzehn Treiber schreiben nicht, weil die jeweilige Datenbank es in ihrem SQL gar nicht vorsieht. Das sind Druid, Elasticsearch und OpenSearch. Prometheus und Kafka sind aus demselben Grund nur lesend. Das steht bei uns dran, statt dass eine Schaltfläche erst beim Klicken scheitert.
Es läuft auf amd64 und arm64, also auch auf einem Pi mit genug Arbeitsspeicher.
Quellcode: https://github.com/libredb/libredb-studio Projektseite: https://libredb.org
Rückmeldungen nehme ich gern, besonders wenn jemand eine Datenbank anschließt, die bei uns noch nicht in der Liste steht.