Zum Hauptinhalt springen

Datenbanken

Datenbanken bilden die technische Grundlage der Datenhaltung in der Plattform. Strukturierte Informationen werden dort zuverlässig gespeichert, organisiert und für weitere Nutzung bereitgestellt. Sie sind vor allem für strukturierte Daten gedacht, also für Inhalte, die tabellarisch, nachvollziehbar und auswertbar abgelegt werden sollen.

Was sind Datenbanken?

Datenbanken sind Systeme, in denen strukturierte Informationen in Tabellen gespeichert, verknüpft und ausgewertet werden können. Für Nutzende ist das besonders dann hilfreich, wenn Daten übersichtlich, stabil und gut analysierbar abgelegt werden sollen. In der Plattform wird dafür Postgres eingesetzt. Gleichzeitig sind Datenbanken auch der technische Unterbau für weitere Plattformbausteine.

Relationale Datenbanken speichern Informationen zeilen- und spaltenbasiert in Tabellen. Neue Daten können importiert, aktualisiert oder für Auswertungen vorbereitet werden. Andere Systeme greifen anschließend darauf zu, zum Beispiel für Berichte, Dashboards, Geodienste oder Integrationsprozesse. In der Plattform ist Postgres dabei nicht nur eine eigene fachliche Ablageoption, sondern häufig auch ein Baustein, auf dem andere Komponenten aufsetzen.

Wenn räumliche Daten verarbeitet werden sollen, wird Postgres häufig um PostGIS erweitert. PostGIS ergänzt die Datenbank um Funktionen für Geodaten, also zum Beispiel für Punkte, Linien, Flächen und räumliche Abfragen.

Wenn viele Zeitreihen oder fortlaufende Messwerte verarbeitet werden, kann Postgres zusätzlich mit TimescaleDB ergänzt werden. Das ist besonders hilfreich bei Sensorwerten und anderen Daten, die kontinuierlich mit Zeitstempel anfallen.

Wie werden Datenbanken verwaltet?

Zu Datenbanken gehört in der Praxis meist auch eine Verwaltungsoberfläche. In der Plattform wird dafür unter anderem pgAdmin genutzt. Damit lassen sich Tabellen einsehen, SQL-Abfragen ausführen, Daten prüfen oder Strukturen nachvollziehen. Für Nutzende ist wichtig: Die Datenbanken sind die eigentliche Ablage, Werkzeuge wie pgAdmin helfen bei Verwaltung, Kontrolle und Analyse.

Arbeiten mit pgAdmin

Bevor mit pgAdmin auf eine Datenbank zugegriffen werden kann, muss dort zunächst eine Verbindung zum jeweiligen Datenbankserver angelegt und konfiguriert werden. Dafür werden typischerweise Angaben wie Host, Port, Datenbankname, Benutzername und Passwort benötigt.

Die Zugangsdaten können in der Regel bei der Hypertegrity erfragt werden. Wenn bereits direkter Zugriff auf das Cluster oder die Betriebsumgebung besteht, lassen sich diese Informationen je nach Berechtigung auch selbst ermitteln.

Erst nach dieser Einrichtung können in pgAdmin dann Schemas, Tabellen, Views und weitere Datenbankstrukturen eingesehen und bearbeitet werden.

Wo finde ich Daten, Tabellen und Datentypen?

In pgAdmin lassen sich Datenbankinhalte typischerweise über den Baum auf der linken Seite erschließen. Dort kann man sich schrittweise durch Server, Datenbank, Schema und Tabellen bewegen.

Für die Praxis ist vor allem wichtig:

  • Unter Schemas finden sich die fachlichen oder technisch erzeugten Bereiche der Datenbank.
  • Innerhalb eines Schemas liegen Tables, Views und weitere Objekte.
  • In einer Tabelle lassen sich Spaltennamen und Datentypen einsehen, zum Beispiel text, integer, timestamp oder geometry.
  • Über einfache SQL-Abfragen kann auch direkt geprüft werden, wie Daten tatsächlich abgelegt wurden.

So lässt sich zum Beispiel nachvollziehen, ob ein Wert als Text gespeichert wurde, ob eine Zahl wirklich numerisch vorliegt oder ob Zeit- und Geoinformationen in der erwarteten Form angelegt wurden.

Wie ändere ich Strukturen oder Datentypen?

Grundsätzlich lassen sich in PostgreSQL auch Spalten, Datentypen und Tabellenstrukturen ändern. Das kann zum Beispiel sinnvoll sein, wenn eigene Tabellen bereinigt, fachlich verbessert oder für Auswertungen besser vorbereitet werden sollen.

Ein typischer Fall wäre etwa, dass ein Attribut bisher als text vorliegt, fachlich aber eigentlich als integer gebraucht wird. Solche Änderungen sollten aber nur dann direkt in der Datenbank vorgenommen werden, wenn klar ist, dass die Tabelle auch wirklich direkt fachlich gepflegt wird.

Wichtig ist die Unterscheidung:

  • Bei eigenen Tabellen oder Views sind direkte strukturelle Anpassungen grundsätzlich normal.
  • Bei Tabellen, die von Komponenten wie Stellio automatisch angelegt und verwaltet werden, sollten solche Eingriffe in der Regel nicht direkt in pgAdmin erfolgen.

Wenn Daten aus dem Kontextbroker stammen, ist es meist besser, die Ursache früher im Datenfluss zu korrigieren, also zum Beispiel im Mapping, im Datenmodell oder in der schreibenden Komponente, statt die von Stellio verwalteten Tabellen direkt manuell umzubauen.

Wann nutze ich Datenbanken direkt und wann eher nicht?

Die direkte Ablage in Datenbanken ist vor allem dann sinnvoll, wenn du die zusätzlichen Funktionen eines Kontextbrokers gar nicht brauchst. Das ist häufig der Fall, wenn Daten schon strukturiert vorliegen, eher statisch sind oder einfach direkt für Abfragen, Berichte und Analysen genutzt werden sollen. Typische Fälle sind Listen, Register, Referenzdaten, Importdaten oder vorbereitete Auswertungstabellen.

Ein weiterer typischer Fall sind größere statische oder selten aktualisierte Datenimporte. Wenn du zum Beispiel Points of Interest aus OpenStreetMap übernimmst, musst du diese Daten nicht erst als dynamische Objekte über einen Kontextbroker modellieren. Dann ist die direkte Speicherung in Datenbanken meist einfacher und passender.

Weniger passend ist dieser Weg, wenn Daten nicht nur gespeichert, sondern als aktuelle Informationen zu einzelnen Objekten bereitgestellt werden sollen. Das betrifft zum Beispiel Sensoren, Parkplätze, Pegel oder Anlagenzustände, bei denen sich Werte laufend ändern und über eine passende Schnittstelle bereitgestellt werden sollen. Dann ist eher der Kontextbroker die passendere Wahl.

Und wenn Daten vor allem als Dateien vorliegen, etwa als Dokumente, Bilder, CSV-Exporte oder große Rohdatenpakete, ist meist ein Dateispeicher besser geeignet.

Wie spielen Datenbanken mit anderen Komponenten zusammen?

  • Node-RED schreibt häufig Daten direkt in Tabellen oder liest Daten daraus aus
  • Kontextbroker und Datenbanken sind keine Gegensätze: Datenbanken bilden die Grundlage, während der Kontextbroker darauf eine zusätzliche fachliche Sicht und weitere Funktionen aufsetzt
  • Verwaltungswerkzeuge wie pgAdmin dienen als Oberfläche für Datenbankinhalte, ohne selbst die eigentliche Datenhaltung zu sein
  • Superset oder andere Analysewerkzeuge greifen oft direkt auf relationale Datenbestände zu
  • GeoServer kann Geodaten aus PostGIS lesen und als Dienste bereitstellen

Weiterführende Informationen