Data Engineering – Die solide Basis für eine effektive Datennutzung

Der Weg der Daten von den Quellen zum integrierten Data Lake

ID=7416
Sujet Data Engineering
© shutterstock/metamorworks
Data Science Bedürfnispyramide
Data Science Bedürfnispyramide © RISC Software GmbH
Tabelle Datenbereinigung und -integration
Datenbereinigung und -integration © RISC Software GmbH

08.06.2021

von DI Paul Heinzlreiter / RISC Software GmbH

Data Engineering integriert Daten aus verschiedensten Quellen und macht sie effektiv nutzbar. Damit stellt es vor allem im Big Data Bereich eine Voraussetzung für effektive Data Science, Machine Learning und Künstliche Intelligenz dar.

In den letzten Jahren hat das Thema der Informationsgewinnung aus großen Datenmengen für immer mehr Betriebe in den verschiedensten Wirtschaftssektoren stark an Bedeutung gewonnen. Beispiele hierfür sind historische Verkaufsdaten, die zur Optimierung des Produktangebots von Online-Shops verwendet werden können genauso wie Sensordaten von einer Produktionslinie, die helfen können die Qualität der Produkte zu steigern oder im Rahmen der vorbeugenden Wartung Maschinenteile rechtzeitig auszutauschen. Neben dem direkten Einsatz einer integrierten Datenbasis in der betrieblichen Praxis stellt gerade die Aktualität der Themen Künstliche Intelligenz (KI) und Machine Learning (ML) mit dem Versprechen beispielsweise einen Produktionsprozess laufend optimieren zu können, eine starke Motivation dar.

Wenn der Prozess der Informationsgewinnung allerdings in seiner Gesamtheit betrachtet wird, wird schnell klar, dass KI und ML nur die sprichwörtliche Spitze des Eisbergs darstellen. Diese Methoden benötigen gerade für die Schritte des Modelltrainings und der Modellvalidierung große Mengen an konsistenten und vollständigen Datensätzen. Solche Datenmengen können beispielsweise von Sensornetzwerken oder von Sensoren in der Produktion erzeugt werden. Die Übernahme, Speicherung und Aufbereitung dieser Daten, um sie effektiv nutzbar zu machen, ist die zentrale Aufgabe von Data Engineering.

Dies ist unabhängig davon, ob das Ziel Firmen-einheitliches und effektives Reporting, Data Science zur Verbesserung des Produktionsprozesses oder KI heißt. Eine solide Datenbasis ist in allen Fällen notwendig. Die Integration von Daten in eine gemeinsame Datenbasis kann zusätzlich eine verlässliche ground truth für verschiedenste Anwendungsfälle im Unternehmen bilden: Für ein effektives Tagesgeschäft, für strategische Planung basierend auf soliden Daten und Fakten oder für das Modelltraining im Bereich KI.

Abgrenzung

Das übergreifende Ziel ist somit die Qualität und Nutzbarkeit der zur Verfügung stehenden Daten zu erhöhen und folgt damit im Wesentlichen der data science hierarchy of needs 1, welche die Stufen von den Rohdaten bis zur KI beschreibt. Analog zur Bedürfnishierarchie nach Maslow 2 stellen die unteren Ebenen der Pyramide eine notwendige Voraussetzung für die darauf aufbauenden Schritte dar.

An der Spitze der Pyramide stehen die Tätigkeiten der Data Science, die auf integrierte und bereinigte Datenbestände aufsetzen. Mit diesen können dann beispielsweise ML-Modelle trainiert werden.

Die blau eingefärbten Ebenen stellen die Data Engineering Tätigkeiten dar, wobei der Schwerpunkt auf den Ebenen move, store, sowie transform, explore liegt. Während die darüberliegenden Ebenen mit KI, Deep Learning, und ML die Domäne von Data Scientists sind, sind Tätigkeiten wie Data Labeling und Data Aggregation Grenzbereiche, die je nach genauer Aufgabe und Personalverfügbarkeit von Data Scientists oder Data Engineers durchgeführt werden können.

Die Tätigkeiten des Datensammelns an der Basis der Pyramide fallen insofern nur teilweise in den Bereich des Data Engineerings, als das dieses die Daten üblicherweise an einer definierten Schnittstelle – über Dateien, externe Datenbanken oder ein Netzwerkprotokoll – übernimmt. Dies liegt auch darin begründet, das Data Engineering einen Teilbereich der Informatik bzw. des Software-Engineerings darstellt, und damit üblicherweise nicht mit Themen wie Aufbau oder Betrieb von Datenerfassungshardware wie beispielsweise Sensoren befasst ist.

Datenbereinigung und -integration

Im Rahmen des Data Engineering Prozesses werden die Rohdaten nach der Übernahme über mehrere Schritte aufbereitet und letztendlich konsistent und vollständig aufbereitet im Datenspeicher abgelegt:

  1. Datenbereinigung
  2. Datenintegration
  3. Umformung der Daten

Diese Formen von Datentransformationen werden schrittweise und aufeinander aufbauend durchgeführt. Die technische Umsetzung kann durch Datenstromverarbeitung – die konsekutive Verarbeitung vieler kleiner Datenpakete – oder als Batchverarbeitung für den gesamten Datensatz gleichzeitig erfolgen. Ein entsprechend dimensionierter Datenspeicher – der Data Lake – ermöglicht es dabei, die Daten in verschiedenen Zuständen während ihrer Verarbeitung zu persistieren.

Die Bereinigung von Daten umfasst beispielsweise eine Überprüfung der eingelesenen Datenzeilen auf Vollständigkeit und syntaktische Korrektheit. Auch Datenfehler wie falsche Sensorwerte können durch vorgegebene Regeln in diesem Schritt festgestellt werden. Wenn diese Kriterien verletzt werden, gibt es je nach Anwendungsfall folgende Möglichkeiten:

  • Rohdatenqualität verbessern: Falls die Rohdaten in verbesserter Qualität nachgeliefert werden können, ersetzen diese die fehlerhaften Daten
  • Daten verwerfen: Fehlerhafte Daten können beispielsweise verworfen werden, wenn der Datensatz für Trainingszwecke im ML eingesetzt werden soll, und ausreichend korrekte Daten zur Verfügung stehen.
  • Fehler während des Imports automatisiert korrigieren: Wenn beispielsweise die Daten aus einer zusätzlichen Datenquelle bezogen werden können, können Fehler im Rahmen der Datenintegration behoben werden.

In der Praxis ist das Verwerfen der fehlerhaften Daten die am einfachsten umzusetzende Lösung. Wenn allerdings jeder einzelne Datenpunkt für die geplanten Auswertungen Relevanz haben kann, müssen fehlerhafte Daten nach Möglichkeit korrigiert werden. Dieser Fall kann zum Beispiel bei der Qualitätsbeurteilung in der Produktion auftreten, wenn die Produktionsdaten für ein fehlerhaftes Werkstück aufgrund eines Sensorfehlers nicht korrekt sind. Die Korrektur von Daten kann entweder manuell durch einen Domänenexperten erfolgen, oder die korrekten Daten werden zu einem späteren Zeitpunkt nachgeliefert.

Die Einbindung von Domain-Experten ist hier zentral, weil diese einerseits die Kriterien für die Korrektheit der Daten wie beispielsweise Sensorwerte kennen, und andererseits wissen, wie mit fehlerhaften oder unvollständigen Daten umgegangen werden soll.Die Integration von Daten befasst sich mit der automatisierten Verknüpfung von Daten aus verschiedenen Datenquellen. Je nach Anwendungsdomänen und Art der Daten kann die Datenverknüpfung durch verschiedene Methoden erfolgen wie zum Beispiel:

  • Eindeutige Bezeichner, analog zu Fremdschlüsseln im relationalen Modell
  • Geographische oder zeitliche Nähe
  • Domänenspezifische Zusammenhänge wie Abfolgen in Fertigungsprozessen oder in Fertigungsstraßen

Nach den Schritten der Datenbereinigung und der Datenintegration kann der Data Engineer einen für die Weiterverwendung durch Data Scientists geeigneten Datenbestand zur Verfügung stellen. Der oben genannte Schritt der Datenumformung bezieht sich auf laufende Anpassungen des Datenmodells, um die Performanz von Abfragen durch die Data Scientists zu verbessern.

Datenspeicherung und Datenmodellierung für Big Data

Der bereinigte und integrierte Datenbestand kann in einer geeigneten Datenhaltungslösung abgelegt werden. In Anwendungsbereich von Industrie 4.0 werden beispielsweise durch Sensoren laufend Daten generiert, was oft innerhalb von Monaten zu Datenmengen im Terabyte-Bereich führt. Solche Datenmengen sind mit oft mit einer klassischen relationalen Datenbank nicht mehr handhabbar. Es gibt zwar am Markt verfügbare skalierbare Datenbanken, die das relationale Modell einsetzen, diese kommen aber für viele Umsetzungsprojekte – gerade im KMU-Bereich – aufgrund ihrer hohen Lizenzkosten nicht infrage.

Als Alternative dazu bieten sich horizontal skalierbare NoSQL-Systeme an, wobei der Begriff eine Abkürzung für Not only SQL darstellt. Unter diesem Begriff werden Datenspeicher zusammengefasst, die nicht-relationale Datenmodelle verwenden. Die Eigenschaft der horizontalen Skalierbarkeit bezeichnet die Möglichkeit solche Systeme durch Integration zusätzlicher Hardware für prinzipiell unbeschränkte Datenmengen zu erweitern. Typische Vertreter von NoSQL-Systemen unterliegen zudem oft liberalen Lizenzmodellen wie beispielsweise der Apache-Lizenz und können so lizenzkostenfrei auch kommerziell eingesetzt werden. Zudem stellen diese Systeme keine speziellen Anforderungen an die verwendete Hardware, was die Anschaffungskosten solcher Systeme weiter reduziert. Somit stellen NoSQL-Systeme wie beispielsweise Apache Hadoop und verwandte Technologien eine kostengünstige Möglichkeit dar, Abfragen auf Datenmengen im Terabyte-Bereich auszuführen.

Gerade im BigData-Bereich kommt der Auswahl einer geeigneten NoSQL-Datenbank sowie eines passenden Datenmodells zentrale Bedeutung zu, weil beide Aspekte zentral für die Performance des Gesamtsystems sind. Dies bezieht sich sowohl auf die Einbringung von Daten als auch auf Abfragen gegen das NoSQL-System.

Die Auswahl der einzusetzenden Technologie sowie das Datenmodelldesign ist ganz klar von den Anforderungen an das System getrieben:

  • Welche Datenmengen und Datenraten müssen importiert werden?
  • Welche Abfragen und Auswertungen sollen mit den Daten durchgeführt werden?
  • Wie sind die Anforderungen an die Performanz der Abfragen? Handelt es sich um ein Echtzeitsystem?

Zentral ist beispielsweise die Frage, ob das System nur fix vorgegebene Abfragen unterstützen soll, oder – zum Beispiel unter Einsatz von SQL – flexible Abfragen ermöglichen soll.

Im Rahmen der Technologieauswahl kann man beispielsweise unterscheiden, ob der Zugriff auf die Daten immer über einen bekannten Schlüssel erfolgt, oder auch Abfragen auf die Werte anderer Attribute erfolgen. Im ersten Fall eignet sich ein System mit der Semantik einer verteilten Hash-Map, wie zum Beispiel Apache HBase, während sich im anderen Fall beispielsweise eine in-Memory Analyselösung wie Apache Spark anbietet. Falls die Nutzung der Daten primär auf die Verknüpfungen zwischen Daten abzielt, ist der Einsatz einer Graphdatenbank zu überlegen.

In einem Big Data-System werden die Daten aus Performance-Gründen denormalisiert gespeichert, d.h. all für ein Abfrageergebnis relevanten Daten sollten gemeinsam gespeichert werden. Der Grund hierfür ist, das die Durchführung von Joins sehr ressourcenintensiv und zeitaufwendig ist. Für den Entwurf des Datenmodells sind die geplanten Abfragen daher zentral. Beispielsweise sollten die Attribute, die hauptsächlich als Parameter in den Abfragen auftreten, als Schlüsselattribute eingesetzt werden. Dies ist auch der Grund dafür, warum das Datenmodell oft beim Hinzukommen neuer Abfragen erweitert werden muss, um deren effektive Durchführung zu gewährleisten, und damit auch nach der Dateneinbringung laufend Data Engineering Tätigkeiten anfallen.

Die RISC Software GmbH stellt mit ihrer über mehr als zehn Jahren aufgebauten Expertise im Bereich der Open-Source NoSQL-Datenbanken einen verlässlichen Consulting- und Umsetzungspartner bei der Einführung oder Erweiterung einer soliden Datenbasis in ihrem Unternehmen dar, unabhängig vom Anwendungsbereich.

www.risc-software.at 

Quellen

1 Blasch, Erik & Sung, James & Nguyen, Tao & Daniel, Chandra & Mason, Alisa. (2019). Artificial Intelligence Strategies for National Security and Safety Standards.

2 Abraham Maslow: A Theory of Human Motivation. In Psychological Review. 1943, Vol. 50 #4, Seite 370–396.

Use Cases für Data Engineering

  • Use Case 1: Firmeninterne Datenintegration
    Daten aus verschiedenen Quellen können zusammengeführt und in einem integriertem Datenmodell effektiv verwendet werden
  • Use Case 2: Datenaufbereitung für KI / ML
    Data Engineering Methoden können dazu dienen, eine große Menge an konsistenten und vollständigen Trainingsdaten für KI und ML zur Verfügung zu stellen
  • Use Case 3: Transformation des Datenmodells zur Verbesserung des Datenverständnisses
    Data Engineering kann das Datenverständnis signifikant erhöhen, indem das Datenmodell dem Anwendungsfall besser angepasst wird. Ein Beispiel könnte die Einführung einer Graphdatenbank sein.
  • Use Case 4: Verbesserte (schnellere) Datennutzung
    Data Engineering kann durch die Anpassung der Datenspeicherung und des Datenmodells zu einer erheblichen Beschleunigung von interaktiven Abfragen beitragen.