Über unsMediaKontaktImpressum
[Sponsored Post] 10. Januar 2017

Von Cognitive Analytics, Data Lakes und Machine Learning

Welche Möglichkeiten bieten Hadoop, Spark, NoSQL und Big Data? Wozu benötigt man ein Data Lake? Was ist Machine Learning? Was ist Cognitive Analytics? Was kann die IBM Watson Data Platform? Wie können Software-Architekten und Entwickler diese nutzen? Wie kann man Bluemix - IBM’s Cloud Plattform, die Infrastruktur, Apps und Services anbietet - testen? Informatik Aktuell sprach mit Dr. Andreas Weininger. Er beschäftigt sich seit mehr als 20 Jahren mit der Analyse von Daten, Themen rund um relationale Datenbanken und Data Warehousing sowie NoSQL-Systemen und Big Data-Technologien.Informatik Aktuell: Was ist unter Cognitive Analytics zu verstehen? Dr. Andreas Weininger: Anwender haben immer mehr den Anspruch, dass traditionelle analytische Anwendungen auch um eine kognitive Komponente erweitert werden. Kognitiv bedeutet dabei, dass Funktionalitäten wie die Verarbeitung von Texten und natürlicher Sprache möglich sind. Zum anderen geht es nicht nur um die Analyse und Aufbereitung von in der Vergangenheit angefallenen Daten, sondern auch um die Vorhersage von zukünftigen Ereignissen. Dabei werden Verfahren der Artifical Intelligence (AI) eingesetzt. Wobei man AI nicht nur als Artifical Intelligence interpretieren sollte, sondern als "Augmented Intelligence". Dies soll ausdrücken, dass das Ziel nicht das Ersetzen von Anwendern ist, sondern diese mit erweiterten Fähigkeiten auszustatten, um Aufgaben besser durchführen zu können. Informatik Aktuell: Können Softwareentwickler Cognitive Analytics in ihrer eigenen Software einsetzen? Und wie funktioniert das technisch? Dr. Andreas Weininger: IBM bietet auf der Cloud-Plattform Bluemix verschiedenste kognitive APIs etwa für Visual Recognition, Language Translation oder Speech-To-Text und analytische Systeme wie Spark, Hadoop oder relationale Systeme wie dashDB, die auch die Ausführung von Advanced Analytics-Verfahren direkt in der Datenbank erlauben. Bei all diesen APIs findet man neben der Dokumentation unter Bluemix auch Beispiele und Tutorials, wie man damit eigene Software erstellt bzw. wie man sie in eigene Software einbindet. Informatik Aktuell: Was genau ist Bluemix? Dr. Andreas Weininger: Bluemix ist IBM’s Cloud Plattform, die Infrastruktur, Apps und Services anbietet, um schnell und einfach Anwendungen bauen und auch betreiben zu können. Die Services, die angeboten werden stammen dabei sowohl von IBM als auch von Drittanbietern. Informatik Aktuell: Kann ich das auch irgendwie ausprobieren? Was ist dazu notwendig? Wie gehe ich da genau am besten vor? Dr. Andreas Weininger: Man muss sich auf der Bluemix Startseite [1] nur registrieren und kann dann sofort loslegen. Für die Registrierung fallen keine Kosten an. Auch gibt es für viele Dienste eine sogenannte Freemium-Variante, bei der man die Dienste kostenlos nutzen kann. Wenn man sich bei Bluemix angemeldet hat, kann man sich zunächst in einem Katalog ansehen, was alles an Services angeboten wird. Wenn man dann einen Service auswählt, bekommt man nicht nur die Dokumentation, sondern meist auch Beispiele, Demos und Tutorials angezeigt. Das kann man als Ausgangspunkt für erste eigene Experimente nehmen. Informatik Aktuell: Hadoop, Spark, NoSQL und Big Data sind in aller Munde. Welche Möglichkeiten bieten diese Technologien denn? Dr. Andreas Weininger: Das sind viele Technologien in einer Frage. Fangen wir mit Big Data und Hadoop an. Mit Big Data verbindet man nicht nur die großen Datenmengen, die analysiert werden können, sondern auch die Möglichkeit, neben strukturierten Daten auch semistrukturierte und unstrukturierte Daten verarbeiten zu können. Zusätzlich soll die Verarbeitung auch immer skalieren, d. h. über alle Knoten eines Clusters verteilt parallel ausgeführt werden können. Ein Hadoop-System bietet die Infrastruktur für die Big Data-Verarbeitung. Es besteht dabei aus verschiedenenen Software-Komponenten, die kontinuierlich weiterentwickelt werden. Es gibt deshalb Hadoop-Distributionen, die dafür sorgen, dass alle Komponenten zusammenspielen und das Hadoop-System einfach installierbar ist. Die Hadoop-Distribution von IBM nennt sich BigInsights. Um die Basiskomponenten der Hadoop-Distribution kompatibel zwischen verschiedenen Distributionen zu halten, hat IBM zusammen mit anderen Herstellern wie Hortonworks ein Konsortium – die ODPi – gegründet, um diese Basiskomponenten für die verschiedenen Plattformen zu standardisieren. Die BigInsights-Distribution wird aber noch durch IBM-eigene Komponenten wie Big SQL angereichert, das einen funktional sehr vollständigen und sehr perfomanten SQL-Zugriff auf Daten in Hadoop bietet. Neben der Distribution zur Installation von BigInsights auf eigener Hardware on Premises kann man BigInsights auf der schon erwähnten Bluemix-Plattform auch als managed Service in der Cloud nutzen. Zu Spark: Neben dem traditionellen Map/Reduce zur Auswertung in Big Data-Systemen hat Spark in letzter Zeit stark an Bedeutung zugenommen. Sein Vorteil ist neben der in-memory-Verarbeitung das funktionale Programmiermodell, das die einfache parallele Verarbeitung ermöglicht. Auch gibt es für wichtige Anwendungsbereiche wie etwa Machine Learning schon gute Bibliotheken für Spark. Deshalb hat IBM ein starkes Commitment zu Spark entwickelt: IBM ist inzwischen die Firma mit den zweitmeisten Commits. IBM trägt inbesondere in den Bereichen SQL und Machine Learning viel zu Spark bei. Außerdem schafft IBM auch eine Integrationsmöglichkeit für Spark bei vielen seiner anderen Produkte wie zum Beispiel den relationalen Datenbanken dashDB und DB2. So ist z. B. bei dashDB Local Spark co-located mit den Datenbankpartitionen, so dass eine Kommunikation zwischen Spark und dashDB mit minimalen Overhead möglich ist. Zum Thema NoSQL: Viele Anwendungen, die direkt mit dem Endanwender interagieren – man spricht von Systems of Engagement – verwenden JSON-Dokumente zur Speicherung ihrer Daten. Daneben brauchen diese Anwendungen eine große Skalierbarkeit, um mit einer auch kurzfristig wachsenden Benutzerlast mitwachsen zu können. Deshalb sind sogenannte dokumentenorientierte NoSQL-Systeme entstanden, die genau auf diese Anforderungen zugeschnitten sind. IBM bietet verschiedene dieser NoSQL-basierten Systeme als managed Service in der Cloud an. Manged Service bedeutet dabei, dass man sich selbst ganz auf die Anwendung konzentrieren kannn, da der gesamte Betrieb des NoSQL-Datenbanksystems von IBM abgenommen wird. Beispiele, die IBM als managed Service anbietet sind MongoDB und Cloudant, ein CouchDB-basiertes System. Neben den dokumentenorientierten NoSQL-Systemen gibt es noch andere: etwa Graphdatenbanken. Diese eignen sich besonders gut um Beziehungen zwischen Entitäten abzubilden. Eine Standard-Schnittstelle, die sich für solche Graphdatenbanken herausgebildet hat, ist Apache TinkerPop. IBM Graph – wie MongoDB und Cloudant über die Bluemix-Seite verfügbar – ist eine solche Graphdatenbank, die diese Schnittstelle implementiert. Informatik Aktuell: Was ist ein Data Lake und wofür braucht man den? Dr. Andreas Weininger: Ein Data Lake ist ein Repository von strukturierten und unstrukturierten Daten, das direkt abgefragt werden kann. Der Vorteil ist, dass auf Daten schon zugegriffen werden kann, bevor sie mit ETL-Jobs aufbereitet wurden. Häufig wird HDFS für dieses Repository verwendet. Um aber vernünftig mit den Daten in einem Data Lake arbeiten zu können, muss man wissen, um was es sich bei den Daten handelt, woher sie kommen, wie sie benutzt werden. Um dies sicherzustellen, bietet IBM mit dem Governance Catalog ein Produkt, das diese Metadaten erfasst und verwaltet. Informatik Aktuell: Das Internet der Dinge ist ja in aller Munde. Ist IBM in diesem Bereich auch aktiv? Dr. Andreas Weininger: Sehr sogar. Das weltweite Zentrum der IBM für Aktivitäten im Bereich Internet der Dinge ist das neu eröffnete Watson IoT Center in München. An der Kombination von Watson und IoT sieht man schon, dass IBM kognitive Fähigkeiten auch für das Internet der Dinge als sehr wichtig erachtet. Mit der Internet of Things Platform bietet IBM einen Service auf Bluemix, mit dem man sehr schnell eigene Anwendungen für das Internet der Dinge erstellen kann. IBM bietet aber nicht nur Lösungen für die Cloud, sondern auch Software, die auf Edge Devices wie einem Raspberry Pi läuft, etwa mit der Informix-Zeitreihen-Datenbank. Informatik Aktuell: Neben all diesen neuen Themen gibt es denn auch neue Entwicklungen bei relationalen Datenbanksysten wie DB2? Dr. Andreas Weininger: Ja, natürlich: Im Sommer 2016 wurde die neue DB2 Version 11 verfügbar, die jetzt die spaltenbasierte und für in-memory-Verarbeitung optimierte BLU-Technologie auch für MPP-Systeme zur Verfügung stellt. Damit ist es jetzt möglich, die Vorteile dieser Technologie in analytischen Anwendungen für noch größere Datenmengen zu nutzen. Außerdem gab es wichtige Verbesserungen im Bereich Hochverfügbarkeit. Informatik Aktuell: Ein ganz anderes Thema: Machine Learning. Wie sehen aktuelle Lösungen in diesem Umfeld aus? Dr. Andreas Weininger: Man kann natürlich Machine Learning einfach über die schon erwähnten APIs für bestimmte Zwecke nutzen. Man kann aber auch verschiedenste Machine Learning-Verfahren, die es zum Beispiel als Bibliotheken für Spark gibt oder die man bei dashDB direkt in der Datenbank ausführen kann, auf seinen eigenen Daten verwenden. Zum einen zum Lernen aber natürlich im nächsten Schritt auch, um Vorhersagen machen zu können. Informatik Aktuell: Gibt es in diesem Bereich neuere Entwicklungen? Dr. Andreas Weininger: IBM hat gerade mit der Watson Data Platform [2] eine Plattform herausgebracht, bei der Machine Learning Tooling mit der gesamten Infrastruktur, die ein Data Scientist für effektives Arbeiten benötigt, von Notebooks für die schnelle Entwicklung bis hin zu performanten Data Stores für die Speicherung und Analyse der Daten, integriert ist. Sie bietet ein offenes Ökosystem für die leichte Integration von Produkten von Drittherstellern, automatisiertes Deployment, Self-Service-Zugriff auf Daten, die aber durch die gebotene Governance auch vertrauenswürdige Daten sind, schnelle Integration von Daten und einfache Zusammenarbeit zwischen verschiedenen Benutzerrollen. Informatik Aktuell: Was können wir in der Zukunft in diesem Umfeld erwarten? Dr. Andreas Weininger: Die Watson Data Platform ist wie andere IBM Cloud-Produkte einer permanenten Entwicklung unterworfen. So kann man vermutlich die verbesserte Unterstützung für andere Personas als den Data Scientist erwarten, aber auch die Integration von weiteren Produkten in die Plattform.
 
Informatik Aktuell: Vielen Dank für das Gespräch!
Im Interview

Dr. Andreas Weininger

Dr. Andreas Weininger beschäftigt sich seit mehr als 20 Jahren mit der Analyse von Daten. Das umfasst Themen von relationalen Datenbanken und Data Warehousing bis zu NoSQL-Systemen und Big Data-Technologien. Er ist bei IBM im…
>> Weiterlesen
Das könnte Sie auch interessieren
Kommentare (0)

Neuen Kommentar schreiben