adesso Blog

Vor der Einführung der Computer verließen sich die Unternehmen bei der Erfassung und Analyse ihrer Kennzahlen auf Geschäftsbücher, Inventarlisten, eine gute Portion Intuition und andere begrenzte manuelle Methoden. In den späten 1980er Jahren kam jedoch das Konzept des Data Warehouse auf, das in erster Linie der Erstellung statischer Berichte diente. Mit der Einführung von Data Warehouses begannen Unternehmen, ihre Entscheidungen nicht mehr intuitiv, sondern datengestützt zu treffen.

Mit der stetigen Weiterentwicklung der Technologien hat sich auch die Digitalisierung der Unternehmen weiter beschleunigt. Damit entstanden aber auch neue Herausforderungen im Bereich der Datenanalyse. Die bekannten drei Vs - Volume (Datenmenge), Velocity (Geschwindigkeit) und Veracity (Datenqualität) - sind für die Definition des Begriffs Big Data von zentraler Bedeutung. Big Data stellt eine große Herausforderung für die etablierten, traditionellen Architekturen relationaler Data Warehouses dar. Unternehmen müssen nun nicht mehr nur strukturierte Tabellen, sondern auch semi- und unstrukturierte Daten analysieren, was zum Konzept der Data Lakes geführt hat.

Als Folge dieser neuen Herausforderungen haben sich die Architektur und die Konzepte von Business-Analytics-Systemen verändert. Im ersten Teil dieses Blog-Beitrags befassen wir uns mit ihrer Entwicklung, den Gründen für ihre Entstehung und den Problemen, die damit gelöst wurden.

Data Warehouse

Stellen wir uns eine Situation vor, in der wir zu datengesteuerten Lösungen übergehen müssen. Wir haben bereits verschiedene Systeme für Vertrieb, Produktion, Lieferkette usw. Nun fragt ihr euch vielleicht: Warum kann ich nicht direkt auf eine Produktionsdatenbank zugreifen, etwa auf unsere Vertriebsdatenbank, und auf dieser Basis einen Bericht erstellen? Obwohl dieser Ansatz funktionieren kann, sollten ihr die folgenden Szenarien bedenken. Vielleicht müsst ihr Daten aus mehreren Systemen vergleichen, nicht nur aus dem Vertriebssystem. Oder ihr möchtet historische Daten analysieren, die nicht länger als beispielsweise 30 Tage im Produktivsystem gespeichert sind. Die Liste solcher Szenarien ist lang. Hier kommt ein Data Warehouse ins Spiel. Ein Data Warehouse kann folgendermaßen definiert werden:

Ein Data Warehouse ist ein Repository, in dem Daten aus verschiedenen Quellen für Verlaufs- und Trendberichte gespeichert werden. Es fungiert als zentraler Knotenpunkt für verschiedene Themenbereiche und enthält die einzige verlässliche Informationsquelle (Single Version of Truth).


Eine Data-Warehouse-Architektur

Der Datenlebenszyklus besteht in der Regel aus den folgenden Schritten:

  • 1. Datenextraktion: Der Prozess beginnt mit der Extraktion von Daten aus verschiedenen Quellsystemen wie Transaktionsdatenbanken, Flat Files, Tabellen und externen Datenquellen.
  • 2. Datentransformation: Nach der Extraktion werden die Daten transformiert, bereinigt und in ein einheitliches, für die Analyse geeignetes Format gebracht.
  • 3. Laden der Daten: Die transformierten Daten werden in das Data Warehouse geladen.
  • 4. Datenspeicherung: Die Daten in einem Data Warehouse werden in der Regel in einem strukturierten Format gespeichert, das für Abfragen und Analysen optimiert ist, beispielsweise in einem Stern- oder Schneeflockenschema. Die Speicherarchitektur ist so ausgelegt, dass die Daten für Berichte und Analysen schnell und effizient abgerufen werden können.
  • 5. Verwaltung von Metadaten: Metadaten, die Informationen über die Daten liefern, sind in einer Data-Warehouse-Umgebung von entscheidender Bedeutung. Ihr enthaltet Details zu Datenquellen, Transformationsregeln, Datenherkunft und andere Informationen, die den Usern helfen, die Daten zu verstehen und ihnen zu vertrauen.
  • 6. Business Intelligence und Reporting: Der letzte Schritt ist der Einsatz von Business Intelligence-Tools und Reporting-Anwendungen, um die Daten zu analysieren und Erkenntnisse zu gewinnen. Die Nutzerinnen und Nutzer können Dashboards, Visualisierungen und Berichte erstellen, um die Entscheidungsfindung im Unternehmen zu unterstützen.

Welche Herausforderungen löst das Data Warehouse?

Die Vorteile eines Data Warehouse sind zahlreich und können sich erheblich auf das Datenmanagement, die Analyse und die Entscheidungsfindung eines Unternehmens auswirken. Nachfolgend werden die einzelnen Vorteile beschrieben:

  • 1. Entlastung des Produktivsystems: Durch die Auslagerung von Analyse- und Reportingaufgaben in das Data Warehouse wird verhindert, dass ressourcenintensive Abfragen die Produktivsysteme belasten. Diese Trennung stellt sicher, dass die Kerngeschäftsprozesse reaktionsschnell und stabil bleiben.
  • 2. Optimierung für Lesezugriffe, sequentielle Festplattenscans: Data Warehouses sind für einen effizienten Lesezugriff ausgelegt, der für die Ausführung komplexer analytischer Abfragen unerlässlich ist. Sequentielle Festplattenscans verbessern die Abfrageleistung und ermöglichen einen schnelleren Datenabruf.
  • 3. Integration verschiedener Datenquellen: Data Warehouses nutzen Daten aus verschiedenen Quellen, beispielsweise aus unterschiedlichen Datenbanken, Tabellen und externen Datenfeeds, und bieten so eine einheitliche Sicht auf die Datenbestände eines Unternehmens.
  • 4. Speicherung historischer Daten: Data Warehouses speichern historische Daten, so dass Berichte nicht mehr in Papierform aufbewahrt werden müssen. Diese historischen Daten können dann leicht für Trendanalysen und Verlaufsberichte verwendet werden.
  • 5. Umstrukturierung/Umbenennung von Tabellen und Feldern, Datenmodellierung: Data Warehouses ermöglichen die Datenmodellierung und -transformation, so dass Unternehmen ihre Daten so strukturieren können, dass sie ihren Analyseanforderungen entsprechen, ohne dass dies Auswirkungen auf die Quellsysteme hat.
  • 6. Schutz vor Upgrades der Quellsysteme: Data Warehouses fungieren als Puffer zwischen Quellsystemen und Analysewerkzeugen. Diese Isolierung verhindert Unterbrechungen, die durch Upgrades oder Änderungen im Quellsystem verursacht werden.
  • 7. Verbesserung der Datenqualität und Schließen von Lücken in den Quellsystemen: Data Warehouses durchlaufen häufig Datenbereinigungs- und Validierungsprozesse, die die Datenqualität verbessern und Lücken in den Daten des Quellsystems schließen.
  • 8. Single Version of Truth: Data Warehouses bieten eine einheitliche Single Source of Truth für Unternehmensdaten. Dadurch werden Diskrepanzen und Inkonsistenzen vermieden, die durch die Verwendung mehrerer Datenquellen entstehen können.

Die Einführung von Data Warehouses und datengetriebenen Lösungen hat die Effizienz von Unternehmen erheblich gesteigert. Im Laufe der Zeit begannen jedoch die Beschränkungen von Data Warehouses, wie zum Beispiel ihre Fokussierung auf Tabellendaten, den geschäftlichen Fortschritt zu behindern. Es wurde immer deutlicher, dass neue Lösungen erforderlich waren.

Data Lake

Wir haben von Data Warehouses gesprochen, die vor allem strukturierte Daten nach genau definierten Schemata verarbeiten. Da die Kosten für Festplattenspeicher im Laufe der Zeit gesunken sind, können heute immer größere Datenmengen gespeichert werden. Diese Daten sind oft weniger strukturiert und reichen von Audio- und Videodaten bis hin zu unstrukturierten Textdokumenten. Vereinfacht ausgedrückt ist ein Data Lake einfach ein Datenordner in einem kostengünstigen Speicher, in dem beliebige Daten gespeichert werden können.

Data-Warehouse-Systeme haben sich als wenig geeignet erwiesen, wenn es darum geht, große Datenmengen oder Daten mit unterschiedlichen Strukturen zu verwalten. Hier kommt das Konzept des Data Lake ins Spiel, das eine Lösung für die Speicherung aller Arten von Daten in Systemen wie dem Hadoop Distributed File System (HDFS) und später AWS S3 bietet.

Ein Data Lake ist ein zentrales Repository, das es Unternehmen ermöglicht, große Mengen an strukturierten, halbstrukturierten und unstrukturierten Daten zu speichern und zu verwalten. Im Gegensatz zu herkömmlichen Data Warehouses speichern Data Lakes Daten in ihrem rohen, nativen Format, ohne dass ein vordefiniertes Schema erforderlich ist. Diese Flexibilität ermöglicht es Unternehmen, große Datenmengen aus unterschiedlichen Quellen wie Logfiles, Sensordaten oder Beiträgen in sozialen Medien kostengünstig zu erfassen und zu speichern.

Traditionelle Data Warehouses waren monolithische, lokale Systeme, bei denen Datenverarbeitung und -speicherung eng miteinander verbunden waren. Im Zusammenhang mit Big Data kam das Konzept des Distributed Computing auf, bei dem die Daten auf mehrere Computer verteilt werden, wobei jeder Computer über eine Kombination aus Rechen- und Speicherkapazität verfügt.

Mit dem Aufkommen des Cloud Computing fand ein Paradigmenwechsel statt, der die Trennung von Rechen- und Speicherleistung auf verschiedenen Rechnern ermöglichte. Dieser Architekturwechsel hat sich als wesentlich effizienter erwiesen. Darüber hinaus wurde in einer Cloud-Umgebung das "Pay-as-you-go"-Modell (OPEX) günstiger als das traditionelle Investitionsmodell (CAPEX), bei dem oft im Voraus unflexible Investitionen getätigt werden mussten.

Ein klassischer Data Lake könnte folgendermaßen aussehen:


Visualisierung des Data Lake

Wie zu sehen ist, werden in der Raw-Datenschicht verschiedene Datentypen in unveränderter Form gespeichert. Diese Daten werden dann in der Clean-Datenschicht bereinigt und so transformiert, dass sie für spezifische Anwendungsfälle geeignet sind. Es ist zu beachten, dass verschiedene Personen oder Unternehmen unterschiedliche Bezeichnungen für diese Schichten verwenden können, zum Beispiel:

  • Bronze, Silber, Gold
  • vorläufig, roh, zuverlässig, verfeinert
  • Anlandedaten, Rohdaten, standardisierte Daten, aufbereitete Daten
  • Rohdaten, abgestufte Daten, Analysedaten

Diese alternativen Bezeichnungen spiegeln die Vielfalt und Flexibilität bei der Strukturierung von Datenmanagementprozessen innerhalb des Datenökosystems wider.

Während die Flexibilität eines Data Lake in vielerlei Hinsicht Vorteile mit sich bringt, hat sie auch einige Nachteile.

  • 1. Data Governance: Aufgrund des anfänglichen Mangels an Struktur kann es schwierig sein, Data Governance zu gewährleisten und die Datenqualität in Data Lakes aufrechtzuerhalten. Unternehmen müssen daher solide Governance-Praktiken einführen.
  • 2. Komplexität: Je größer das Datenvolumen in Data Lakes wird, desto komplexer kann die Verwaltung und Navigation werden, was zu einem sogenannten „Data Swamp“ (Datensumpf) führen kann.
  • 3. Sicherheit: Wenn Data Lakes nicht ausreichend geschützt sind, kann es zu Sicherheitsproblemen kommen, einschließlich unbefugtem Zugriff und potenziellen Datenschutzverletzungen.
  • 4. Latenz: Der Zugriff auf und die Verarbeitung von Daten in Echtzeit in Data Lakes kann eine größere Herausforderung darstellen als bei herkömmlichen Data-Warehousing-Lösungen.
  • 5. Data Swamp: Diese hohe Flexibilität führt häufig zur Entstehung eines riesigen Datenbergs, der oft als „Data Swamp“ bezeichnet wird.

Data Lakes wurden zunächst als Allheilmittel für die Probleme relationaler Data Warehouses angepriesen und versprachen Kosteneinsparungen, Skalierbarkeit und Leistungssteigerungen. Unternehmen wie Cloudera und Hortonworks vermarkteten sie als "One-size-fits-all"-Lösung. Die Realität war jedoch komplizierter, da die Abfrage von Data Lakes fortgeschrittene Kenntnisse erforderte. Endnutzerinnen und -nutzer hatten Schwierigkeiten mit Tools wie Hive und Python, was zu gescheiterten Versuchen führte, traditionelle Data Warehouses durch diese vermeintlichen Zauberlösungen zu ersetzen.

Data Lakes bieten eine flexible und skalierbare Lösung für die Speicherung und Analyse unterschiedlicher und großer Datensätze. Um den Nutzen zu maximieren und die Herausforderungen von Data Lakes zu meistern, müssen Unternehmen jedoch eine umfassende Strategie entwickeln und solide Maßnahmen für das Datenmanagement und die Datensicherheit umsetzen.

Die Entscheidung zwischen einem Data Lake und einem Data Warehouse hängt von den spezifischen Datenanforderungen und Anwendungsfällen eines Unternehmens ab, und in vielen Fällen kann ein hybrider Ansatz, der beide Lösungen umfasst, von Vorteil sein. Dieser hybride Ansatz wird im zweiten Teil dieses Blog-Beitrag erläutert.

Bild Mykola Zubok

Autor Mykola Zubok

Mykola Zubok ist Data Engineer bei adesso und verfügt über Erfahrung in Spark, Python, Databricks und Azure. Seine Expertise liegt in der Entwicklung moderner Datenplattformen und datengesteuerter Lösungen.

Kategorie:

Architektur

Schlagwörter:

Datenmanagement

Diese Seite speichern. Diese Seite entfernen.