Business Intelligence und Data Engineering sind relativ neue Bereiche in der Industrie. Unternehmensanalysen werden in gewissem Umfang bereits seit Anfang des 20. Jahrhunderts durchgeführt. Die Notwendigkeit, große Mengen an digitalen Informationen zu analysieren, entstand jedoch erst im Informationszeitalter. Es ist ganz einfach: Wer über Daten verfügt (oder sie sammelt) und daraus bessere Erkenntnisse ableitet, wird erfolgreich sein.
Als Dateningenieur ist es interessant zu verstehen, wie sich die Ansätze zur Datenverwaltung im Laufe der Geschichte verändert haben und wie die Menschen Probleme im Zusammenhang mit der Datenverarbeitung gelöst haben. Lassen Sie uns kurz in die Geschichte eintauchen und herausfinden, wie sich die Ansätze zur Datenverwaltung im Laufe der Zeit entwickelt haben.
1980er
In den 1980er Jahren verfügten große Unternehmen über relationale SQL-Datenbanken, um Abfragen durchzuführen und Erkenntnisse zu gewinnen. Wenn man bedenkt, dass die SQL-Technologie um 1974 aufkam, ist es wichtig zu erkennen, dass dieses primäre Werkzeug nun 50 Jahre alt ist. Als die Unternehmen bei der relationalen Datenverwaltung für analytische Abfragen an ihre Grenzen stießen, wurde das Konzept des Business Data Warehouse eingeführt.
Obwohl es heute bekannt ist, stellte es damals eine bedeutende Innovation dar. Zu den wichtigsten Errungenschaften dieses Ansatzes gehörten:
- Schnellere Business Intelligence (BI)-Prozesse.
- Fähigkeit, effizient mit strukturierten Daten zu arbeiten.
Es gab jedoch auch bemerkenswerte Nachteile, wie z. B.:
- Fehlende Unterstützung für halbstrukturierte und unstrukturierte Daten.
- Probleme mit dem Volumen und der Geschwindigkeit.
- Potenziell lange Verarbeitungszeiten beim Umgang mit großen Datenmengen.
Data Warehouse-Lösungen umfassen heute Technologien wie Snowflake, BigQuery, Redshift, Azure Synapse Analytics und andere. In Kombination mit Orchestrierern (wie Airflow) und Transformationsschichten (wie dbt) ermöglichen diese Tools die Erstellung leistungsstarker Analysen.
Diese Dienste haben sich zwar über die 80er Jahre hinaus deutlich weiterentwickelt und bieten hervorragende BI-Lösungen, doch viele kleine und mittlere Unternehmen benötigen keine komplexeren Lösungen. Diese Unternehmen verwenden häufig Data Warehouses, um ihre begrenzten Analyseanforderungen zu erfüllen, da sie keine großen Datenmengen sammeln.
2000–2010er
Das Aufkommen von Big Data in den 2000er Jahren stellte traditionelle Data Warehouses vor Herausforderungen. Unternehmen wie Google und Yahoo generierten große Mengen an unstrukturierten Daten, die von strukturierten Data Warehouses nicht effektiv verarbeitet werden konnten. Darüber hinaus machte das Aufkommen des maschinellen Lernens, für das riesige Mengen unstrukturierter Daten (z. B. Bilder) benötigt werden, die Grenzen der bestehenden Datenverwaltungssysteme deutlich.
Als Reaktion darauf wurde das Konzept eines Data Lake eingeführt, wobei Google mit MapReduce Pionierarbeit bei der verteilten Verarbeitung von Big Data leistete. Dies führte zur Entwicklung von Hadoop, das eine umfassende Lösung mit dem Hadoop Distributed File System (HDFS) als Speicherebene bot. Dies ermöglichte eine effiziente Speicherung und Verarbeitung von Daten mit MapReduce und später Spark.
Data Lakes boten zwar Vorteile wie:
- Kosteneffizienter Cloud-Speicher.
- Unterstützung für maschinelles Lernen (ML).
- Flexible Datenspeicherung.
- Streaming-Datenverarbeitung.
Sie hatten aber auch Nachteile. Dazu gehören:
- Die fehlende Unterstützung von Transaktionen führt dazu, dass beim Anhängen von Daten neue Dateien erstellt werden.
- Langsame Analyseleistung.
- Schlechte Datenzuverlässigkeit, die in Dateien nur schwer aufrechtzuerhalten ist.
Trotz der Vorteile von Data Lakes sind herkömmliche Data Warehouses nach wie vor entscheidend für Business Intelligence-Prozesse. Data Lakes, die häufig auf Cloud-Speichersystemen wie S3, GCS und HDFS basieren, haben zusammen mit Orchestrierungstools und verteilter Verarbeitung wie Apache Spark die Handhabung großer Datenmengen erleichtert. Data Warehouses spielen jedoch weiterhin eine wichtige Rolle bei der effizienten Datenverwaltung und ‑analyse.
2020er
Wir haben einen langen Weg von der Verwendung relationaler Datenbanken zur Arbeit mit verteilten Speichersystemen für die Verarbeitung großer Datenmengen zurückgelegt. Während es so aussah, als hätten wir das Problem der großen Datenmengen gelöst, tauchten neue Herausforderungen auf. Unternehmen kämpften immer noch damit, ihre Daten vollständig zu nutzen, und ließen große Mengen davon ungenutzt.
Im Jahr 2020 stellte Databrick ein wichtiges Papier über Data Lakehouse als neuen Ansatz für die Datenverwaltung vor. Dieser Ansatz kombiniert sowohl Data Warehouse als auch Data Lake in einem einzigen System und nutzt die Kosteneffizienz von Cloud-Speicherdiensten, während er gleichzeitig in einer Art „Warehouse“ arbeitet. Data Lakehouse ist besonders für große Unternehmen von Vorteil, die sowohl BI-Tools einsetzen als auch auf Data Science/ML-Lösungen setzen.
Obwohl Databricks das Unternehmen ist, das sich für diesen Ansatz einsetzt, ist es auch möglich, eine solche Lösung unabhängig in der Cloud aufzubauen, da die meisten Tools Open-Source sind. Bei der Arbeit mit Data-Lakehouse-Systemen ist die richtige Technologie auf der Speicherebene entscheidend. Diese Systeme werden als Tabellenformate bezeichnet, wobei Apache Iceberg, Delta Lake und Apache Hudi die am häufigsten verwendeten sind.
In Bezug auf andere Aspekte ähnelt sie früheren Lösungen, die in der Regel die Verwendung von Spark für Transformationen beinhalten. Das spezifische Toolkit kann sich jedoch von Unternehmen zu Unternehmen und von Cloud-Anbietern zu Cloud-Anbietern erheblich unterscheiden. Data Lakehouses werden ständig weiterentwickelt, und jedes Jahr kommen neue Technologien auf, die die Verarbeitung von Big Data erleichtern.
Schlussfolgerung
Zusammenfassend lässt sich sagen, dass wir die Entwicklung von Datenverwaltungslösungen, vor allem für die Analytik, vollständig abgeschlossen haben. Alle Ansätze haben ihre eigenen Anwendungsfälle und werden von Unternehmen und Teams auf der ganzen Welt aktiv genutzt. Meiner Meinung nach ist das Data Warehouse am einfachsten zu verstehen, da es einer relationalen SQL-Datenbank sehr ähnlich ist. Data Lakehouses basieren jedoch auch auf SQL als eine der Sprachen, aber die Technologie ist komplexer.
Wenn Sie eine Entscheidung treffen, sollten Sie die folgenden Fragen berücksichtigen:
- Haben Sie in Ihrem Unternehmen ML- und KI-Tools in Entwicklung und müssen Sie ihnen Daten zur Verfügung stellen? Wenn nicht, reichen strukturierte Daten für Ihre Probleme wahrscheinlich aus und Sie können bei einer Data-Warehouse-Lösung bleiben.
- Berücksichtigen Sie den Umfang Ihrer Daten. Die Speicherung kann in Data Warehouses teuer sein.
- Schließlich ist die Qualität Ihres Datenteams ein weiterer wichtiger Punkt. Bei Data Lakehouse benötigen Sie auf jeden Fall einige Dateningenieure, die fast immer teurer sind.
Quelle: medium.com