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
Schemasfinden sich die fachlichen oder technisch erzeugten Bereiche der Datenbank. - Innerhalb eines Schemas liegen
Tables,Viewsund weitere Objekte. - In einer Tabelle lassen sich Spaltennamen und Datentypen einsehen, zum Beispiel
text,integer,timestampodergeometry. - Ü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
Stellioautomatisch angelegt und verwaltet werden, sollten solche Eingriffe in der Regel nicht direkt inpgAdminerfolgen.
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-REDschreibt häufig Daten direkt in Tabellen oder liest Daten daraus ausKontextbrokerund 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
pgAdmindienen als Oberfläche für Datenbankinhalte, ohne selbst die eigentliche Datenhaltung zu sein Supersetoder andere Analysewerkzeuge greifen oft direkt auf relationale Datenbestände zuGeoServerkann Geodaten aus PostGIS lesen und als Dienste bereitstellen