
Was sind Apache Iceberg Tables?
Tabellenformate mit Unterstützung für ACID-Transaktionen, wie Apache Iceberg, sind ein Grund dafür, dass Data-Lake- und Data-Mesh-Strategien schnelle und effektive Datenabfragen ermöglichen.
- Übersicht
- Wie Tabellenformate Data Lakes optimieren
- Was ist Apache Iceberg?
- Die Vorteile von Apache Iceberg
- Ressourcen
Übersicht
Tabellenformate, die ACID-Transaktionen unterstützen – wie Apache Iceberg –, sind ein Grund dafür, dass Data-Lake- und Data-Mesh-Strategien schnelle und effektive Datenabfragen ermöglichen. Durch Auswahl des richtigen Tabellenformats können Unternehmen das Potenzial ihrer Daten voll ausschöpfen – das optimale Format bietet hierbei Performance, Interoperabilität und Benutzerfreundlichkeit. Das Iceberg-Tabellenformat ist unter seinen Open-Source-Pendants einzigartig: Das transparente Open-Source-Projekt basiert auf intensiver Zusammenarbeit und ist agnostisch in Bezug auf Verarbeitungs-Engine und Dateiformat. Wir schauen uns an, welche Vorteile die Analyse großer Datasets mit einem offenen Tabellenformat bietet und warum Iceberg schnell zu einem der beliebtesten Open-Source-Tabellenformate geworden ist.
Wie Tabellenformate Data Lakes optimieren
Data Lakes eignen sich ideal, um riesige Mengen strukturierter, semistrukturierter oder unstrukturierter Daten in nativen Dateiformaten zu speichern. Hiermit erhalten Unternehmen eine ganzheitliche Methode, um die Petabytes an Daten zu erfassen, zu optimieren und zu analysieren, die kontinuierlich aus verschiedenen Datenquellen eingehen.
Doch die einzelnen Dateien in einem Data Lake enthalten nicht genug Metadaten, die Abfrage-Engines und andere Applikationen für Bereinigung, Time Travel, Schema-Entwicklung und andere Aufgaben benötigen. Dementsprechend kostet es viel Zeit und Aufwand, diese Verwaltungsaufgaben durchzuführen. Tabellenformate lösen diese Probleme, indem sie Metadaten bereitstellen, die ähnliche Funktionen ermöglichen wie SQL-Tabellen in klassischen relationalen Datenbanken. Sie definieren explizit eine Tabelle, ein zugehöriges Schema, einen Tabellenverlauf und jede Datei, die in der Tabelle enthalten ist. Darüber hinaus ermöglichen Tabellenformate wie Iceberg die ACID-Compliance (Atomicity, Consistency, Isolation, Durability), wodurch mehrere Applikationen auf sichere Weise gleichzeitig dieselben Daten bearbeiten können.
Was ist Apache Iceberg?
Iceberg ist ein Open-Source-Tabellenformat, das ursprünglich von Netflix entwickelt wurde, um Herausforderungen in Apaches Hive-Hadoop-Projekt zu bewältigen. Nach dieser ursprünglichen Entwicklung im Jahr 2018 übergab Netflix das Iceberg-Format an die Apache Software Foundation, wo daraus ein vollständig Open-Source-basiertes und offen verwaltetes Projekt entstand. Das Format korrigiert viele Defizite seines Vorgängers und hat sich so schnell zu einem der beliebtesten Open-Source-Tabellenformate entwickelt.
Die Vorteile von Apache Iceberg
Das Iceberg-Tabellenformat bietet viele Funktionen, mit denen Sie Ihre Data-Lake-Architektur optimieren können.
- SQL-Ausdrücke: Iceberg bietet vollständige Unterstützung für flexible SQL-Befehle. Mit diesen Befehlen können Sie Aufgaben wie die Aktualisierung bestehender Zeilen, die Zusammenführung neuer Daten oder auch gezielte Löschungen ausführen. Iceberg kann auch verwendet werden, um Datendateien neu zu schreiben und so die Lese-Performance zu steigern. Darüber hinaus sorgt die Delta-Option – bei der nicht alle Daten, sondern nur Abweichungen berücksichtigt werden – für schnellere Updates.
- Schema-Entwicklung: Iceberg unterstützt die gesamte Schema-Entwicklung. Wenn das Schema in Iceberg-Tabellen aktualisiert wird, werden hierdurch nur die Metadaten geändert – die eigentlichen Dateien bleiben unberührt. Änderungen der Schema-Entwicklung beinhalten Hinzufügen, Entfernen, Umbenennen, Umsortieren und Typumwandlung.
- Partitionsentwicklung: Partitionierung teilt große Tabellen in kleinere auf, indem ähnliche Zeilen gruppiert werden. So werden bei Abfragen, die nur auf einen Teil der Daten zugreifen müssen, die Lese- und Ladezeiten verkürzt. Eine Partitionsspezifikation kann sich weiterentwickeln, ohne frühere Daten zu ändern, die mit einer vorherigen Spezifikation geschrieben wurden. Die Metadaten, die mit den einzelnen Partitionsversionen verbunden sind, werden separat gespeichert.
- Time Travel und Rollback: Mit der Time-Travel-Funktion von Iceberg können wiederholbare Abfragen im selben Tabellen-Snapshot ausgeführt werden, damit Nutzende vergangene Änderungen prüfen können. Mit dieser Rollback-Funktion können sie einfach Fehler rückgängig machen, indem sie Tabellen auf den vorherigen Zustand zurücksetzen.
- Transaktionskonsistenz: Daten, die in einer Data-Lake- oder Data-Mesh-Architektur gespeichert sind, können gleichzeitig von mehreren unabhängigen Unternehmensanwendungen genutzt werden. Das ist zwar ein riesiger Vorteil, doch es birgt auch erhebliche Risiken, insbesondere wenn mehrere Nutzende zur selben Zeit die gleichen Daten bearbeiten. Deshalb ermöglicht Iceberg ACID-Transaktionen auf skalierbare Weise, damit Nutzende problemlos parallel arbeiten können. Diese ACID-Unterstützung trägt dazu bei, dass Lesende nicht von teilweisen oder unbestätigten Änderungen betroffen sind. Wenn Nutzende eine Änderung festschreiben, erstellt Iceberg eine neue, unveränderliche Version der Datendateien und Metadaten der Tabelle.
- Schnellere Abfragen: Iceberg wurde für den Umgang mit riesigen analytischen Datasets entwickelt. Es bietet verschiedene Funktionen, um die Geschwindigkeit und Effizienz von Abfragen zu steigern, darunter schnelle Scanplanung, das Eliminieren unnötiger Metadaten-Dateien und die Möglichkeit, Datendateien herauszufiltern, die keine relevanten Informationen enthalten.
- Rege Community aktiver Apache ORC-Nutzender und Mitwirkender: Iceberg ist eins der wichtigsten Projekte der Apache Software Foundation. Die Unterstützung verschiedener Verarbeitungs-Engines und Dateiformate – darunter Apache Parquet, Apache Avro und Apache ORC – hat eine vielfältige Gruppe talentierter kommerzieller Nutzender angezogen, die zum anhaltenden Erfolg des Formats beitragen wollen.