Was ist Apache Iceberg?

Zuletzt aktualisiert: 01.05.2026

Apache Iceberg ist ein Open-Source-Tabellenformat, das für analytische Datasets in großem Umfang entwickelt wurde, die in Data Lakes gespeichert werden. Iceberg-Tabellen verwalten Daten als Sammlungen und bieten so mehr Zuverlässigkeit, Leistung und Flexibilität für moderne Datenarchitekturen. Sie können sich das als eine intelligente Schicht vorstellen, die über Ihrem Data Lake-Speicher (z. B. Cloud Storage) liegt und datenbankähnliche Funktionen für Ihre riesigen Datasets bereitstellt. Anstatt einfach nur Dateien zu verwalten, verwaltet Iceberg Tabellen als Sammlungen von Datendateien. Dadurch werden Funktionen wie Schemaentwicklung, Zeitreisen und eine effizientere Abfrageplanung ermöglicht. So können Datenanalysten, Data Scientists und Data Engineers einfacher und effizienter mit Daten in Data Lakes arbeiten und ihre analytischen Arbeitslasten erhöhen.

Was ist ein transaktionaler Data Lake?

Ein transaktionaler Data Lake speichert nicht nur Daten in großem Umfang, sondern unterstützt auch Transaktionsvorgänge, um die Genauigkeit und Konsistenz der Daten zu gewährleisten. Iceberg-Tabellen ermöglichen diese Eigenschaften, die zusammen als ACID bezeichnet werden.

  • Atomarität: Jede Transaktion wird als einzelne Einheit behandelt, die entweder vollständig erfolgreich ist oder vollständig fehlschlägt.
  • Konsistenz: Alle geschriebenen Daten sind gemäß den definierten Regeln des Data Lake gültig.
  • Isolation:Ermöglicht die gleichzeitige Ausführung mehrerer Transaktionen, ohne dass diese sich gegenseitig beeinträchtigen
  • Langlebigkeit: Gewährleistet, dass Daten nach dem Absenden einer Transaktion nicht verloren gehen oder beschädigt werden, selbst bei einem Systemausfall

Gängige Anwendungsfälle für Iceberg-Tabellen

Iceberg-Tabellen eignen sich für eine Vielzahl moderner Data-Lake- und Lakehouse-Anwendungsfälle, darunter:

  • Compliance und Datenschutz: Ideal für Data Lakes, bei denen häufig Daten gelöscht werden müssen, um Datenschutzgesetze einzuhalten
  • Aktualisierungen auf Datensatzebene: Ermöglicht Aktualisierungen einzelner Datensätze, ohne dass ganze Datasets neu veröffentlicht werden müssen, z. B. Verkaufsdaten, die sich aufgrund von Kundenretouren ändern
  • Umgang mit unvorhersehbaren Änderungen: Unterstützt SCD-Tabellen (Slowly Changing Dimension), z. B. Kundendatensätze, bei denen sich die Kontaktdaten in unregelmäßigen Abständen ändern können
  • Zeitreise und Prüfung: Es wird ein Verlauf von Tabellen-Snapshots verwaltet, sodass Nutzer historische Versionen für die Trendanalyse abfragen oder Probleme zurücksetzen und korrigieren können.
  • Maschinelles Lernen: Bietet konsistente und versionierte Datasets, die für das Training zuverlässiger Modelle entscheidend sind

Wer verwendet Iceberg-Tabellen?

Verschiedene technische Personas nutzen Iceberg-Tabellen, um große Datasets effizient zu verwalten:

  • Data Engineers und Administratoren: Mit Iceberg-Tabellen skalierbare, zuverlässige Speichersysteme entwerfen und erstellen
  • Fachkräfte für Datenanalyse und Wissenschaft: Mit Iceberg-Tabellen können Sie riesige Datasets mit SQL analysieren und reproduzierbare historische Momentaufnahmen erstellen.

Die wichtigsten Vorteile von Iceberg-Tabellen

Nutzer mit Kenntnissen in Standard-SQL können komplexe Data-Lake-Abläufe durchführen, ohne eine neue Sprache lernen zu müssen.

Ermöglicht nahtlose Änderungen an Datenstrukturen (Hinzufügen, Umbenennen oder Entfernen von Spalten), ohne Abfragen zu unterbrechen.

Unterstützt Change Data Capture (CDC), sodass Nutzer nur die Daten verarbeiten müssen, die sich seit der letzten Ausführung geändert haben, was die Effizienz steigert.

Verwendet Metadaten, um unnötige Dateien zu entfernen, und beschleunigt die Abfrageausführung durch Techniken wie Prädikat-Pushdown.

Kompatibel mit verschiedenen Engines wie Spark, Flink, Hive und Presto.

Wie funktionieren Apache Iceberg-Tabellen?

Apache Iceberg führt eine Metadatenebene ein, die über den eigentlichen Datendateien in Ihrem Data Lake liegt. Diese Metadaten erfassen Struktur und Inhalt Ihrer Tabellen organisierter und zuverlässiger als herkömmliche dateibasierte Systeme. Hier eine Aufschlüsselung der wichtigsten Mechanismen:

  • Metadatenverwaltung: Iceberg verwaltet Metadatendateien, die das Schema, die Partitionen und die Speicherorte der Datendateien der Tabelle beschreiben. Diese Metadatendateien werden in der Regel zusammen mit den Daten im Data Lake gespeichert.
  • Katalog: Iceberg verwendet einen Katalog, um den Speicherort der aktuellen Metadaten pro Tabelle zu verwalten. Dieser Katalog kann ein Dienst wie der Hive Metastore, eine auf einem Dateisystem basierende Implementierung oder ein cloudnativer Katalogdienst sein.
  • Tabellen-Snapshots: Jedes Mal, wenn eine Änderung an der Tabelle vorgenommen wird (z. B. Daten hinzufügen, Daten löschen oder Schemaentwicklung), erstellt Iceberg einen neuen Snapshot der Tabellenmetadaten. Diese Snapshots sind unveränderlich und bieten einen historischen Datensatz des Tabellenstatus.
  • Manifestlisten und Manifestdateien: Jeder Snapshot verweist auf eine Manifestliste, die wiederum eine oder mehrere Manifestdateien auflistet. Manifestdateien enthalten Metadaten zu einzelnen Datendateien, darunter Speicherorte, Partitionswerte und Statistiken (wie Zeilenanzahl und Wertebereiche).

Apache Iceberg-Architektur

Die Architektur von Apache Iceberg umfasst mehrere wichtige Komponenten, die zusammenarbeiten:

  • Data-Lake-Speicher: Dies ist die zugrunde liegende Speicherebene, z. B. Cloud Storage, in der die eigentlichen Datendateien (in Formaten wie Parquet, ORC oder Avro) und die Metadatendateien von Iceberg gespeichert werden.
  • Iceberg-REST-Katalog: Diese Komponente ist für die Verwaltung der Metadatenzeiger für Iceberg-Tabellen zuständig. Sie fungiert als zentrales Verzeichnis, das die aktuelle Version der Metadaten der einzelnen Tabellen verfolgt. Übliche Katalogimplementierungen sind:
  • Hive Metastore: Ein häufig verwendetes Metadaten-Repository, das oft mit Hadoop-basierten Systemen eingesetzt wird.
  • Dateisystemkatalog: Eine einfache Implementierung, bei der die Kataloginformationen direkt im Dateisystem des Data Lake gespeichert werden.
  • Cloud-native Katalogdienste: Verwaltete Dienste, die von Cloud-Anbietern zum Speichern und Verwalten von Metadaten angeboten werden.
  • Iceberg-Metadaten: Diese bestehen aus mehreren Ebenen von Metadatendateien, die die Struktur und die Daten der Tabelle erfassen:
  • Tabellen-Metadatendatei: Diese Datei verweist auf die aktuelle Manifestliste und enthält allgemeine Informationen zur Tabelle, z. B. das Schema und die Partitionierungsspezifikation.
  • Manifestliste: Diese Datei enthält die Manifestdateien, die Metadaten zu den Datendateien in einem bestimmten Snapshot der Tabelle enthalten.
  • Manifestdateien: Diese Dateien enthalten detaillierte Informationen zu einzelnen Datendateien, darunter Speicherorte, Partitionswerte und Statistiken.
  • Abfrage-Engines und Verarbeitungs-Frameworks: Diese Tools interagieren mit Iceberg-Tabellen, um Daten zu lesen und zu schreiben. Diese Engines nutzen die Metadaten von Iceberg, um die Abfrageplanung und -ausführung zu optimieren.
  • Computing-Ressourcen: Dies ist die zugrunde liegende Infrastruktur (z. B. virtuelle Maschinen und Container), auf der die Abfrage-Engines und Verarbeitungs-Frameworks ausgeführt werden.

Apache Iceberg und Data Lakes

Apache Iceberg verbessert die Möglichkeiten von Data Lakes erheblich, indem es ein zuverlässiges und leistungsstarkes Tabellenformat hinzufügt. In herkömmlichen Data Lakes ohne ein Tabellenformat wie das von Iceberg sind Daten oft nur eine Sammlung von Dateien. Das kann zu mehreren Herausforderungen führen:

  • Fehlende Schemaentwicklung: Das Ändern der Datenstruktur kann komplex und fehleranfällig sein.
  • Inkonsistente Lesevorgänge: Gleichzeitige Schreibvorgänge können dazu führen, dass Abfragen eine Mischung aus alten und neuen Daten lesen.
  • Langsame Abfrageleistung: Ohne Metadaten, die Abfragemaschinen leiten, müssen diese oft große Teile der Daten scannen.
  • Schwierigkeiten bei der Datenverwaltung: Funktionen wie Zeitreise und Versionsverwaltung sind nicht ohne Weiteres verfügbar.

Iceberg spricht diese Einschränkungen an, indem es eine strukturierte Schicht über dem Data Lake bereitstellt. Es bringt so Datenbank-ähnliche Funktionen in Data Lakes und verwandelt diese in leistungsstärkere und besser verwaltebare Data Lakehouses. Da Iceberg Tabellen als Sammlungen von Dateien mit umfangreichen Metadaten verwaltet, ermöglichen sie Folgendes:

  • Zuverlässiger und konsistenter Datenzugriff: ACID-Eigenschaften sorgen für Datenintegrität
  • Effiziente Abfrageverarbeitung: Metadatengesteuertes Überspringen und Filtern von Daten beschleunigt Abfragen
  • Flexibles Datenmanagement: Schemaentwicklung und Zeitreise vereinfachen die Datenpflege und -analyse
  • Interoperabilität: Iceberg ist mit verschiedenen Abfrage-Engines und Verarbeitungs-Frameworks kompatibel, die häufig mit Data Lakes verwendet werden.

Meistern Sie Ihre geschäftlichen Herausforderungen mit Google Cloud

Neukunden erhalten ein Guthaben im Wert von 300 $ für Google Cloud.
Sprechen Sie mit einem Google Cloud-Vertriebsexperten, um Ihre besonderen Herausforderungen im Detail zu besprechen.

Google Cloud und Apache Iceberg

Google Cloud bietet eine robuste Umgebung für die Nutzung von Apache Iceberg. Mehrere Google Cloud-Dienste lassen sich gut in Iceberg einbinden, sodass Nutzer leistungsstarke und skalierbare Data-Lakehouse-Lösungen erstellen können.

Gleich loslegen

Profitieren Sie von einem Guthaben in Höhe von 300 $ und mehr als 20 immer kostenlose Produkten, um Google Cloud kennenzulernen.

Google Cloud