Die Zukunft von Data Lakehouses: Apache Iceberg erklärt

Wir wissen, dass das Datenmanagement heute vollständig im Wandel ist. Jahrzehntelang verließen sich Unternehmen auf Datenlager, die Informationen auf angemessene Weise speicherten. Sie sind strukturiert, regiert und ermöglichen ein schnelles Extrahieren von Informationen, obwohl sie teuer und starr in ihrer Natur sind. Im Gegensatz dazu sind Datenseen effizienter und ermöglichen die Speicherung enormer Datenmengen unabhängig von der Struktur. Die Entstehung der Datenlakehouse-Architektur kombiniert jedoch die Vorteile der Datenseen und Datenlager. Lakehouse-Modelle ermöglichen die Beibehaltung der Flexibilität, die Datenseen bieten, während sie die Zuverlässigkeit, Governance und Leistung eines Datenlagers integrieren.

Das bemerkenswerteste Open-Source-Tabellenformat, das für die Datenanalyse im großen Maßstab erstellt wurde, ist Apache Iceberg. Iceberg steht an vorderster Front dieser Transformation und erhöht den Wert von Daten in der Lakehouse-Architektur. Darüber hinaus bietet Iceberg Lösungen für viele der Probleme, mit denen Datenseen konfrontiert sind, einschließlich Schemaevolution, ACID-Transaktionen, Datenkonsistenz und Abfrageleistung. 

Dieser Blogbeitrag ist der erste Teil einer dreiteiligen Serie, die Apache Iceberg und seine Rolle in modernen Datenarchitekturen untersucht. In diesem Beitrag wird der Fokus auf den folgenden Themen liegen:

  1. Die Entwicklung von Datenlagern zu Datenseen
  2. Die mit traditionellen Ansätzen verbundenen Herausforderungen
  3. Wie Apache Iceberg diese Einschränkungen adressiert

Die folgenden Beiträge in dieser Serie werden tiefer in die Architektur von Iceberg eintauchen und untersuchen, wie Abfragen innerhalb von Iceberg-Tabellen funktionieren.

Kurzfassung: Die Entwicklung von Data Lakes aus Data Warehouses

Jahrelang haben Unternehmen auf Data Warehouses zurückgegriffen, die als zentrale Grundlage für Analysen dienten. Ein Data Warehouse fungiert als zentrales Repository zur Erfassung strukturierter Daten aus verschiedenen Quellen, um Berichte und Erkenntnisse effizient zu erstellen. Heutzutage ermöglichen Data Warehouses schnelle Abfrageleistung sowie robuste Governance-Mechanismen, die sie zuverlässig und gut strukturiert machen.

Dennoch traten für Organisationen neue Probleme auf, als das Datenvolumen zunahm.

  1. Steigende Speicherkosten aufgrund hoher Rechen- und Speichergebühren
  2. Starre Schema-Durchsetzung, die die Integration von halbstrukturierten oder unstrukturierten Daten erschwerte
  3. Unterstützung für KI- und maschinelles Lernen war begrenzt

Als Lösung begannen Unternehmen, Data Lakes zu nutzen. Dadurch konnten Unternehmen Rohdaten, strukturierte Daten und unstrukturierte Daten in günstigen Speichern wie Amazon S3, Azure Data Lake Storage, Google Cloud Storage und Hadoop Distributed File System aufbewahren.

Die Vorteile von Data Lakes umfassten die folgenden Faktoren:

  1. Senkung der Speicherkosten in bestimmten Cloud-Umgebungen
  2. Verwendung neuer Datenformate wie unstrukturierte, halbstrukturierte und sogar strukturierte Daten
  3. Verbesserte Nutzung von KI- und maschinellen Lernanwendungen

Auch mit diesen Vorteilen brachten Data Lakes neue Probleme mit sich wie:

  1. Das Fehlen von Governance und Schema, das inkonsistente Datensätze verursacht hat.
  2. Die ineffiziente Nutzung von Indizierung und vollständigen Tabellenscans hat die Abfrageleistung verlangsamt.
  3. Das Fehlen von ACID-Transaktionen hat die Sicherstellung der Datenintegrität in Multi-User-Umgebungen erschwert.

Das Aufkommen des Data Lakehouse

Ein Data Lakehouse vereint alle Skalierbarkeits- und wirtschaftlichen Vorteile eines Data Lakes mit den Produktivitäts-, Zuverlässigkeits- und Transaktionsfunktionen eines Data Warehouses. Dies ist ein modernes Design-Paradigma.

Die Hauptvorteile eines Data Lakehouse umfassen:

  1. Unterbringung von Speicher- und Verarbeitungsfunktionen zu einem niedrigeren Preis
  2. Effiziente Datenkontrolle durch ACID-Transaktionen
  3. Änderung des Schemas, ohne bestehende Abfragen zu beeinträchtigen – Schemaevolution
  4. Rückgewinnung früherer Versionen von Tabellen durch Zeitreisefähigkeiten

Die Einführung dieser Fähigkeiten führte zur Entwicklung moderner Tabellenformate wie Delta Lake, Apache Hudi und Apache Iceberg. Diese Strukturen erleichterten es Data Lakes, wie Data Warehouses zu funktionieren, während sie trotz der Einführung strukturierter Metadatenebenen flexibel und unstrukturiert bleiben konnten. Unter diesen Tabellenformaten hat sich Apache Iceberg als führende Wahl etabliert und bietet eine robuste Lösung für Organisationen, die auf Data Lakehouse-Architekturen umsteigen möchten.

Apache Iceberg: Ein Game-Changer für Data Lakehouses

Was ist ein Tabellenformat?

Die Verwendung eines Tabellenformats bietet eine Möglichkeit, große Datensätze, die in einem Data Lake gespeichert sind, effektiv zu verwalten. Es umfasst einige Funktionen, darunter:

  1. Strukturierung von Daten in Tabellen für effektives Management und Abfragen.
  2. Effizientes Eliminieren und Aktualisieren von Daten sowie Ändern von Schemas.
  3. Verbesserung der Leistung bei Abfrageantwortzeiten durch Änderung der Metadaten.

Wie bei anderen traditionellen Tabellenformaten wie Hive beruhte die Speicherung auf einem verzeichnisbasierten Ansatz, was bedeutet, dass Tabellen aus dem Inhalt bestimmter Dateiverzeichnisse erstellt wurden. Diese Methode führte jedoch zu Engpässen bei der Leistung, da Abfrage-Engines ganze Verzeichnisse durchsuchen mussten, bevor sie eine Abfrage ausführen konnten.

Die Evolution von Hive zu Iceberg

Das Hive-Tabellenformat sollte das Problem der Strukturierung von Data Lakes in den Anfangsjahren lösen. Der Zweck bestand darin, Benutzern das Organisieren von Datensätzen in Tabellen mit Abfragen zu ermöglichen, wie sie in SQL von Apache Hive und Presto verwendet werden. Es gibt jedoch erhebliche Nachteile des Hive-Formats:

  1. Inkonsistenzen aufgrund gleichzeitiger Schreibvorgänge aus verschiedenen Quellen aufgrund fehlender ACID-Transaktionen.
  2. Teure Aufzählung von Dateilisten aufgrund ineffizienter Verwaltung von Metadaten.
  3. Langsame Abfragen aufgrund der manuellen Optimierung von Partitionierungsherausforderungen.

Wie Apache Iceberg diese Herausforderungen löst

Apache Iceberg ist ein modernes Tabellenformat, das die Probleme beseitigt, die bei Hive auftreten, während es ACID-Transaktionen, Schemaevolution und schnelle Leistung bei Abfragen mit Data Lakes bietet.

Zu den wichtigen Vorteilen von Apache Iceberg gehören:

  1. ACID-Transaktionen, die zuverlässige Datenaktualisierungen und Konsistenz garantieren.
  2. Möglichkeit, durch die Zeit zu reisen und die historischen Datenschnappschüsse abzufragen.
  3. Schemaevolution, die das Hinzufügen, Umbenennen oder Löschen von Spalten ermöglicht, ohne bestehende Abfragen zu unterbrechen.
  4. Evolution der Partition, die Partitionierungsstrategien automatisch optimiert.
  5. Reduzierung unnötiger Dateiscans ermöglicht eine schnellere Abfrageausführung aufgrund des effizienten Managements von Metadaten.

Abschließende Bemerkungen

Die Datenverwaltung hat sich dramatisch verändert mit dem Aufkommen von Apache Iceberg. Es ermöglicht Unternehmen, die sich auf einen Data Lakehouse-Ansatz umstellen, ihre Informationen auf kostengünstige und hoch skalierbare Weise zu verwalten, ohne dabei die Leistung zu beeinträchtigen. Es ist klar, dass die Analyse mit der Erfindung von Apache Iceberg transformiert wurde und dessen Nutzung ständig zunimmt. Seien Sie gespannt auf den abschließenden Beitrag dieser Serie. In den folgenden zwei Blog-Beiträgen wird der Fokus auf folgende Themen verlagert:

  • Teil 2: Die Architektur von Apache Iceberg, einschließlich der Datenspeicher-, Metadaten- und Katalogschichten.
  • Teil 3: Die Mechanismen von Abfragen in Iceberg, einschließlich Lesen und Schreiben, Zeitreisen und Abfrageoptimierungsmethoden.

Source:
https://dzone.com/articles/the-future-of-data-lakehouses-apache-iceberg