Bislang ging es beim Data Warehousing darum, historische Daten auszuwerten. Die Vergangenheit wurde analysiert, um Geschäftsprozesse in der Zukunft zu gestalten. Ob die Informationen dabei aktuell waren, war nachrangig. Diese Zeit ist vorbei. Heute wollen Unternehmen die Gegenwart steuern können.
So braucht es ein Realtime Daten-Streaming, um die Besucher auf Webseiten in Echtzeit zu lenken. Auch in der Fertigung oder Logistik sind Echtzeitdaten essentiell, um Geräte überwachen, Abläufe steuern und Verkehrsströme verbessern zu können.
Damit Organisationen den Schritt von der traditionellen Datenarchitektur mit Data Warehouse zum Umgang mit Daten in Echtzeit gelangen können, müssen sie fünf Stufen durchlaufen:
1. Anerkennung der traditionellen Data Warehouse-Abläufe
Zunächst müssen Organisationen die Funktionsfähigkeit ihres Data Warehouses anerkennen, was das klassische Reporting und historische sowie strategische Analyse betrifft. Data Warehouses nehmen die Datenverarbeitung in Batches vor und extrahieren Daten aus anderen Systemen meist zu Randzeiten, damit Systeme möglichst wenig beansprucht werden. Häufig gilt das auch für das Staging.
Für Auswertungen von in der Vergangenheit liegenden Daten oder für klassische ETL-Jobs (Extract, Transform, Load) ist die alte Datenarchitektur also immer noch völlig ausreichend. Offene Lösungen für die Batchverarbeitung von Datenbeständen wie Hadoop erfüllen weiterhin ihren Zweck. Wichtig ist es, den Punkt zu erkennen, wo dieses Konzept sein Limit hat.
2. Streaming einzelner Anwendungsfälle
Der erste Schritt in Richtung einer Echtzeit- Streaming-Lösung ist die Anpassung eines einzelnen Use Cases. Dafür können Realtime-Berichte entwickelt werden, beispielsweise, was die Verfügbarkeit von Artikeln in einem Geschäft betrifft. Das heißt, der bestehende ETL-Prozess mit Staging und Batch-Verarbeitung in den Nachtstunden bleibt bestehen.
Nur Informationen, welche die Artikelverfügbarkeit betreffen, werden in kurzen Abständen wie 60 Sekunden oder 10 Minuten in das Data Warehouse geladen. Dazu lässt sich eine Change-Data-Capture-Funktion implementieren. Zum Einsatz kommen bewährte ETL-Lösungen wie Pentaho Data Integration.
Dadurch sind die Informationen aktueller als bei klassischen Berichten, auch wenn kein echtes Realtime Streaming erfolgt. Allerdings führt dieses inkrementelle Vorgehen möglicherweise zu inkonsistenten Daten, was den Druck erhöht, auch andere Informationen schneller ins Data Warehouse zu laden, um weitere Anwendungsfälle umsetzen zu können.
3. Schaffung einer skalierbaren Streaming-Umgebung
Damit möglichst viele Anwendungsfälle in Fast-Echtzeit mit Daten arbeiten können, ist es nötig, alle ETL-Prozesse einer umfassenden Anpassung zu unterwerfen. So müssen einige Bestandteile des Data Warehouse an schnellere Ladezyklen angepasst werden. Das steigert dann wieder den Umfang an ETL-Strecken. Von großer Bedeutung ist dabei die Umsetzung leistungsoptimierter Datenprozesse, um eine Überlastung der Quellsysteme zu vermeiden.
Die große Herausforderung ist die Inkompatibilität von Streaming mit normalen SQL-Datenbanken, weil sie nicht für Streaming-Anwendungen entwickelt wurden. Bei Zunahme der ETL-Jobs und der Zugriffe auf die gleichen Tabellen, ist nach einiger Zeit das Entstehen von Inkonsistenzen möglich. Die Architektur muss deshalb grundlegend überarbeitet und eine leistungsfähige Streaming-Umgebung entwickelt werden.
4. Kontinuierliche, event-basierte Datenverarbeitung
Die in den letzten Jahren dazugekommenen neuen Datenquellen haben die Streaming-Anforderungen an das Data Warehouse forciert. Für eine Echtzeitverarbeitung von Informationen wie Click-Stream-Daten der Besucher einer Internetseite oder IoT-Maschinendaten ist eine stetige und eventbasierte Verarbeitung nötig.
Das ständige Wachstum von ETL-Strecken verursacht zugleich eine starke Zunahme der Last auf die Quellsysteme. Das gilt besonders bei zeitgleichem Laden von mehreren Strecken. Solche Situationen erfordern Streaming-Fähigkeiten. Staging wird nicht mehr durchgeführt, weil der zusätzliche Synchronisationsbedarf den Aktualitätszustand der Informationen im Data Warehouse überschreitet.
Ein vertikales Skalieren von ETL-Strecken führt wiederum zu kurz, weil sie nur zu einer komplexen Architektur führt, die nicht mehr zu managen ist. Ein ganzheitlicher Ansatz ist gefragt, damit das Data Warehouse mit Streaming-Funktionen erweitert werden kann.
- Die Begriffe rund um Big Data
Big Data - was ist das eigentlich? Jeder spricht drüber, jeder versteht etwas anderes darunter. Klicken Sie sich durch unser Glossar mit den wichtigsten und meistgenutzten Begriffen (manche sagen auch "Buzzwords") und verstehen Sie, was damit genau gemeint ist. <br /><br /> <em>zusammengestellt von <a href="http://www.kommunikation-in-sendling.com/" target="_blank">Kriemhilde Klippstätter</a>, freie Autorin und Coach (SE) in München</em> - Ad Targeting
Der Versuch, die Aufmerksamkeit des potenziellen Kunden zu gewinnen, meist durch "passgenaue" Werbung. - Algorithmus
Eine in Software gegossene mathematische Formel mit der ein Datensatz analysiert wird. - Analytics
Mit Hilfe von Software-basierenden Algorithmen und statistischen Methoden werden Daten interpretiert. Dazu benötigt man eine analytische Plattform, die aus Software oder Software plus Hardware besteht und die die Werkzeuge und Rechenpower bereitstellt, um unterschiedliche analytische Abfragen durchführen zu können. Es gibt eine Reihe unterschiedlicher Formen und Einsatzzwecke, die in diesem Glossar näher beschrieben sind. - Automatic Identification and Capture (AIDC)
Jede Methode der automatischen Identifizierung und Datensammlung über eine Gegebenheit und die nachfolgende Speicherung in ein Computersystem. Etwa die Informationen aus einem RFID-Chip, die ein Scanner ausliest. - Behavioral Analytics
Behavioral Analytics nutzt Informationen über das menschliche Verhalten, um die Absichten zu verstehen und zukünftiges Verhalten vorhersehen zu können. - Business Intelligence (BI)
Der generelle Ausdruck für die Identifizierung, Herkunft und Analyse der Daten. - Call Detail Record (CDR) Analyse
Diese enthält Daten, die die Telekommunikationsunternehmen über die Nutzung von Mobilfunkgesprächen – etwa Zeitpunkt und Dauer der Gespräche – sammeln. - Cassandra
Ein verteiltes Datenbank-Verwaltungssystem für sehr große strukturierte Datenbanken („NoSQL“-Datenbanksystem) auf Open-Source-Basis (Apache). - Clickstream Analytics
Bezeichnet die Analyse der Web-Aktivitäten eines Benutzers per Auswertung seiner Klicks auf einer Website. - Competitive Monitoring
Tabellen, in denen die Aktivitäten der Konkurrenz im Web automatisch gespeichert werden. - Complex Event Processing (CEP)
Ein Prozess, bei dem alle Aktivitäten in den Systemen einer Organisation überwacht und analysiert werden. Bei Bedarf kann sofort in Echtzeit reagiert werden. - Data Aggregation
Das Sammeln von Daten aus unterschiedlichen Quellen für die Erstellung eines Berichts oder für eine Analyse. - Data Analytics
Ein Stück Software, mit dem Informationen aus einem Datensatz gezogen werden. Das Ergebnis kann ein Report, ein Status oder eine Aktion sein, die automatisch gestartet wird. - Data Architecture and Design
Legt dar, wie Unternehmensdaten strukturiert sind. Meist erfolgt das in drei Prozessschritten: Begriffliche Abbildung der Geschäftseinheiten, logische Abbildung der Beziehungen innerhalb der Geschäftseinheit sowie die physikalische Konstruktion eines Systems, das die Tätigkeiten unterstützt. - Data Exhaust
Die Daten, die eine Person bei ihrer Internet-Aktivität "nebenbei" erzeugt. - Data Virtualization
Der Prozess der Abstraktion verschiedener Datenquellen durch eine einzige Zugriffsschicht auf die Daten. - Distributed Object
Ein Stück Software, das es erlaubt, mit verteilten Objekten auf einem anderen Computer zusammenzuarbeiten. - De-Identification
Das Entfernen aller Daten, die eine Person mit einer bestimmten Information verbindet. - Distributed Processing
Die Ausführung eines Prozesses über verschiedene per Netzwerk verbundene Computer hinweg. - Drill
Apache Drill ist eine Open-Source-SQL-Suchmaschine für Hadoop- und NoSQL-Datenmanagement-Systeme. - Hadoop
Ein freies, in Java geschriebenes Framework der Apache Foundation für skalierbare, verteilt arbeitende Software in einem Cluster. Es basiert auf dem bekannten MapReduce-Algorithmus der Google Inc. sowie auf Vorschlägen des Google-Dateisystems. - HANA
SAPs Software-und Hardware-Plattform mit In-Memory-Computing für Echtzeitanalysen und große Transaktionsvolumen. - In-Database Analytics
In-Database Analytics bezeichnet die Integration der Analysemethoden in die Datenbank. Der Vorteil ist, dass die Daten für die Auswertung nicht bewegt werden müssen. - In-Memory Database
Jedes Datenbanksystem, das den Hauptspeicher für die Datenspeicherung benutzt. - In-Memory Data Grid (IMDG)
Die verteilte Datenspeicherung im Hauptspeicher vieler Server für schnellen Zugriff und bessere Skalierbarkeit. - Machine-generated Data
Alle Daten, die automatisch von einem Rechenprozess, einer Applikation oder einer nicht-menschlichen Quelle erzeugt werden. - Map/reduce
Ein Verfahren, bei dem ein großes Problem in kleinere aufgeteilt und an verschiedene Rechner im Netz oder Cluster oder an ein Grid aus unterschiedlichen Computern an verschiedenen Standorten ("map") zur Bearbeitung verteilt wird. Die Ergebnisse werden dann gesammelt und in einem (reduzierten) Report dargestellt. Google hat sein Verfahren unter der Marke "MapReduce" schützen lassen. - Mashup
Dabei werden unterschiedliche Datensätze innerhalb einer Applikation so kombiniert, dass das Ergebnis verbessert wird. - NoSQL
Datenbanken, die nicht relational aufgebaut sind und mit denen sich große Datenvolumina handhaben lassen. Sie benötigen keine festgelegten Tabellenschemata und skalieren horizontal. Beispielsweise ist Apache Cassandra eine NoSQL. - Operational Data Store (ODS)
Darin werden Daten aus unterschiedlichen Quellen gesammelt damit noch weitere Operationen ausgeführt werden können, bevor die Daten in ein Data Warehouse exportiert werden. - Pattern Recognition
Die Klassifizierung von automatisch erkannten Mustern. - Predictive Analytics
Diese Form der Analytics nutzt statistische Funktionen in einem oder mehreren Datensätzen, um Trends oder zukünftige Ereignisse vorherzusagen. - Recommendation Engine
Per Algorithmus werden die Kundenbestellungen einer Website analysiert und sofort passende Zusatzprodukte ausgesucht und angeboten. - Risk Analysis
Die Anwendung statistischer Methoden auf einen oder mehrere Datensätze, um das Risiko eines Projekts, einer Handlung oder Entscheidung abschätzen zu können. - Sentiment Analysis
Dabei werden Einträge von Leuten in sozialen Netzwerken über ein Produkt oder ein Unternehmen statisch ausgewertet. - Variable Pricing
Dabei folgt der Kaufpreis eines Produkts dem Angebot und der Nachfrage. Das erfordert die Echtzeit-Überwachung von Konsum und Lagerbestand. - Parallel Data Analysis
Ein analytisches Problem wird in Teilaufgaben aufgebrochen und die Algorithmen werden auf jede Problemkomponente zeitgleich und parallel angewendet. - Query Anal
In diesem Prozess wird eine Suchanfrage optimiert, um das bestmögliche Ergebnis zu erhalten. - Reference Data
Daten, die ein physikalisch oder virtuell vorhandenes Objekt und seine Eigenschaften beschreiben.
5. Umsetzung einer Event-Streaming-Architektur
Damit ein Data Warehouse Funktionen für das Echtzeit-Daten-Streaming erhält, muss es mit einer entsprechenden Lösung kombiniert werden. In einer derartigen Architektur wird das traditionelle Staging mit einem Kafka-Cluster als Speicherschicht ersetzt. Das Laden der Daten erfolgt nur im EL-Verfahren, die Transformationen lassen sich in einem zweiten Schritt nachgesetzt von Tools wie Pentaho durchführen.
Das System organisiert dazu die Informationen in briefkasten-ähnlichen Topics, in die Nachrichten eingeworfen werden. Dies passiert durch sogenannte Producer-Applikationen, Consumer-Applikationen lesen hingegen diese Events und verarbeiten sie. Dadurch ist es möglich, Producer und Consumer vollständig zu entkoppeln, weshalb dieses Read-once-/Write-many-Prinzip maßgeblich die Skalierbarkeit bedingt. Zudem ist es mit dieser Architektur möglich, taktisch-operatives Berichtswesen in Fast-Echtzeit von klassisch-analytischem Reporting zu trennen. Werden Event-Nachrichten von Consumer-Applikationen nicht sofort benötigt, können sie als Batches geladen werden. Für dieses Situationen ist die Confluent-Plattform sehr geeignet, einer Kafka-Plattform mit Enterprise-Funktionalitäten.
Auf Kurs mit Open Source
Die Limitationen eines traditionellen Data Warehouse, was Realtime-Daten und Streaming betrifft, lassen sich mit einer eventbasierten Architektur dauerhaft aufheben. Es ist ratsam, dafür quelloffene Technologien einzusetzen, wie in den vorherigen Schritten beschrieben. Ausschlaggebend sind dabei nicht die geringeren Kosten, sondern die viel bessere Agilität und Flexibilität. Open-Source-Systeme verfügen über eine große Palette von Plugins, sind individuell erweiterbar und stellen meistens den "best of breed" im Markt dar. Zusätzlich bieten sie ein wesentlich besseres Sicherheitsniveau, weil sie Einblicke in den Quellcode ermöglichen. Damit steht Organisationen der Wandel vom klassischem Data Warehouse zum Echtzeit-Daten-Streaming offen. (mb)