Überblick über den Use Case
Zunächst möchten wir Dir einen kurzen Überblick über den Use Case geben. Unser Anwendungsfall heißt CoffAI und der Name ist Programm, denn wir haben unsere Leidenschaft zur Artificial Intelligence (AI) mit dem vermutlich meist genutzten Gegenstand in jedem IT Büro, der Kaffeemaschine, kombiniert.
Die Kaffeemaschine von esentri produziert täglich nicht nur hervorragenden Kaffee, sondern ist zusätzlich mit einem Vibrationssensor ausgestattet, der alle Vibrationen und Umgebungsdaten wie Temperatur und Feuchtigkeit misst.
Anhand von diesen Daten können wir nicht nur die Produktauswahl des jeweiligen Kaffees bestimmen, sondern auch zusätzlich eine Statistik führen. Die Historie geht dabei inzwischen bereits mehr als 18 Monate zurück, in der wir jeden einzelnen Kaffee der 9000 Kaffeeobservationen vorhergesagt und aufgezeichnet haben.
Ein besonderes Highlight ist dabei immer, die Vibrationsdaten des gerade erzeugten Kaffees live mitzuverfolgen. Doch wie macht man die gerade erzeugten Daten am besten für eine Echtzeitanzeige verfügbar?
Dieser Frage werden wir im anschließenden Absatz auf den Grund gehen.
2 Fälle, um ein Problem zu lösen
Die Daten des Vibrationssensors durchlaufen einen AWS Kinesis-Stream, um anschließend durch eine Lambdafunktion klassifiziert in eine DynamoDB Datenbank geschrieben zu werden. Zusätzlich werden die Rohdaten direkt von dem Sensor in eine DynamoDB Datenbank geschrieben. Den Vorgang hierzu kannst Du auf dem Beitrag im Detail nachverfolgen.
Nun gibt es zwei Möglichkeiten auf diese Daten zuzugreifen, entweder wir nutzen die Daten aus der Datenbank (Fall 1) oder wir greifen direkt auf den Kinesis-Stream (Fall 2) zu. Die Frage, die uns dabei umgetrieben hat, war vor allem:
Wie viel reaktiver ist denn eigentlich ein direkter Zugriff auf den Datenstream im Vergleich zum Zugriff auf die mit dem Datenstream gefüllte Datenbank? Lohnt sich der direkte Zugriff auf den Datenstream oder reden wir hier von Millisekunden?
Um diese Frage zu beantworten, haben wir beide Fälle implementiert und stellen Dir nun die Ergebnisse hierzu vor.