Inhaltsverzeichnis[Ausblenden][Zeigen]
Es könnte ein wenig schwierig sein, alle verfügbaren Dienste und Architekturoptionen zu berücksichtigen, wenn man über Datenplattformen nachdenkt.
Eine Unternehmensdatenplattform besteht häufig aus Data Warehouses, Datenmodellen, Data Lakes und Berichten, die jeweils einen bestimmten Zweck und eine Reihe von erforderlichen Fähigkeiten haben. Im Gegensatz dazu ist in den letzten Jahren ein neues Design namens Data Lakehouse entstanden.
Die Vielseitigkeit von Data Lakes und Data Warehouse-Datenmanagement werden in einer revolutionären Datenspeicherarchitektur kombiniert, die als „Data Lakehouse“ bezeichnet wird.
Wir werden Data Lakehouse in diesem Beitrag eingehend untersuchen, einschließlich seiner Komponenten, Funktionen, Architektur und anderer Aspekte.
Was ist Data Lakehouse?
Wie der Name schon sagt, ist ein Data Lakehouse eine neue Art von Datenarchitektur, die einen Data Lake mit einem Data Warehouse kombiniert, um die Mängel beider separat zu beheben.
Im Wesentlichen verwendet das Lakehouse-System kostengünstigen Speicher, um große Datenmengen in ihrer ursprünglichen Form zu erhalten, ähnlich wie Data Lakes. Das Hinzufügen der Metadatenschicht über dem Speicher gibt auch Datenstruktur und stärkt Datenverwaltungstools, wie sie in Data Warehouses zu finden sind.
Es speichert die enormen Mengen an organisierten, halbstrukturierten und unstrukturierten Daten, die sie von den verschiedenen Geschäftsanwendungen, Systemen und Geräten erhalten, die in ihrer gesamten Organisation verwendet werden.
In den meisten Fällen verwenden Data Lakes eine kostengünstige Speicherinfrastruktur mit einer API (File Application Programming Interface), um Daten in offenen, generischen Dateiformaten zu speichern.
Dies ermöglicht vielen Teams den Zugriff auf alle Unternehmensdaten über ein einziges System für eine Vielzahl von Initiativen, wie z. B. Data Science, Maschinelles Lernen, und Business-Intelligence.
Eigenschaften
- Kostengünstige Lagerung. Ein Data Lakehouse muss in der Lage sein, Daten in kostengünstigen Objektspeichern zu speichern, wie z Cumolocity Storage, Azure Blob Storage, Amazon Simple Storage Service oder nativ mit ORC oder Parquet.
- Fähigkeit zur Datenoptimierung: Datenlayoutoptimierung, Caching und Indizierung sind einige Beispiele dafür, wie ein Data Lakehouse in der Lage sein muss, die Daten zu optimieren und gleichzeitig das ursprüngliche Format der Daten beizubehalten.
- Eine Schicht von Transaktionsmetadaten: Zusätzlich zu der wesentlichen kostengünstigen Speicherung ermöglicht dies Datenverwaltungsfunktionen, die für die Leistung des Data Warehouse entscheidend sind.
- Unterstützung für die deklarative DataFrame-API: Die meisten KI-Tools können DataFrames verwenden, um Rohdaten aus dem Objektspeicher abzurufen. Die Unterstützung für die deklarative DataFrame-API erhöht die Fähigkeit, die Präsentation und Struktur der Daten als Reaktion auf bestimmte Datenwissenschafts- oder KI-Aufgaben dynamisch zu verbessern.
- Unterstützung für ACID-Transaktionen: Das Akronym ACID, das für Atomarität, Konsistenz, Isolation und Dauerhaftigkeit steht, ist eine entscheidende Komponente bei der Definition einer Transaktion und der Gewährleistung der Konsistenz und Zuverlässigkeit von Daten. Solche Transaktionen waren bisher nur in Data Warehouses möglich, aber die lakehouse bietet die Möglichkeit, diese mit Data Lakes zu nutzen auch. Bei mehreren Datenpipelines mit gleichzeitigem Lesen und Schreiben von Daten löst dies das Problem der geringen Datenqualität der letzteren.
Elemente von Data Lakehouse
Die Architektur des Data Lakehouse ist auf hohem Niveau in zwei Hauptebenen unterteilt. Die Datenaufnahme der Speicherschicht wird von der Lakehouse-Plattform (dh dem Data Lake) gesteuert.
Ohne die Daten in ein Data Warehouse laden oder in ein proprietäres Format konvertieren zu müssen, kann die Verarbeitungsschicht die Daten in der Speicherschicht dann direkt mit einer Reihe von Tools abfragen.
Anschließend können BI-Apps sowie KI- und ML-Technologien die Daten verwenden. Die Wirtschaftlichkeit eines Data Lake wird durch dieses Design bereitgestellt, aber da jede Verarbeitungsmaschine diese Daten lesen kann, haben Unternehmen die Freiheit, die vorbereiteten Daten für die Analyse durch eine Reihe von Systemen zugänglich zu machen. Sowohl die Prozessorleistung als auch die Kosten können durch Verwendung dieses Verfahrens zur Verarbeitung und Analyse verbessert werden.
Aufgrund der Unterstützung von Datenbanktransaktionen, die den folgenden ACID-Kriterien (Atomizität, Konsistenz, Isolation und Dauerhaftigkeit) entsprechen, ermöglicht die Architektur auch vielen Parteien, gleichzeitig auf Daten im System zuzugreifen und diese zu schreiben:
- Atomarität bezieht sich auf die Tatsache, dass entweder die gesamte Transaktion oder nichts davon erfolgreich ist, während eine Transaktion abgeschlossen wird. Für den Fall, dass ein Prozess unterbrochen wird, hilft dies, Datenverlust oder -beschädigung zu vermeiden.
- Konsistenz garantiert, dass Transaktionen auf vorhersehbare, konsistente Weise erfolgen. Es wahrt die Integrität der Daten, indem es sicherstellt, dass alle Daten in Übereinstimmung mit vorgegebenen Regeln legitim sind.
- Isolation stellt sicher, dass bis zum Abschluss keine Transaktion durch eine andere Transaktion innerhalb des Systems beeinflusst werden kann. Dadurch können mehrere Parteien gleichzeitig von demselben System lesen und schreiben, ohne sich gegenseitig zu stören.
- Langlebigkeit garantiert, dass Änderungen an den Daten in einem System nach Abschluss einer Transaktion auch bei einem Systemausfall bestehen bleiben. Alle Änderungen, die durch eine Transaktion verursacht werden, werden für immer gespeichert.
Data Lakehouse-Architektur
Databricks (der Innovator und Designer ihres Delta Lake-Konzepts) und AWS sind die beiden wichtigsten Befürworter des Konzepts eines Data Lakehouse. Wir werden uns daher auf ihr Wissen und ihre Einsicht verlassen, um die architektonische Gestaltung von Seehäusern zu beschreiben.
Ein Data-Lakehouse-System hat typischerweise fünf Schichten:
- Aufnahmeschicht
- Speicherschicht
- Metadatenschicht
- API-Schicht
- Verbrauchsschicht
Aufnahmeschicht
Die erste Schicht des Systems ist dafür zuständig, Daten aus verschiedenen Quellen zu sammeln und an die Speicherschicht zu senden. Die Schicht kann mehrere Protokolle verwenden, um eine Verbindung zu zahlreichen internen und externen Quellen herzustellen, einschließlich der Kombination von Batch- und Streaming-Datenverarbeitungsfunktionen, wie z
- NoSQL-Datenbanken,
- Dateifreigaben
- CRM-Anwendungen,
- Websites,
- IoT-Sensoren,
- soziale Medien,
- Software as a Service (SaaS)-Anwendungen und
- relationale Datenbankverwaltungssysteme usw.
An dieser Stelle können Komponenten wie Apache Kafka für das Datenstreaming und Amazon Data Migration Service (Amazon DMS) zum Importieren von Daten aus RDBMS und NoSQL-Datenbanken eingesetzt werden.
Speicherschicht
Die Lakehouse-Architektur soll die Speicherung verschiedener Arten von Daten als Objekte in kostengünstigen Objektspeichern wie AWS S3 ermöglichen. Über offene Dateiformate können die Client-Tools diese Artikel dann direkt aus dem Store lesen.
Dadurch können viele APIs und Komponenten der Verbrauchsschicht auf dieselben Daten zugreifen und diese nutzen. Die Metadatenschicht speichert die Schemas für strukturierte und halbstrukturierte Datensätze, damit die Komponenten sie beim Lesen auf die Daten anwenden können.
Die Hadoop Distributed File System (HDFS)-Plattform kann beispielsweise verwendet werden, um Cloud-Repository-Dienste zu erstellen, die Computing und Speicherung vor Ort aufteilen. Lakehouse ist für diese Dienstleistungen ideal geeignet.
Metadatenschicht
Die Metadatenschicht ist die grundlegende Komponente eines Data Lakehouse, die dieses Design auszeichnet. Es handelt sich um einen einzigen Katalog, der Metadaten (Informationen zu anderen Datenteilen) für alle im Lake gespeicherten Elemente bietet und Benutzern die Verwendung von Verwaltungsfunktionen wie den folgenden ermöglicht:
- Eine konsistente Version der Datenbank wird dank ACID-Transaktionen von gleichzeitigen Transaktionen gesehen;
- Caching zum Speichern von Cloud-Objektspeicherdateien;
- Hinzufügen von Datenstrukturindizes mithilfe von Indizierung zur Beschleunigung der Abfrageverarbeitung;
- Verwenden von Zero-Copy-Klonen zum Duplizieren von Datenobjekten; und
- Um bestimmte Versionen der Daten usw. zu speichern, verwenden Sie die Datenversionierung.
Darüber hinaus ermöglicht die Metadatenschicht die Implementierung der Schemaverwaltung, die Verwendung von DW-Schematopologien wie Stern-/Schneeflocke-Schemas und die Bereitstellung von Datenverwaltungs- und Prüffunktionen direkt auf dem Data Lake, wodurch die Integrität der gesamten Datenpipeline verbessert wird.
Funktionen für die Schemaentwicklung und -durchsetzung sind in der Schemaverwaltung enthalten. Indem alle Schreibvorgänge abgelehnt werden, die nicht dem Schema der Tabelle entsprechen, ermöglicht die Schemadurchsetzung Benutzern, die Datenintegrität und -qualität aufrechtzuerhalten.
Die Schemaentwicklung ermöglicht es, das aktuelle Schema der Tabelle zu modifizieren, um sich ändernden Daten Rechnung zu tragen. Aufgrund einer einzigen Administrationsoberfläche über dem Data Lake gibt es auch Zugriffssteuerungs- und Auditing-Möglichkeiten.
API-Schicht
Jetzt ist eine weitere wichtige Ebene der Architektur vorhanden, die eine Reihe von APIs hostet, die alle Endbenutzer verwenden können, um Jobs schneller auszuführen und ausgefeiltere Statistiken zu erhalten.
Die Verwendung von Metadaten-APIs erleichtert das Identifizieren und Zugreifen auf die Datenelemente, die für eine bestimmte Anwendung benötigt werden.
In Bezug auf Bibliotheken für maschinelles Lernen können einige von ihnen, wie TensorFlow und Spark MLlib, offene Dateiformate wie Parquet lesen und direkt auf die Metadatenschicht zugreifen.
Gleichzeitig bieten DataFrame-APIs größere Optimierungsmöglichkeiten und ermöglichen es Programmierern, verteilte Daten zu organisieren und zu ändern.
Verbrauchsschicht
Power BI, Tableau und andere Tools und Apps werden unter der Verbrauchsebene gehostet. Mit dem Lakehouse-Design sind alle Metadaten und alle Daten, die in einem Lake gespeichert sind, für die Client-Apps zugänglich.
Das Lakehouse kann von allen Benutzern innerhalb eines Unternehmens genutzt werden, um alle Arten von Aufgaben auszuführen Analyseoperationen, einschließlich der Erstellung von Business-Intelligence-Dashboards und der Ausführung von SQL-Abfragen und maschinellen Lernaufgaben.
Vorteile von Data Lakehouse
Unternehmen können ein Data Lakehouse erstellen, um ihre aktuelle Datenplattform zu vereinheitlichen und ihren gesamten Datenverwaltungsprozess zu optimieren. Durch den Abbau der Silobarrieren, die verschiedene Quellen verbinden, kann ein Data Lakehouse die Notwendigkeit separater Lösungen ersetzen.
Im Vergleich zu kuratierten Datenquellen ergibt diese Integration ein deutlich effektiveres End-to-End-Verfahren. Dies hat mehrere Vorteile:
- Weniger Verwaltung: Anstatt Daten aus Rohdaten zu extrahieren und sie für die Verwendung in einem Data Warehouse vorzubereiten, ermöglicht ein Data Lakehouse allen damit verknüpften Quellen, ihre Daten verfügbar und für die Verwendung zu organisieren.
- Erhöhte Wirtschaftlichkeit: Data Lakehouses werden unter Verwendung einer modernen Infrastruktur konstruiert, die Berechnung und Speicherung aufteilt, wodurch es einfach ist, die Speicherung zu erweitern, ohne die Rechenleistung zu erhöhen. Allein der Einsatz kostengünstiger Datenspeicher führt zu einer kostengünstigen Skalierbarkeit.
- Bessere Datenverwaltung: Data Lakehouses sind mit einer standardisierten offenen Architektur aufgebaut, die eine bessere Kontrolle über Sicherheit, Metriken, rollenbasierten Zugriff und andere wichtige Verwaltungskomponenten ermöglicht. Durch die Vereinheitlichung von Ressourcen und Datenquellen vereinfachen und verbessern sie die Governance.
- Vereinfachte Normen: Da die Verbindung in den 1980er Jahren, als Data Warehouses entwickelt wurden, stark eingeschränkt war, wurden häufig lokalisierte Schemastandards innerhalb von Unternehmen, sogar Abteilungen, entwickelt. Data Lakehouses nutzen die Tatsache, dass viele Datentypen jetzt offene Standards für Schemas haben, indem sie zahlreiche Datenquellen mit dem überlappenden einheitlichen Schema aufnehmen, um Verfahren zu rationalisieren.
Nachteile von Data Lakehouse
Bei allem Tamtam um Data Lakehouses darf man nicht vergessen, dass die Idee noch sehr neu ist. Wägen Sie unbedingt die Nachteile ab, bevor Sie sich voll und ganz auf dieses neue Design festlegen.
- Monolithische Struktur: Das All-Inclusive-Design eines Seehauses bietet mehrere Vorteile, wirft aber auch einige Probleme auf. Eine monolithische Architektur führt häufig zu einem schlechten Service für alle Benutzer und kann starr und schwierig zu warten sein. Typischerweise bevorzugen Architekten und Designer eine modularere Architektur, die sie für verschiedene Anwendungsfälle anpassen können.
- Die Technologie ist noch nicht so weit: Das Endziel erfordert eine erhebliche Menge an maschinellem Lernen und künstlicher Intelligenz. Bevor Lakehouses die angestrebte Leistung erbringen können, müssen sich diese Technologien weiterentwickeln.
- Kein signifikanter Fortschritt gegenüber bestehenden Strukturen: Es besteht noch erhebliche Skepsis darüber, wie viel Mehrwert Seehäuser tatsächlich bringen werden. Einige Kritiker behaupten, dass ein Lake-Warehouse-Design in Verbindung mit der entsprechenden automatisierten Ausrüstung eine vergleichbare Effizienz erzielen kann.
Herausforderungen von Data Lakehouse
Es könnte schwierig sein, die Data-Lakehouse-Technik zu übernehmen. Aufgrund der Komplexität seiner Bestandteile ist es falsch, das Data Lakehouse als allumfassende Idealstruktur oder „eine Plattform für alles“ zu betrachten.
Darüber hinaus müssen Unternehmen aufgrund der zunehmenden Einführung von Data Lakes ihre aktuellen Data Warehouses dorthin verlagern und sich nur auf ein Erfolgsversprechen ohne nachweisbaren wirtschaftlichen Nutzen verlassen.
Wenn während des gesamten Übertragungsprozesses Latenzprobleme oder Ausfälle auftreten, kann dies teuer, zeitaufwändig und möglicherweise unsicher werden.
Laut einigen Anbietern, die Lösungen ausdrücklich oder implizit als Data Lakehouses vermarkten, müssen Geschäftsanwender hochspezialisierte Technologien nutzen. Diese funktionieren möglicherweise nicht immer mit anderen Tools, die mit dem Data Lake im Zentrum des Systems verbunden sind, was die Probleme noch verstärkt.
Darüber hinaus kann es schwierig sein, Analysen rund um die Uhr bereitzustellen, während geschäftskritische Workloads ausgeführt werden, was eine Infrastruktur mit kostengünstiger Skalierbarkeit erfordert.
Zusammenfassung
Die neuste Rechenzentrumsvariante der letzten Jahre ist das Data Lakehouse. Es integriert eine Vielzahl von Bereichen wie Informationstechnologie, Open-Source-Software, Cloud Computing, und verteilte Speicherprotokolle.
Es ermöglicht Unternehmen, alle Arten von Daten von jedem Ort aus zentral zu speichern, was die Verwaltung und Analyse vereinfacht. Data Lakehouse ist ein ziemlich faszinierendes Konzept.
Jedes Unternehmen hätte einen erheblichen Wettbewerbsvorteil, wenn es Zugang zu einer All-in-One-Datenplattform hätte, die so schnell und effizient wie ein Data Warehouse und gleichzeitig so flexibel wie ein Data Lake ist.
Die Idee entwickelt sich noch und bleibt relativ neu. Infolgedessen kann es einige Zeit dauern, bis festgestellt wird, ob sich etwas ausbreiten kann oder nicht.
Wir alle sollten neugierig sein, in welche Richtung sich die Lakehouse-Architektur bewegt.
Hinterlassen Sie uns einen Kommentar