Mobile-Menu

Treeverse lakeFS Ein Git für Daten

Von lic.rer.publ. Ariane Rüdiger 6 min Lesedauer

Bislang fehlen Best Practices für den Umgang mit Datenversionen, wie sie beispielsweise beim Aufbau analytischer Pipelines entstehen und in Data Lakes gespeichert werden. Auf der kürzlich veranstalteten „IT Press Tour“ in Israel sprachen wir mit dem jungen Open-Source-Unternehmen Treeverse, das sich vorgenommen hat, das mit Hilfe seines lakeFS zu ändern.

Treeverse wollte etwas entwickeln, „das wie ein Git für Daten funktioniert“.(Bild:  frei lizenziert /  Pixabay)
Treeverse wollte etwas entwickeln, „das wie ein Git für Daten funktioniert“.
(Bild: frei lizenziert / Pixabay)

Für Programmierer ist es heute selbstverständlich, ihre Projekte und deren unterschiedliche Versionen auf Github zu verwalten. Doch beim Umgang mit Data Lakes, also in S3-Buckets angelegten großen und heterogenen Datensammlungen, ist das anders. Datenanalysten können nicht auf eine formalisierte Lösung oder Best Practices zurückgreifen, um ihre Arbeitsweise zu optimieren.

Dieser Zustand motivierte CEO Einat Orr und CTO Oz Katz 2020 zur Gründung ihres Unternehmens Treeverse, dessen Produkte in einer Basisversion unter der Apache-2.0-Lizenz kostenlos erhältlich sind. Die Firma hat inzwischen 28 Mitarbeiterinnen und Mitarbeiter. Sie arbeiten verteilt in New York, San Francisco, England und Tel Aviv.

Aus Schaden klug werden

Auf die Idee zu lakeFS kamen Orr und Katz aus handfesten Gründen: In dem Unternehmen, in dem sie vorher tätig waren, löschte Katz einmal versehentlich 1 Petabyte Daten. Da es keine effektiven Hilfsmittel gab, dauerte die Rekonstruktion der Daten aus den Backups insgesamt drei Wochen.

CEO Einat Orr: „Für die Handhabung von Daten bislang keine Best Practices.“(Bild:  Treeverse)
CEO Einat Orr: „Für die Handhabung von Daten bislang keine Best Practices.“
(Bild: Treeverse)

„Da ist uns klar geworden, dass sich das ändern muss“, erinnert sich Orr. Entstehen sollte ein Werkzeug, das in seine Programmierung Best Practices für die Datenwelt inkorporierte: Für Tests, Entwicklung von Daten-Pipelines, CI/CD und so weiter. „Wir wollen etwas, das wie ein Git für Daten funktioniert“, erklärt die Managerin.

Erst wenige Player auf einem weiten Feld

Ganz neu ist die Idee nicht, eine Lösung für die Versionsverwaltung speziell für das ML-Backend und Dateningenieure zu entwickeln. Als erstes wagte sich 2014 das Start-up Pachyderm daran, allerdings mit dem Ziel, ausschließlich Google- und Kubernetes-Umgebungen zu adressieren. Damit war die Firma ihrer Zeit voraus und wurde jüngst von HPE gekauft.

Die 2016 gegründete Firma iterative hat ein ähnliches Ziel wie Treeverse, konzentriert sich aber auf kleinere Datenmengen. DagsHub ist ein weiterer potentieller Konkurrent.

Dazu kommen mit Galleo, Lightly, Gravity, activeloop und stack Firmen aus dem Bereich der datenzentrierten AI. „Sie fokussieren sich aber eher auf die Generierung eines optimalen Datensets, brauchen also die Versionsverwaltung als Backend“, erläutert Orr. Datenbanken mit eingebauter Versionskontrolle sind DoltHub (mySQL-Branchs), Snowflake und Splitgraph. Snowflake ermöglicht mit seiner Timetravel-Funktion den Rückgriff auf eine frühere Version des gesamten Data Lake oder aber einer einzelnen Tabelle.

Weiter gibt es noch das Nessie-Projekt von Dremio. Es macht Git-ähnliche Prozesse ausschließlich für Apache-Iceberg-Tabellen zugänglich. Iceberg ist ein offenes Tabellenformat, das es erlaubt, die Deltas zwischen unterschiedlichen Tabellenversionen zu erfassen und in einer Tabelle zu konsolidieren. Delta Lake von Databricks und Hudi von Uber zielen in eine ähnliche Richtung.

Versionskontrolle als Infrastrukturelement

lakeFS arbeitet als Aufsatz auf Objektspeichern.(Bild:  Treeverse)
lakeFS arbeitet als Aufsatz auf Objektspeichern.
(Bild: Treeverse)

Zumindest nach Meinung der lakeFS-Entwickler sind die bisherigen Produkte Stückwerk. „Wir sind die einzigen, die die Versionskontrolle als horizontales Infrastruktur-Element, nämlich als eine Eigenschaft der Daten, sehen“, sagt Orr. Das bedeutet Unabhängigkeit vom Datenbankformat oder ähnlichen Qualitäten.

Das dient mehreren Zielen: Bei der Arbeit mit den ML-Pipelines sollen Dateningenieure für Tests Produktionsdaten nutzen können, was die Kooperation zwischen Applikations- und Data-Engineering-Team erleichtert. Automatisierte Qualitätstests sollen dabei idealerweise minderwertige Daten finden, isolieren und ihre Fehler beseitigen.

Außerdem brauchen Entwickler die Möglichkeit, schnell zu einer älteren, intakten Version des gesamten Data Lake zurückzukehren. Wünschenswert ist es auch, wenn direkt zum Zeitpunkt eines Fehlers auf einer isolierten Version der Produktionsdaten nach dessen Ursache gesucht werden kann.

Branches enthalten nur Zeiger

Gleichzeitig ermöglicht lakeFS, Datenversionen, also Branches, die alle Ansprüche erfüllen, in den „Goldstandard“, die fehlerfreie Basisversion der Daten mit der Bezeichnung „main“, zu integrieren. Anders als Snapshots, die die Welt ausschließlich aus der Storage-Sicht betrachten, sieht lakeFS die Daten aus der Applikationssicht. „Applikationsdaten verändern sich ständig“, stellt Orr fest.

Branches, also neue Versionen auf Basis einer bereits existierenden, speichern bei lakeFS nur Pointer. Sie verweisen also auf die Daten in einer für Veränderungen gesperrten Goldstandard-Version. Das macht einen guten Teil der Kapazitätsersparnis, die mit lakeFS einhergeht, aus. Denn normalerweise ist heute jede Datenversion, mit der beim Aufbau von Datenpipelines gearbeitet wird, vollständig. In LakeFS selbst sind Funktionen für die Datenreinigung integriert.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Das Bucket im Bucket

Nur für proprietäre Software, etwa auf Python-Basis, braucht man einen Agenten. Ansonsten kommt lakeFS mit einem Storage-Server und einem S3-Bucket aus.(Bild:  Treeverse)
Nur für proprietäre Software, etwa auf Python-Basis, braucht man einen Agenten. Ansonsten kommt lakeFS mit einem Storage-Server und einem S3-Bucket aus.
(Bild: Treeverse)

Technisch betrachtet, liegen die Datenbestände des Data Lake in einem S3-Bucket. Innerhalb dieses Buckets legt lakeFS ein weiteres Bucket an. Es enthält erstens die Metadaten aller Datenbestände im S3-Bucket und, sofern deren Verarbeitung durch lakeFS bereits stattgefunden hat, zweitens diese Daten. Sie wandern mit der Verarbeitung durch lakeFS schrittweise dorthin (siehe Bild).

Weil die Daten so letztlich nur einmal vorgehalten und zudem dedupliziert werden, spart die Lösung laut Anbieter zwischen 20 und 80 Prozent der Storage-Kosten. Die Effektivität der Dateningenieure verdoppelt sich laut Treeverse.

Auf frühere Versionen der Daten kann man per Knopfdruck zurückgreifen, während dies früher Wochen dauern konnte. Denn es muss nicht mehr jedes Datenset einzeln rekonstruiert werden. „Davon gibt es meist einige Dutzend, in großen Unternehmen oder Projekten können es aber auch Hunderte sein“, erklärt Katz.

CTO Oz Katz: „Mit lakeFS verdoppelt sich die Effizienz von Dateningenieuren.“(Bild:  Treeverse)
CTO Oz Katz: „Mit lakeFS verdoppelt sich die Effizienz von Dateningenieuren.“
(Bild: Treeverse)

Neue Versionen werden durch einen Commit bestätigt, und man kann mit ihnen weiterarbeiten. Ähnlich wie bei Git werden nur solche Versionen gelöscht, auf die kein Commit mehr verweist.

Einfaches Preismodell

Treeverse ist bisher keiner OSS-Stiftung beigetreten. „Wir wollen unser Know-how vor dem Zugriff der Internet-Riesen schützen“, begründet das Orr. Inzwischen bietet die Firma neben der Open-Source- eine Cloud/-Enterprise-Version für 2.500 US-Dollar monatlich an. Sie umfasst unter anderem ein Rollenkonzept und Sicherheitsfunktionen sowie Support. Auch wer nur den Funktionsumfang der freien Version samt Support On-Premises nutzen möchte, muss diesen Betrag berappen.

Vorteile für Compliance und Datenethik

Neben der Unterstützung von Dateningenieuren bietet lakeFS auch völlig neue Chancen für die AI-Ethik: So lässt sich dank dessen Mechanismen jederzeit feststellen, wer welche Veränderungen an Datenbeständen durchgeführt hat. Sie lassen sich unkompliziert rückabwickeln. Versionen mit Bias-belasteten Daten lassen sich gezielt säubern.

Sollte eine Datenpipeline nicht die gewünschten Ergebnisse erbringen, kann man sie teilweise durch neue Schritte ersetzen, ohne die gesamte Datenmanipulation von Anfang an neu durchzuführen. Es reicht, bei der letzten Datenversion vor dem zu revidierenden Schritt anzusetzen. Das dürfte bei der Entwicklung neuronaler Netze und von AI-Apps viel Geld, Zeit und sogar physische Energie einsparen.

Expansionspläne

Inzwischen wird lakeFS im Monat bis zu 1.500-mal heruntergeladen. Um die Lösung zu vermarkten, kooperiert das Unternehmen mit Firmen wie MinIO, Vast, AWS, Cloudera oder Databricks, die das Produkt zudem als OEM-Lösung einsetzen. Auch die Aufnahme in den Snowflake-Marktplatz peilt Treeverse an. Integrationen gibt es mit Databricks, Cloudera, Snowflake, Red Hat, AWS Glue und Google BigQuery.

Mit Neueinstellungen für die geografische Expansion rechnen Orr und Katz in einem Jahr. „Es gibt viel Interesse aus Deutschland“, sagt Katz. Dort habe man aber noch keinen Partner.

Inhaltlich ist beispielsweise eine tiefergehende Unterstützung des Open Table Format geplant: lakeFS soll auch die Inhalte der Tabellen, also logische und semantische Zusammenhänge und deren Veränderung, erfassen.

Aktuelles eBook

Datenmigration – so funktioniert der Storage-Umzug

eBook Datenmigration
eBook „Datenmigration“
(Bild: Storage-Insider)

Im Zuge der Digitalisierung ändern sich die Anforderungen an Storage-Systeme. Sie müssen leistungsfähiger, skalierbarer und insgesamt flexibler sein. Unternehmen führen neue Systeme wie etwa All-Flash-Arrays ein, verlagern Dienstleistungen der IT-Abteilung in die Public- oder Hybrid-Cloud, ziehen sogar das Rechenzentrum um und erkennen möglicherweise die Chance oder die Notwendigkeit, IT-Services und Storage-Infrastruktur zu konsolidieren.

Die Themen im Überblick:

  • Operation am offenen Herzen – Einleitung
  • Wann eine Datenmigration nötig und sinnvoll ist
  • Was bei der Datenmigration zu beachten ist
  • Die konkrete Umsetzung der Datenmigration
  • Sonderfälle und Fallstricke

(ID:49468038)