banner

Blog

Jun 28, 2023

Apache Iceberg verändert alles: Was steckt darunter?

Das Open-Source-Hochleistungstabellenformat Apache Iceberg hat die Nutzung von Data Lakes und die Datenanalyse nachhaltig verändert und traditionelle Data Warehouses weniger attraktiv gemacht, stellt Jason Hughes von Dremio fest.

Angesichts der ständig wachsenden Datenmengen ist es kein Geheimnis, dass Unternehmen Schwierigkeiten haben, aus diesen Daten einen unmittelbaren Nutzen zu ziehen – während sie gleichzeitig versuchen, Systeme einzurichten, die auf ihre zukünftige Verwendung reagieren können. Was sich am Horizont abzeichnet, kann schwer vorherzusagen sein. Datenplattformen müssen diesem doppelten Bedarf gerecht werden, und die Kerntechnologie treibt ihre Entwicklung dahingehend voran. Open-Source-Apache IcebergOpens a new window , ein Hochleistungsformat für Analysetabellen, verändert die Art und Weise, wie Unternehmen auf Daten zugreifen und diese nutzen, und bringt grundlegende Flexibilität in die Datenanalyse.

Iceberg ermöglicht eine ungehinderte Data-Warehousing-Leistung für den Data Lake, da herkömmliche Data Warehouses für Unternehmen, die kostengünstige Analysen suchen, eher zu einem Albatros als zu einem Rettungsboot geworden sind. Iceberg hat seinen Ursprung in der Netflix-Entwicklung und ermöglichte es ihnen, Amazon S3 als ihr Data Warehouse zu nutzen. Iceberg ist seit langem ein produktionsreifes Open-Source-Projekt, das seit langem zur Datenanalyse bei Unternehmen wie Netflix, Adobe, Apple und vielen anderen eingesetzt wird. Zusätzlich zu seiner nachgewiesenen Produktionsbereitschaft gewährleisten seine APIs auch die Kompatibilität, aber die Veröffentlichung 1.0 Ende letzten Jahres verankerte diese Kompatibilität als Garantie und stärkte seinen Status für Data Warehousing- und Data Science-Anwendungsfälle auf Produktionsniveau. Iceberg ist mit 1.559 zusammengeführten Pull-Anfragen in den letzten 12 Monaten enorm gewachsen und die Entwicklung der Software über die Apache Software Foundation wird derzeit unter anderem von Amazon, Snowflake, Google, Tabular und Dremio unterstützt.

Ein Tabellenformat wie Iceberg ist eine entscheidende Komponente der neuen Lakehouse-Architekturen, die analytische Workloads ermöglichen, die Abfragen für große Datenmengen in Cloud-Objektspeichern wie S3 und ADLS ausführen. Iceberg-Tabellen erleichtern DML-Vorgänge (Data Manipulation Language) direkt in diesen Cloud-Objektspeichern. Sie können auf viele verschiedene Arten optimiert werden, beispielsweise durch Partitionierung, Sortierung und Indizes, um eine effiziente Datenorganisation und -verarbeitung in großem Maßstab zu ermöglichen. Gleichzeitig wird die Benutzererfahrung vereinfacht, da sie die zugrunde liegenden Details einer Tabelle nicht kennen müssen, um von den Leistungsvorteilen zu profitieren.

Der Aufstieg von Iceberg als offener Tabellenformatstandard hinter Lakehouses hat die Bedeutung der Erstellung und des Betriebs einer modernen Dateninfrastruktur verändert. Letztendlich wird dieser neue Ansatz dazu führen, dass Data Warehouses, die eine ständige Datenbewegung erfordern und mehrere Kopien von Daten erzeugen, zum Absturz gebracht werden, wodurch Unternehmen auf proprietäre, oft teure Lösungen angewiesen sind. Wenn Sie über zwei Lösungen verfügen, die beide gleichwertige Workloads unterstützen können, eine davon jedoch geschlossen ist und die andere offen und im Hinblick auf Zeit, Ressourcen und Lizenzierung kostengünstiger ist, hat die Technologiegeschichte im Allgemeinen gezeigt, dass Letztere die Oberhand gewinnt.

Weitere Informationen: Ein Leitfaden für Führungskräfte zur Verbesserung der Datenvisualisierung und des Dashboard-Designs

Seit Jahrzehnten spielen Data Warehouses eine entscheidende Rolle bei der Abfrage großer Mengen historischer strukturierter Daten aus verschiedenen Quellen und ermöglichen die schnelle Ausführung analytischer Workloads. Sie haben wirksame Data-Governance-Richtlinien angeboten, um die Verfügbarkeit, Benutzerfreundlichkeit und Sicherheit der Daten zu gewährleisten. Sie haben die technologischen Möglichkeiten geboten, um Best Practices wie sich langsam ändernde Dimensionen und Stammdatenverwaltung zu ermöglichen. Aber Daten in einem Lager sind Geisel eines herstellerspezifischen Systems, das nur die Rechenmaschine des Lagers nutzen kann. Speicher und/oder Rechenleistung in diesen Systemen sind teuer – normalerweise eines, wenn nicht sogar beide – und diese Kosten stellen Unternehmen vor eine schwierige Entscheidung: Alle Workloads, die das Unternehmen benötigt, zu hohen Kosten auszuführen, oder nicht alle Workloads auszuführen Geschäftsanforderungen zu geringeren Kosten. Data Warehouses hindern Unternehmen außerdem daran, die Arbeitslasten des maschinellen Lernens auszuführen, die sie benötigen, und sie können halbstrukturierte und unstrukturierte Daten-Arbeitslasten nicht gut oder gar nicht bewältigen, was auf dem Markt zunehmend erwartet wird.

Die Einführung der Data-Lake-Technologie verbreitete sich dann, weil sie günstigen, massiven Speicher für alle Arten von Daten und die Möglichkeit bot, viele verschiedene Arten von Data-Science-Workloads auszuführen. Für viele Unternehmen wurden Data Lakes über ein Hadoop-Ökosystem implementiert, in dem Analysen zunächst mit Frameworks wie MapReduce ermöglicht wurden. Aber diese MapReduce-Jobs mussten in Java geschrieben werden, was für die Massen von SQL-Befürwortern, die mit Daten arbeiten, ein Nichtstarter ist. Anschließend entwickelte Facebook Apache Hive, um SQL-Anweisungen in MapReduce-Jobs und das Hive-Tabellenformat zu konvertieren, damit Analysten Verzeichnisse und Datendateien als Tabellen in ihrem SQL bezeichnen können. Als Cloud-Objektspeicher wie S3 und ADLS zu bevorzugten Lakes wurden, verloren Hadoop-Cluster und MapReduce an Popularität und viele verteilte, mehrsprachige Engines, die Datenanalyse, Datenwissenschaft und maschinelles Lernen bewältigen konnten, ersetzten dieses System. Das Hive-Tabellenformat blieb jedoch der De-facto-Standard.

Für die Bereitstellung von Analysen sind mehrere Technologiekomponenten erforderlich, unabhängig davon, ob Sie einen Data Lake oder ein Data Warehouse verwenden – einschließlich Speicher, Dateiformat, Tabellenformat, Katalog und Engines. Der Data Lake hatte all das, aber das sehr vereinfachte Hive-Tabellenformat verursachte alle möglichen Probleme.

Und der technische Aufwand zur Optimierung von Data-Lake-Komponenten für Analysen ist erheblich, insbesondere wenn Leistung und Zeit eine Rolle spielen. Dateningenieure müssen alle Tools sorgfältig richtig konfigurieren und Leistung und ACID-Garantien für Arbeiten mit hoher Priorität oder geschäftskritischer Arbeit sicherstellen. Fehler können extrem kostspielig sein.

Abfrage-Engines wie Apache Spark, Apache Impala, Presto, Trino und andere unterstützen Analyse-Workloads und führen Abfragen direkt im Data Lake aus. Aufgrund der Einschränkungen des Hive-Tabellenformats stießen diese Engines und die sie verwendenden Ingenieure auf Komplexität, wenn sie versuchten, Vorgänge auszuführen, die ein Data Warehouse ausführen würde, wie z. B. die sichere Aktualisierung von Daten aus dem Data Lake und die Bereitstellung hoher Leistung.

Apache Iceberg hat die durch Hive-Tabellen auferlegten Einschränkungen überwunden. Als herstellerunabhängiges Open-Source-Tabellenformat hat Iceberg die Verwendung robuster DML-Operationen (Einfügen, Aktualisieren und Löschen) für seine Tabellen ermöglicht, Strukturen bereitgestellt, die eine hohe Leistung ermöglichen, das Schema einer Tabelle weiterentwickeln und im Laufe der Zeit Leistungsoptimierungen ermöglichen und greifen Sie innerhalb eines definierten Zeitraums auf historische Daten zu, die bisher nur in Data Warehouses und anderen Datenbanken verfügbar waren. Die Zeitreisefunktionen von Iceberg sind für Compliance und Governance von entscheidender Bedeutung und ermöglichen Unternehmen den Zugriff auf und die Prüfung historischer Daten. Iceberg hat auch neue Funktionen eröffnet, darunter Datenversionierung, transparente Partitionierung und eine Möglichkeit, eine hohe Leistung bei Cloud-Objektspeichern in jeder Größenordnung sicherzustellen. Dadurch können Teams einfacher und flexibler mehr Workloads auf dem Data Lake ausführen.

Iceberg ist die zentrale Komponente einer Lakehouse-Architektur, die Data-Warehouse-Funktionalität und Data-Lake-Flexibilität miteinander verbindet. Alle Komponenten des Seehauses dienen diesem Zweck und müssen dies kosteneffizient tun. Das Engagement für Apache Iceberg und Apache Parquet und deren Community-gesteuerte Standards erfordert ein offenes Lakehouse, das alle SQL-DML- und DDL-Operationen und Streaming-Analysen von Iceberg unterstützt. Eine vielfältige Gemeinschaft von Entwicklern verschiedener Unternehmen ist ein Zeichen dafür, dass die Interessen eines bestimmten Unternehmens die Richtung eines Projekts nicht dominieren. Eine Community, die im Wesentlichen einem Unternehmen gehört, kann zu widersprüchlichen Anreizen führen, wenn das Unternehmen dazu angeregt werden kann, einige wertvolle Funktionen in proprietären Teilen seines Stacks zu behalten, anstatt sie zum Open-Source-Projekt beizutragen.

Die dynamische Innovation von Iceberg verdeutlicht auf einzigartige Weise den Bedarf an einem Lakehouse mit Self-Service-SQL-Analysen, einer einheitlichen Datenansicht und einer Leistung von weniger als einer Sekunde zu sehr niedrigen Kosten. Es könnte sinnvoll sein, Iceberg intern zu verwenden, auch für Nicht-Iceberg-Datensätze im Data Lake, um die Vorteile von Iceberg zu nutzen. Mit Iceberg können Benutzer Tabellen jeder Größe erstellen. Sie können klein anfangen und sogar auf über 1 Billion Zeilen und Petabytes an Daten anwachsen, und das alles unter Beibehaltung der interaktiven Abfrageleistung.

Ein Teil der Offenheit besteht darin, dass Unternehmen jede beliebige Verarbeitungs-Engine verwenden und die Abhängigkeit von einem Anbieter beseitigen können. Die Iceberg-Funktionen ermöglichen neue Anwendungsfälle mit riesigen Datensätzen, wie unter anderem personalisierte Gesundheitsversorgung, Betrugserkennung, Kunden-360-Datenmanagement und Entwicklung sauberer Energie. Letztendlich ist Iceberg wichtig für die Daten-Community – und alle Lakehouse-Communities, die nach Effizienz und Innovation streben –, weil es Benutzern ermöglicht, ihre Daten in jedem Maßstab sicher und kreativ auf leistungsstarke und kostengünstige Weise abzufragen und zu analysieren.

Wenn Sie Iceberg von der Suppe bis zu den Nüssen lernen möchten, schreiben drei meiner Kollegen und ich Apache Iceberg: The Definitive GuideOpens a new window von O'Reilly, mit dem Ziel, die Konversation fortzusetzen und die Community über alles rund um Iceberg aufzuklären .

Neue, tiefgreifende Technologien festigen die entscheidungsbestimmende Rolle von Daten in allen Branchen und Märkten. Das bescheidene Tabellenformat hat dank der konzertierten Bemühungen von Hunderten von Open-Source-Mitwirkenden in der lebendigen Community rund um Apache Iceberg einen langen Weg zurückgelegt. Diese Entwicklung verändert die moderne Dateninfrastruktur grundlegend, da wir uns von jahrzehntealten Data-Warehouse-Modellen und begrenzten Data Lakes hin zu den offenen Möglichkeiten von Lakehouses bewegen.

Was halten Sie von Apache Iceberg? Teilen Sie mit uns auf FacebookÖffnet ein neues Fenster, XÖffnet ein neues Fenster und LinkedInÖffnet ein neues Fenster. Wir würden uns freuen, von Ihnen zu hören!

Bildquelle: Shutterstock

Direktor für technische Interessenvertretung, Dremio

Treten Sie Spiceworks bei
AKTIE