OneLake, Data Lakehouse oder doch Data Warehouse?
Mit Microsoft Fabric als vollständige Analyseplattform für Unternehmen, die sämtliche Aspekte von der Datenbeladung über Data Science bis hin zu Echtzeit-Analysen und Business Intelligence abdeckt, lernen Anwender auch verschiedene Begriffe kennen, die zwar sehr ähnlich sind, sich aber doch in einigen Aspekten voneinander unterscheiden.
Während wir OneLake bereits in einem unserer madafa.de/blog/onelake-das-herzstuck-von-microsoft-fabric behandelt haben, möchten wir hier insbesondere einen Blick auf die Unterschiede zwischen dem Data Lakehouse und dem Data Warehouse in Fabric werfen.
Lakehouse
Microsoft Fabric Lakehouse ist eine Datenarchitekturplattform zum Speichern, Verwalten und Analysieren strukturierter und unstrukturierter Daten an einem einzigen Ort und in einem offenen Format. Das Standard-Dateiformat ist Delta-Parquet. Sie können Daten an zwei physischen Speicherorten speichern, die automatisch bereitgestellt werden: Tabellen (verwaltete Delta-Tabellen) oder Dateien (nicht verwaltet).
Tabellen
Tabellen ist ein verwalteter Bereich zum Hosten von Tabellen aller Formate in Spark (CSV, Parquet oder Delta). Alle Tabellen, ob automatisch oder explizit erstellt, werden im Lakehouse auch unter Tabellen erkannt. Außerdem werden alle Delta-Tabellen, die Parquet-Datendateien mit einem dateibasierten Transaktionsprotokoll sind, ebenfalls als Tabellen erkannt.
Dateien
Ein nicht verwalteter Bereich zum Speichern von Daten in einem beliebigen Dateiformat. Alle in diesem Bereich gespeicherten Deltadateien werden nicht automatisch als Tabellen erkannt.
Mit dem Lakehouse können Sie Transformationen über Spark-Berechnungen durchführen oder SQL-Endpunkte für die Analyse/Exploration Ihrer Daten verwenden. Das Standarddateiformat des Data Lakehouse ist Delta Parquet, welches insbesondere für analytische Workloads optimal ist.
Data Lakehouses sind kein neues Konzept und nicht ausschließlich in Microsoft Fabric zu finden, da sie in analytischen Workload-Architekturen, die die empfohlene Medaillon-Architektur verwenden, sehr verbreitet sind. Das Konzept eines Data Lakehouse wurde in Microsoft Fabric lediglich um einige neue Funktionen erweitert und nahtlos in andere Komponenten innerhalb von Microsoft Fabric integriert.
Warehouse
Das Data Warehouse von Microsoft Fabric ist eine moderne Version des traditionellen Data Warehouse. Relationale Data Warehouses sind das Herzstück der meisten Business Intelligence (BI)-Lösungen in Unternehmen. Während die spezifischen Details zwischen den Data Warehouse-Implementierungen variieren können, hat sich ein gemeinsames Muster, das auf einem denormalisierten, multidimensionalen Schema basiert, als Standarddesign für ein relationales Data Warehouse herausgebildet.
Das Data Warehouse von Fabric ist für die Nutzung durch das gesamte Data Platform Team konzipiert, nicht nur für Dateningenieure. Im Kern ist das Data Warehouse eine SQL MPP Engine (Massively Parallel Processing Engine) mit Delta Tables und TDS-Endpunkten, die eine volle T-SQL DDL- und DML-Unterstützung bietet (verschiedene Funktionen/Features sind jedoch zu prüfen). Bei der Rechenleistung handelt es sich um eine serverlose Infrastruktur, die eine unbegrenzte Skalierung mit dynamischer Ressourcenzuweisung, eine sofortige Auf- oder Abwärtsskalierung ohne physische Bereitstellung und die Zuweisung physischer Rechenressourcen zu Aufträgen innerhalb von Millisekunden ermöglicht.
Im Fabric Data Warehouse besteht zudem die Möglichkeit bekannte Objekte wie Views, Funktionen oder Prozeduren zu erstellen, die bei der Transformation der Daten verwendet werden können.
Was ist der Unterschied zwischen Data Lakehouse und Data Warehouse?
Nachdem wir nun ein grundlegendes Verständnis von Microsoft Fabric und insbesondere von OneLake, Data Lakehouse und Data Warehouse haben, wollen wir nun die Unterschiede zwischen den verschiedenen Ansätzen klären, damit wir die jeweiligen Anwendungsfälle besser verstehen und unsere Lösungen besser entwerfen können.
Sowohl das Data Lakehouse als auch das Data Warehouse basieren auf dem offenen Datenformat - Delta Parquet, Lake Centric-Ansätzen und haben einige Querschnittsfunktionen, aber es gibt Unterschiede, die wir im folgenden in drei Kategorien aufteilen wollen.
- Datenzugriff / Endpunkte
- Art der gespeicherten/verwendeten Daten
- Entwicklerfähigkeiten
Endpunkte für Data Lakehouse und Data Warehouse
Es gibt 3 verschiedene Endpunkte zwischen dem Lakehouse und dem Data Warehouse.
- Lakehouse-Endpunkt für Spark-Laufzeiten/Bibliotheken
- SQL-Analytics-Endpunkt des Lakehouse
- Data Warehouse Endpunkt
Lakehouse-Endpunkt
Um mit Lakehouse-Dateien/Tabellen für Analysen, Transformationen oder Verarbeitung mit Spark zu interagieren, wird eine Verbindung mit dem Endpunkt für das Lakehouse hergestellt, der vom SQL Analytics-Endpunkt getrennt ist. Genau wie bei den Standardmethoden außerhalb von Fabric für die Interaktion mit Dateien/Deltatabellen erfolgt der Verbindungsaufbau entweder über die URL, den ABFS-Pfad oder über die direkte Einbindung des Lakehouse im Explorer. Mit Spark können Schreiboperationen mit Scala, PySpark, Spark SQL oder R durchgeführt werden. Wenn jedoch T-SQL verwendet werden soll, muss stattdessen der SQL-Analytics-Endpunkt verwenden werden.
SQL-Analytics-Endpunkt
Der SQL-Analytics-Endpunkt ist ein schreibgeschütztes Warehouse, das automatisch bei der Erstellung aus einem Lakehouse in Microsoft Fabric generiert wird. Deltatabellen, die durch Spark in einem Lakehouse erstellt werden, sind automatisch im SQL-Analyseendpunkt als Tabellen erkennbar. Der SQL-Analyseendpunkt ermöglicht es Dateningenieuren, eine relationale Schicht über den physischen Daten im Lakehouse zu erstellen und sie mithilfe der SQL-Verbindungszeichenfolge für Analyse- und Berichtstools freizugeben. Datenanalysten können dann mit T-SQL auf die Lakehouse-Daten zugreifen und dabei die Erfahrungen aus dem Warehouse nutzen.
Data Warehouse Endpunkt
Das Fabric Data Warehouse ist ein "traditionelles" Data Warehouse und unterstützt die vollen transaktionalen T-SQL-Funktionen wie ein Enterprise Data Warehouse. Im Gegensatz zum SQL Analytics-Endpunkt, bei dem Tabellen und Daten automatisch erstellt werden, haben Sie die volle Kontrolle über die Erstellung von Tabellen, das Laden, Transformieren und Abfragen Ihrer Daten im Data Warehouse, indem Sie entweder das Microsoft Fabric-Portal oder T-SQL-Befehle verwenden.
Die folgende Abbildung verdeutlicht nochmal die Unterschiede zwischen dem SQL Analytics Endpunkt des Lakehouse und dem Data Warehouse Endpunkt.
Art der gespeicherten Daten
Ein weiterer Unterschied zwischen Data Lakehouse und Data Warehouse ist die Art der gespeicherten Daten und deren Organisation.
Innerhalb des Data Lakehouse
Das Lakehouse dient der Haltung von unstrukturierten, semi-strukturierten oder strukturierten Daten. Die Daten sind in Ordnern und Dateien sowie Deltatabellen organisiert.
Innerhalb des Data Warehouse
Im klassischen Data Warehouse werden strukturierte Daten gespeichert. Die Daten sind dabei in verschiedenen Schemata und Tabellen (Deltatabellen im Hintergrund) organisiert.
Entwicklerfähigkeiten
In vielen Fällen ist eine bestimmte Technologie oder ein bestimmtes Produkt aufgrund der vorhandenen Fähigkeiten der Teammitglieder möglicherweise nicht die beste Wahl für Ihr Team. Im Rahmen eines Architekturentwurfs könnte die Umwandlung von Daten in Spark aus Gründen der Leistung, der Kosten usw. die beste Entwurfsentscheidung sein. Im Team gibt es jedoch kaum Erfahrung oder praktische Kenntnisse mit Spark oder einer anderen Sprache als T-SQL. Die Weiterbildung bzw. Umschulung der Mitarbeiter ist kostspielig und zeitaufwendig, wenn auch nicht zu vernachlässigen. Im Rahmen von Microsoft Fabric können die unterschiedlichen Skillsets des Teams jedoch durch die Wahl der passenden Architektur berücksichtigt werden.
Data Lakehouse
- Der primär zu meisternde Skill ist Spark (Scala, PySpark, Spark SQL, R). Dieser ist für Schreibvorgänge und die meisten Arbeitslasten erforderlich.
- Dank des SQL-Analytics-Endpunkts im Lakehouse kann T-SQL als weiterer Skill für reine Leseoperationen oder Analysen vorhanden sein.
- Die Interaktion mit den Daten erfolgt hauptsächlich über Spark-Notebooks und Spark-Auftragsdefinitionen.
Data Warehouse
- Die wichtigste Sprache im Data Warehouse Umfeld ist SQL. Dazu gehören T-SQL und verwandte SQL-Kenntnisse wie Datenmodellierung, DDL/DML-Anweisungen, Verständnis der SQL MPP-Engine, SQL-DBA-Kenntnisse usw.
- Die Interaktion mit den Daten erfolgt über SQL-Skripte, d.h. gespeicherte Prozeduren, Views, Ad-hoc-Abfragen, usw.
Fazit
Wenn Sie über die Erstellung neuer Lösungen oder die Migration bestehender Lösungen innerhalb von Fabric nachdenken, ist das Verständnis der Fähigkeiten und Anwendungsfälle der Fabric-Komponenten und Ihren Anforderungen an die zu erstellende Lösung entscheidend. Durch die Untersuchung der Unterschiede zwischen Data Warehouse und Lakehouse sollte sich in Kombination mit dem Wissen über Ihre Benutzer-/Arbeitsanforderungen ein klarerer Pfad für das Architekturdesign ergeben.
Wenn Sie mehr zu diesem Thema erfahren möchten, stehen Ihnen unsere Experten gerne zur Verfügung. Vereinbaren Sie unverbindlich ein Beratungsgespräch über unser Kontaktformular. Wir helfen gerne weiter!