![](https://article-imgs.scribdassets.com/54210xvxvkaak15b/images/fileQ2AP8Z5K.jpg)
README Daten sammeln und speichern – das können viele Tools problemlos. Auf diese Daten effizient zuzugreifen ist schon etwas kniffliger. Wir zeigen hier anhand eines skalierbaren, datenbankgestützten Messsystems für Wetter-und Umweltdaten, wie Sie das sauber und vor allem einfach implementieren.
Ausgangspunkt für diesen Beitrag ist ein Raspberry Pi ab Version 2, der als Hardware für eine einzelne Messstation für Wetter-und Umweltdaten fungiert. Michael Bilger hat dazu bereits mehrere Beiträge↪ auf seinem Blog ↪veröffentlicht, die als Anregung zur technischen Umsetzung dienen können. Der Autor experimentiert dabei mit verschiedenen Sensoren sowie mit Python-Skripten, um die erfassten Daten auszulesen und anschließend anzuzeigen. Bei Bedarf ließe sich das Ganze mit einem Feinstaubsensor ↪erweitern, wie Sie ihn etwa vom Projekt Luftdaten.info↪aus Stuttgart beziehen können.
Wir gehen hier aber nicht auf die Hardware und deren Zusammenbau samt Software-Stack ein, sondern betrachten ausschließlich den Anteil für das Datenbankmanagementsystem (DBMS). Das ermöglicht es, mithilfe einzelner Sensoren die empfangenen Daten wie Temperatur, Luftfeuchtigkeit und Staubpartikel zu speichern und danach wieder effektiv auszulesen. Um den Themenbereich Datenbanken zu verstehen, hilft es, sich mit den Grundbegriffen vertraut zu machen (siehe Tabelle Begriffe).
Knackpunkt ist dabei die geschickte Lastverteilung zwischen der Software auf der Messstation und dem DBMS. Neben der Frage, welches DBMS für den konkreten Anwendungsfall das richtige ist, steht die nach der Tabellenanzahl und ‐struktur an, sprich: nach der Anzahl der Spalten, deren Anordnung in der Datenbank, dem pro Spalte verwendeten Datentyp und der Verknüpfung der Tabellen untereinander (Indexe).
Die Qualität der Datenbankabfrage (Query) basiert auf der zuvor festgelegten Tabellenstruktur und bestimmt die Antwortzeit und Datenmenge des DBMS und somit die gesamte Performance der Softwarelösung. Im Beispiel kam das DBMS PostgreSQL ↪ häusedeckel ab und bewegen uns in die Interna von PostgreSQL. Wie Sie sehen werden, sind