Ich beschäftige mich derzeit auch privat mit der Frage, wie ich die vielen Daten auswerten und visualisieren kann, die in typischen Internet of Things Szenarien, oder bei der Hausautomatisierung vorkommen.
Dazu habe ich mir die freie, spaltenorientierte Datenbank Druid angesehen.
In einem typischen Szenario der Hausautomatisierung fallen regelmäßig Daten von Sensoren oder Aktoren an, die man gerne auswerten oder visualisieren möchte. Das ist in IoT Szenarien nicht anders.
Herzstück vieler solcher Heimlösungen ist ein Meldungsserver der mit dem Messagebroker MQTT arbeitet, eine entsprechende Datenbank und OpenHAB als Steuerungsoberfläche. Im industriellen Umfeld kommen sogenannte SMACK Stacks zum Einsatz. Dabei ist der Baustein Akka derjenige, der z.B. eigehende MQTT Nachrichten verarbeitet.
SMACK steht für ein Ensemble aus den Softwarebausteinen Spark, Mesos, Akka, Cassandra, Kafka. Wie diese konkret zusammenspielen, und wie diese sich insgesamt in die große Welt der Big Data einordnen, ist nicht leicht in wenigen Zeilen zu erklären. Deshalb verweise ich auf die Artikel, auf die am Artikelende angefügt habe („Spark, Mesos, Akka, Cassandra, Kafka: Aus Big Data werde Fast Data„).
Ein solcher Stack besitzt heutzutage noch Limitationen, wenn es um das Reporting geht. Hier bietet das erwähnte Druid eine sinnvolle Ergänzung. Druid verspricht OLAP Verarbeitungsfähigkeiten („Online Analytical Processing“) in einem Echtzeitkontext, d.h will analytische Fähigkeiten, die heute vielfach im Unternehmensumfeld eingesetzt werden, zur Verarbeitung großer Echtzeit-Datenmengen bereitstellen.
Einige der unten angefügten Artikel verweisen auf den Blog des Druid Projektes. In den dort publizierten Artikeln wird genauer erklärt, wie sich diese Technologie einsetzen läßt, um z.B. in Echtzeit große Mengen von Sensordaten verarbeiten zu können (siehe „Batch-Loading Sensor Data into Druid„).
In dem konkreten Beispiel werden Daten über Wassermengen direkt von den vielen Sensoren eingelesen, die eine spezielle US Behörde („United States Geological Survey (USGS) “ ) online zur Verfügung stellt. Dabei wird ein besonderer Service der Statistik Software „R“ benutzt, um dies galant zu tun.
Die Daten werden dann für Druid vorbereitet und anschließend über einen sogenannten Task in die Datenbank übernommen. Vorher muss jedoch ein Cluster gestartet werden, der diese Daten verarbeiten kann. Der Artikel endet mit Testverfahren, die benutzt werden können, um nachzuweisen, daß die Daten dort wirklich gelandet sind.
Die grundlegenden Konzepte werden unter dem Menueoberpunkt „Documentation“ behandelt. Hier sieht man, daß Druid eine Datenstruktur verwendet die im OLAP Reportingumfeld häufiger zum Einsatz kommt (Zeitstempel, Dimension und Metrics).
Sobald sie eingehen, können die Daten bereits aggregiert werden. Hierbei verliert man zwar Details, spart jedoch Platz in der Datenbank. Die entsprechenden Speicherbereiche für diese Daten werden Segmente genannt.
Was Druid besonders interessant macht ist die Echtzeitfähigkeit, d.h eingehende Daten können sowohl in Echtzeit aufgenommen und gespeichert werden, als auch mit verschiedenen Methoden ausgelesen werden (JSON, Http, SQL).
Druid besitzt Schnittstellen zu Services wie Zookeeper, die ebenfalls in den SMACK Stacks eingesetzt werden und kann für den Betrieb in Hochverfügbarkeitszenarien konfiguriert werden.
Dies war nur eine kurze Einführung in die Thematik. Druid erscheint mir jedoch so interessant für die Analytics, die mir im IoT Umfeld vorschwebt, daß ich sicher weiter machen werde.
Beispielsweise läßt sich über Druid und R eine Lösung zusammenstellen, die einen Twitterstream in Echtzeit auswerten kann. Dies wäre vielleicht ein interessanter Einstieg, um etwas mehr Erfahrungen damit zu sammeln.
Das Original dieses Artikels ist auf →Der Produktmanager erschienen (©Andreas Rudolph). Folgeartikel zum Thema gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen.
Quelle des Artikelbildes: Messe München.
Alle hier verwendeten Namen gehören den jeweiligen Inhabern der Rechte.
In der Online Version des Artikels finden Sie hier die versprochenen weiterführenden Links: