cherezoff - stock.adobe.com

Apache Cassandra erobert Edge-Anwendungen

Zahlreiche Branchen haben den Wert von Edge-Anwendungen erkannt. Eine NoSQL-Datenbank wie Apache Cassandra spielt in solchen Edge-Szenarien ihre Stärken aus.

Beim Thema Datenspeicher erscheinen vor dem inneren Auge zwangsläufig riesige Gebäudekomplexe in deren Kelleretagen gigantische Serverfarmen vor sich hinsurren. Zentrale Rechenzentren sind das steinerne Fundament luftiger Cloud-Anwendungen. Sie sind aber nicht nur der Speicherort für die Daten der Kunden von Hyperscalern: Traditionell betreiben auch viele Unternehmen eigene Rechenzentren. In einigen Branchen hat sich allerdings aus der Notwendigkeit heraus, Daten möglichst schnell und ohne Umwege über Cloud und zentrale On-Premises-Server zu verarbeiten, ein Paradigmenwechsel ereignet. Immer häufiger setzen Fertigungsbetriebe in ihren Industrieanlagen auf Edge Computing, also die Datenverarbeitung vor Ort.

Eine Sache haben Geräte aus der Operational Technology (OT), also zum Beispiel Produktionsstraßen, gemeinsam – sie produzieren nicht nur Güter, sondern auch eine Unmenge von Daten. Um aus ihnen nützliche Informationen zu gewinnen, benötigen Unternehmen allerdings nicht nur Hard- und Middleware, sondern auch eine leistungsstarke Datenbank. Sie muss in der Lage sein, viele Daten zu empfangen, sie schnell zu verarbeiten und anschließend zu persistieren, also zu speichern.

Im Hinblick auf das Anforderungsprofil von Edge-Anwendungen hat sich der Einsatz von Apache Cassandra als sinnvoll erwiesen. Die NoSQL-Datenbank ist hochskalierbar und bietet durch den Multi-Cluster-Ansatz Hochverfügbarkeit sowie eine hohe Resilienz.

NoSQL: Die bessere Alternative am Edge

Ein typisches Anwendungsszenario am Edge ist Predictive Maintenance (vorausschauende Wartung). Die Idee ist, Verschleiß zu erkennen, bevor er zum Problem wird und proaktiv Gegenmaßnahmen zu ergreifen. Um dieses Szenario in Echtzeit gewährleisten zu können, steht es außer Frage, die erhobenen Daten in die Cloud oder an ein zentrales Rechenzentrum weiterzuleiten: Der Weg aus der Industrieanlage über das Netzwerk bis in die Cloud oder das zentrale Rechenzentrum ist zu lang, um wirkliche Echtzeitverarbeitung zu garantieren.

Die nötige Verarbeitungszeit ist auch der Grund, warum NoSQL-Datenbanken am Edge in Szenarien wie Predictive Maintanance die Nase vorn haben: Wären alle Daten von einem einheitlichen Format, würde eine SQL-Datenbank, die Zeitreihen speichern kann, genügen. Tatsächlich sind die meisten Events von Maschinen Log-Daten mit Zeitstempel. Allerdings gibt es in Produktionsstraßen zahlreiche Einzelteile und Sensoren unterschiedlicher Hersteller, deren Daten sich nicht ohne Weiteres in ein einheitliches SQL-Format umwandeln lassen. NoSQL-Datenbanken wie Apache Cassandra bieten in diesem Zusammenhang den Vorteil, dass sie unstrukturierte rohe Daten verarbeiten können.

Da die Daten unstrukturiert sind, bieten sie auch langfristig einen Mehrwert. SQL-Datenbanken schnüren ein enges Formatkorsett, sodass etwa die Spaltenanzahl in den Tabellen festgelegt ist. Dadurch können wertvolle Informationen verloren gehen, die dann zum Beispiel fehlen, um eine KI für die vorausschauende Wartung zu trainieren. In vielen Fällen genügt beispielsweise die Betrachtung der Temperatur einer Produktionsmaschine, um proaktiv einen Kühlkörper auszutauschen, wenn er langsam verschleißt. Allerdings ergibt es manchmal Sinn, die Temperaturschwankungen in Relation zu anderen Werten zu setzen, etwa zur Betriebsdauer oder der Geschwindigkeit der Produktionsstraße. Nur mit einem holistischen Blick auf die Daten können Analysten und künstliche Intelligenzen die Produktion möglichst optimal feinjustieren. SQL-Datenbanken sind in dieser Hinsicht zu unflexibel.

In Edge- und IoT-Szenarien wie der vorausschauenden Wartung, spielt der NoSQL-Ansatz von Apache Cassandra seine Stärken voll aus. Die Datenbank ist nicht nur als Speed Layer für die Verarbeitung von Daten in Echtzeit geeignet, sondern auch als Batch Layer, in dem die Daten langfristig persistiert werden. Aus dem Batch Layer können Entwickler die Daten später auch in andere Datenformate und in andere Datenbanken ohne Probleme exportieren, was ebenfalls für NoSQL und gegen sequenzielle Datensicherung spricht.

Ein Blick unter die Haube

Was Apache Cassandra neben der Skalierbarkeit auszeichnet, ist die Mixtur aus hoher Performance, Resilienz und Verfügbarkeit. Das liegt an dem empfohlenen, nicht forcierten Multi-Node-Ansatz. Nutzer können Apache Cassandra als Single-Node-Datenbank betreiben, allerdings eignet sich dieses Format nur für simple Testzwecke – zum Beispiel um zu testen, wie eine API funktioniert oder User sich mit der Datenbank verbinden. Bereits für Performance-Tests ist ein Single-Node-Ansatz sinnlos, denn Apache Cassandra entfaltet erst im Verbund mehrerer Nodes seine Leistungsstärke.

Das empfohlene Quorum, um Apache Cassandra zu betreiben, liegt bei drei zusammengeschalteten Nodes. Diese sind – anders als etwa bei PostgreSQL – nicht in primary und secondary unterteilt, sondern kommunizieren alle gleichwertig. Diese Kommunikation findet über ein sogenanntes Gossip-Protokoll statt, welches sicherstellt, dass alle eintreffenden Daten gleichermaßen auf allen Nodes synchron gespeichert werden. Auf diese Weise stellt Apache Cassandra Resilienz und Konsistenz her: Geht ein Node in die Knie, gibt es noch zwei weitere, die eine konsistente Datenlage garantieren. Je mehr Nodes vorhanden sind, desto mehr können in der Theorie ausfallen, ohne die Konsistenz der Daten zu gefährden.

Eine größere Anzahl an Cassandra-Nodes hat allerdings auch den Vorteil, dass die Datenbank insgesamt mehr Daten gleichzeitig verarbeiten und persistieren kann. Da die Open-Source-Datenbank nicht automatisch skaliert, müssen Nutzer sich manuell um die entsprechenden Konfigurationen kümmern. Hier kann allerdings ein Managed-Service-Provider unterstützen, der sich darum kümmert, dass die Speicher der Datenbank nicht überlaufen. In Sachen Sicherheit bietet Cassandra eine granulare, rollenbasierte Zugriffskontrolle, durch die Anwendungen und User nur auf die Daten zugreifen können, die sie auch wirklich benötigen. Auch die Möglichkeiten, Daten in die Datenbank zu schreiben oder auszulesen können Administratoren variabel konfigurieren. Zudem findet die Datenübertragung grundsätzlich verschlüsselt über Secure Sockets Layer (SSL) statt – auch zwischen den Clustern selbst.

Wie kommt Cassandra an den Edge?

Leider ist es nicht trivial, Apache Cassandra an den Edge zu bringen. Fertigungsbetriebe müssen beispielsweise zunächst einmal evaluieren, welche Daten für ihren speziellen Anwendungsfall wertvoll sind. In diesem Zuge sollten sie auch darüber nachdenken, welche Daten vielleicht in Zukunft interessant sein können, zum Beispiel um eine KI für die vorausschauende Wartung zu schulen. Anschließend müssen Unternehmen ihre gesamte IT- und OT-Infrastruktur auf diese Art der Datenverarbeitung abstimmen.

Merlin Walter, Instaclustr

„In Edge- und IoT-Szenarien wie der vorausschauenden Wartung, spielt der NoSQL-Ansatz von Apache Cassandra seine Stärken voll aus.“

Merlin Walter, Instaclustr

Da Industrieanlagen die Sensordaten nicht ohne weiteres an die IT, also die Edge-Anwendungen, übertragen können, ist ein Edge-Gateway erforderlich, das die Verbindung zwischen OT und IT herstellt. In der Regel sind das Geräte, die über eine Vielzahl von physischen Anschlüssen und eine entsprechende Middleware verfügen. Zudem müssen Unternehmen ein IoT-Netzwerk aufbauen, über das die Daten fließen können – das kann kabellos oder kabelgebunden sein, je nach Sicherheitsanforderungen.

Sind all diese Voraussetzungen erfüllt, stellt Apache Cassandra selbst oft eine weitere große Herausforderung dar: Zwar bietet die Open-Source-Datenbank sämtliche Freiheiten, sie allerdings in Betrieb zu nehmen, zu konfigurieren und dann auch zu managen, kann die IT-Abteilung kleiner und mittelständischer Betriebe vor Probleme stellen. Eine sinnvolle Alternative ist, den Betrieb über eine Managed Platform weitestgehend zu automatisieren. Auf diese Weise lassen sich über ein einheitliches Webinterface auch die vorgelagerten Teile einer Datenpipeline konfigurieren und verwalten. Apache Kafka zum Beispiel ist als Verteiler für die Daten beinahe obligatorisch und eng auf Apache Cassandra abgestimmt.

Unabhängig vom Architekturansatz ist Apache Cassandra bestens für den Einsatz in Edge-Szenarien geeignet. Durch die hohe Verfügbarkeit, Performance, Skalierbarkeit und Resilienz zeichnet sich die Open-Source-Datenbank nicht nur für die Echtzeitdatenverarbeitung aus, sondern insbesondere auch für eine gleichzeitig langfristige Persistenz der Daten.

Über den Autor:
Merlin Walter ist Staff Sales Engineer EMEA bei Instaclustr.

Erfahren Sie mehr über Datenverwaltung