fotohansel - Fotolia
Kontinuierlich lernende Systeme mit In-Memory Computing
Das Internet of Things (IoT) setzt Systeme für die Datenverarbeitung voraus, die ausreichend Rechenleistung bieten. In-Memory Computing ist eine Lösung hierfür.
Eine Herausforderung zahlreicher Anwendungsfälle für das Internet der Dinge (Internet of Things, IoT) ist, dass sie viele verschiedene Systeme kombinieren, die sich innerhalb kürzester Zeit ändern können.
Zum Beispiel können unvorhersehbare Wetterbedingungen oder schwierige Verkehrsverhältnisse in Teilen eines Landes die LKW-Flotte beeinflussen. Systeme, die deren Routen planen sowie die Lieferzeiten berechnen, sollten in der Lage sein, Abweichungen in Echtzeit zu berücksichtigen. Dieser Anforderung werden kontinuierlich lernende Systeme gerecht, die auf Machine Learning basieren. Diese können ihre Berechnungen permanent anhand aktuellster Daten anpassen.
Jedoch werden sich nur kontinuierlich lernende System in der Industrie durchsetzen, die auch zu einem bezahlbaren Preis verfügbar sind. Erst dann sind zahlreiche geschäftliche Anwendungsfälle für das IoT denkbar:
- Lieferketten: Logistikbetriebe und Hersteller können ihre LKWs mit IoT-fähigen Sensoren ausstatten, um den Standort der Fahrzeuge zu verfolgen oder den Zustand der Waren zu überwachen. Die dadurch gewonnen Informationen helfen dabei, die Logistik- und Beschaffungsplanung automatisch an sich verändernde Bedingungen anzupassen und somit Produktionskapazitäten zu optimieren.
- Fertigung: IoT-fähige Sensoren können ebenso eingesetzt werden, um den Maschinenzustand oder andere Betriebsbedingungen zu überwachen und somit den Produktionsbetrieb zu optimieren. Ist dem System bei einem Maschinenausfall zum Beispiel der Standort der Techniker und Ersatzteile, sowie deren Verfügbarkeit, in Echtzeit bekannt, kann es die Reparatur optimal planen und dadurch Ausfallzeiten minimieren.
- Smart Cities: Wollen Städte verstopften Straßen entgegenwirken, können sie Daten aus verschiedenen Quellen nutzen, darunter IoT-fähige Geräte. Lässt man Informationen zu aktuellen Veranstaltungen, Unfällen oder Straßensperren, sowie Daten aus der Auswertung von Verkehrskameras und Wetterstationen in die Systeme einfließen, die den Verkehrsfluss optimieren, können diese in Echtzeit aktualisiert werden. Diese Informationen lassen sich an autonome Fahrzeuge weiterleiten, die daraufhin ihre Routen entsprechend anpassen und somit Staus reduzieren.
Alle diese Anwendungen benötigen die entsprechende Rechenleistung, um die zahlreichen eingesammelten Informationen in Echtzeit nutzen zu können. Wenn die kontinuierlich lernenden Systeme auf einer Architektur mit hybrider, transaktionaler und analytischer Verarbeitung (Hybrid Transactional/Analytical Processing, HTAP) aufbauen, sind sie deutlich leistungsfähiger als Systeme, die auf nicht aktualisierbaren Entscheidungsmodellen basieren und tragen so zum Geschäftserfolg bei.
Der entscheidende Vorteil von HTAP besteht darin, dass die Architektur die Leistungsfähigkeit transaktionaler (OLTP) und analytischer Datenbanken (OLAP) in einem Datenspeicher vereint. Das macht Extraktions-, Transformations- und Ladeprozesse überflüssig. Eine solche Architektur eignet sich somit ideal für Echtzeit-Anwendungsfälle, da keine Zeitverzögerungen entstehen. Das macht HTAP-Echtzeitdatenanalysen von live übermittelten Daten möglich, ohne die Transaktionsleistung zu beeinflussen.
„Der entscheidende Vorteil von HTAP besteht darin, dass die Architektur die Leistungsfähigkeit transaktionaler und analytischer Datenbanken in einem Datenspeicher vereint.“
Nikita Ivanov, GridGain Systems
Wie In-Memory Computing HTAP ermöglicht
Um HTAP und somit kontinuierlich lernende Systeme zu verwirklichen, sind eine ganze Reihe von Technologien notwendig. In-Memory Computing bietet all diese Eigenschaften:
- In-Memory Datagrids: Ein In-Memory Datagrid verteilt sich auf Cluster aus lokalen Servern oder Cloud-Speichern. Sie können die gesamte Rechen- und Speicherkapazität des Clusters für Rechenvorgänge nutzen und sind zudem durch das Hinzufügen weiterer Rechner zum Cluster skalierbar. Ein weiterer Vorteil von In-Memory Datagrids besteht darin, dass sie einfach zwischen die Daten- und Anwendungsschichten vorhandener Applikationen eingefügt werden können, ohne dass die vorhandene Datenbank ersetzt werden muss.
- In-Memory Datenbank: Bei In-Memory-Datenbanken handelt es sich um voll funktionsfähige Datenbanken, die den Arbeitsspeicher nutzen und RDBMS-Funktionalitäten (relationales Datenbank-Management-System) mitsamt SQL-Unterstützung zur Verfügung stellen. Für bereits vorhandene Applikationen sind In-Memory-Datenbanken schwierig, da die Datenschicht ausgetauscht werden muss. Doch bei der Entwicklung neuer Anwendungen sollte aufgrund der Vorteile von Beginn an auf In-Memory-Datenbanken gesetzt werden. Auch kann im Rahmen größerer Umstrukturierungen der eigenen Architektur eine In-Memory-Datenbank für vorhandene Applikationen integriert werden.
- Streaming Analytics: Streaming Analytics Engines sind notwendig, um die Komplexität der Datenflüsse und des Event Processing handhaben zu können. Eine Engine kann dank In-Memory Computing und der damit verbundene Geschwindigkeit Live-Daten abfragen, ohne die Leistungsfähigkeit der Applikation zu beeinträchtigen.
- Kontinuierliches Lernen: Mithilfe von kontinuierlichem Lernen lassen sich Datensätze bis hin zu Petabyte-Größe in HTAP-Geschwindigkeit verarbeiten. Das ist durch Programmbibliotheken möglich, die sowohl mit Machine Learning (ML) als auch durch Deep Learning (DL) so optimiert wurden, dass sie gewaltige Datenmengen parallel verarbeiten können. Die Daten können dabei auf die Arbeitsspeicher der einzelnen Rechner eines In-Memory Clusters verteilt sein und das System ist trotzdem in der Lage, diese mithilfe von ML- und DL-Algorithmen lokal zu verarbeiten. Durch eine solche Architektur können die ML- oder DL-Modelle permanent um neue Daten ergänzt werden, ohne dass die Leistungsfähigkeit der Datenbank beeinträchtigt wird.
- Speicherzentrierte Architektur: Bei der Verarbeitung sehr großer Datenmengen lohnt sich der Einsatz speicherzentrierter Architekturen. Die für eine solche Architektur verwendeten Festplattenspeicher müssen ACID- und ANSI-99-SQL-konform sein und können auch über mehrere Standorte verteilt sein. Gleichwohl ist es möglich, mehrere Speicherarten, wie herkömmliche Laufwerke, Solid-State Drives (SSDs), Flash oder 3D XPoint, zu kombinieren. Die Besonderheit einer speicherzentrierten In-Memory-Architektur besteht darin, dass der vollständige Datensatz auf dem Festplattenspeicher verbleibt, während nur ein vom Benutzer festgelegter Teil der Daten dauerhaft im In-Memory Datagrid oder in der In-Memory-Datenbank abgespeichert wird. Auf diese Weise erhalten Unternehmen die Leistungsfähigkeit, die sie benötigen, ohne dass die Kosten für die Hardware explodieren. Ein weiterer Vorteil speicherzentrierter Architekturen besteht darin, dass das System nach einem Absturz schneller wieder hochgefahren werden kann, was vor allem für Produktionsbetriebe wichtig ist. Ein schnellerer Neustart ist dadurch möglich, dass bei einer speicherzentrierten Architektur direkt auf die abgespeicherten Daten zugegriffen werden kann, ohne sie vorher neu in den Arbeitsspeicher laden zu müssen.
Um wirklich von der digitalen Transformation zu profitieren, werden Unternehmen bei vielen IoT-Anwendungsfällen auf kontinuierlich lernende Systeme setzen müssen. Für die dafür benötigte Rechenleistung und Skalierbarkeit bietet In-Memory Computing die Lösungen.
Allerdings reicht das bloße Vorhandensein dieser Technologien nicht aus – Unternehmen müssen auch in der Lage sein, diese kostengünstig einzusetzen. In einigen Industriezweigen ist das bereits gelungen. Dort konnten durch erschwinglichen Arbeitsspeicher und mit hochentwickelter Open Source In-Memory-Computing-Software bereits umfangreiche HTAP-Infrastrukturen aufgebaut und dadurch kontinuierlich lernende Systeme verwirklicht werden.
Über den Autor:
Nikita Ivanov ist Gründer des Apache Ignite Projektes und CTO von GridGain Systems. Er begann bei GridGain mit der Entwicklung fortschrittlicher, verteilter In-Memory-Datenverarbeitungstechnologien. Ivanov verfügt über mehr als 20 Jahre Erfahrung in der Entwicklung von Softwareanwendungen sowie von HPC- und Middleware-Plattformen und unterstützt andere Start-ups und namhafte Unternehmen wie Adaptec, Visa und BEA Systems.
Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!