Tabellenformate 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. In diesem Beitrag stellen wir vor, 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.
SO OPTIMIEREN TABELLENFORMATE DATA LAKES
Data Lakes eignen sich ideal, um riesige Mengen semi- 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 dieses Problem, 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 gewährleisten 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.
VORTEILE DES APACHE ICEBERG-TABELLENFORMATS
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 Unternehmensapplikationen 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. Dank dieser ACID-Unterstützung sind Lesende nicht von teilweisen oder unbestätigten Änderungen betroffen. Wenn ein:e Nutzer:in eine Änderung festschreibt, 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, die Bereinigung unnötiger Metadaten-Dateien und die Möglichkeit, Datendateien herauszufiltern, die keine passenden Daten enthalten.
Rege Community aktiver 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.
APACHE ICEBERG UND SNOWFLAKE
Mit der Snowflake Data Cloud können Sie ganz einfach Big-Data-Workloads mit verschiedensten Dateiformaten ausführen, einschließlich Parquet, Avro, ORC, JSON und XML. Das interne, vollständig verwaltete Tabellenformat von Snowflake vereinfacht die Speicherverwaltung erheblich – mit Funktionen wie Verschlüsselung, Transaktionskonsistenz, Versionskontrolle, Fail-Safe und Time Travel. Doch einige Unternehmen sind aufgrund gesetzlicher oder anderer Einschränkungen nicht in der Lage, all ihre Daten in Snowflake zu speichern, oder ziehen es vor, Daten extern in offenen Formaten zu speichern. Apache Iceberg wird derzeit in Public Preview von der Snowflake Data Cloud mit Iceberg Tables unterstützt. Iceberg-Tabellen kombinieren die Performance und die vertraute Abfragesemantik der Snowflake-Tabellen mit einem kundenverwalteten Cloud-Speicher.
Snowflake-Nutzende müssen sich nicht mit Hindernissen herumschlagen, die sie davon abhalten, das Potenzial ihrer Daten voll auszuschöpfen. Mit Snowflake können sie Datensilos beseitigen, komplexe Datasets auf sichere Weise teilen – intern oder mit externen Datenpartnern – und schnell und effizient riesige Datasets für umfangreiche analytische Aufgaben nutzen.
Überzeugen Sie sich selbst von den Snowflake-Funktionen. Um die Lösung in Aktion zu erleben, melden Sie sich einfach für eine kostenlose Testversion an.