
sdecoret - stock.adobe.com
Delta Sharing: offenes Protokoll für den Datenaustausch
Delta Sharing ist ein offenes Protokoll für die kontrollierte Freigabe großer Datensätze zwischen Organisationen. Es bietet sicheren Zugriff auf Daten in Parquet- oder Delta-Format.
Der Austausch von Daten über Systemgrenzen hinweg scheitert oft an proprietären Schnittstellen, fragmentierten Plattformen und hohem Integrationsaufwand. Delta Sharing lässt diese Grenzen verschwimmen. Das innerhalb der Linux Foundation entwickelte Protokoll erlaubt den sicheren, unmittelbaren Zugriff auf freigegebene Datenteilmengen, direkt aus dem Cloud-Speicher einer Organisation, ohne physische Kopien oder proprietäre Gateways.
Architektur und Funktionsweise
Ein zentrales Element bildet der Delta-Sharing-Server, der Anfragen authentifiziert, Freigaben verwaltet und temporäre Zugriffs-Token für autorisierte Empfänger erzeugt. Die REST-basierte Kommunikation nutzt JSON-Profile, die den vollständigen Zugriffspfad und die Berechtigungen enthalten. Tabellen werden über vollqualifizierte Pfade angesprochen, bestehend aus Profildatei und Namenskomponente. Die Daten selbst verbleiben im Object Storage, erreichbar über signierte, kurzlebige URLs, ohne Proxying durch die Sharing-Instanz, mit direkter Zustellung vom Speichersystem.
Zugriffe erfolgen über offene Bibliotheken und native Konnektoren, unter anderem für Spark, Rust, Power BI oder Pandas. Der Python-Konnektor erlaubt eine detaillierte Steuerung, Filterung über jsonPredicateHints, explizites Laden im Delta-Format sowie Speicherschonung durch Batch-Konvertierung. Auch Change Data Feeds lassen sich als Pandas- oder Spark-DataFrames abfragen. Die ist allerdings zeitlich begrenzt auf bestimmte Versionen. Structured Streaming ist ab Version 0.6.0 möglich. Trigger.AvailableNow wird nicht unterstützt, da Spark 3.3.0 dafür erforderlich ist.
Spark-Clients greifen über einen Konnector auf Delta-Sharing-Tabellen zu, unter anderem in SQL, Java, Scala oder R. Die Konfiguration erfolgt über Maven oder Scala SBT, Build und Distribution über SBT-basierte Projekte. Profile lassen sich über Hadoop FileSystem oder die Python-Dateisystemschnittstellen fsspec laden, mit voller Unterstützung für s3a (Hadoop Client), Databricks File System (DBFS) oder Google Cloud Storage (GCS).

Granulare Kontrolle und Governance
Die Verwaltung erfolgt über SQL oder die Programmierschnittstelle (API). Freigaben lassen sich auf Views, Tabellen, Partitionen oder historische Snapshots begrenzen. Die Zugriffskontrolle basiert auf rollenbezogenen Berechtigungen und optionalen Zeitbeschränkungen. Für die Authentifizierung sind Bearer-Tokens konfigurierbar. Der Referenzserver selbst ist nicht für den öffentlichen Betrieb ausgelegt, empfohlen wird der Einsatz hinter einem sicheren Proxy, etwa über nginx mit JWT-Validierung (JSON Web Tokens). Die Auditierbarkeit bleibt vollständig erhalten, unabhängig davon, ob Daten live oder als statische Version geteilt werden.
Ein zentrales Merkmal von Delta Sharing liegt in der kontrollierten Zugriffskontrolle historischer Datenzustände. Durch die native Integration mit Delta Lake können nicht nur aktuelle Tabellenstände geteilt, sondern auch spezifische Versionen adressiert werden, als momentane Schnappschüsse oder als sequenzielle Änderungsfeeds. Diese Fähigkeiten erlauben die exakte Reproduktion analytischer Kontexte, unabhängig von fortlaufenden Änderungen in der Quelltabelle.
In regulatorischen Szenarien lässt sich damit eine revisionssichere Datenbasis bereitstellen, ohne dass Kopien oder externe Archivstrukturen notwendig sind. Gleiches gilt für das Modelltraining, bei dem exakt definierte Ausgangsdaten entscheidend sind. Auch technische Konsumenten profitieren: zeitbasierte Partitionen oder Versionen lassen sich selektiv extrahieren, ohne dass komplexe Snapshot-Logik auf Empfängerseite erforderlich ist. Der Zugriff erfolgt immer konsistent und transaktionssicher, gesteuert über die Metadatenebene des Delta-Sharing-Protokolls.
Skalierbarkeit über Cloud-Grenzen hinweg
Die Kompatibilität mit S3, Azure Blob Storage, ADLS Gen2, GCS und Cloudflare R2 erlaubt die direkte Nutzung bestehender Speicherpfade. Konfigurationsdateien mit Zugriffsschlüsseln, Endpunkten und Paging-Parametern (etwa für R2: MaxKeys ≤ 1000) werden per XML in core-site.xml eingebunden. Docker Images des Servers stehen bereit, ebenso wie ausführbare ZIP-Pakete mit Beispielkonfigurationen. Der Python-Connector benötigt glibc ab 2.31.
Referenzimplementierung und Self-Hosting-Optionen
Neben den vollständig integrierten Plattformdiensten stellt das Delta-Sharing-Projekt eine quelloffene Referenzimplementierung bereit, die sich für Entwicklungs-, Test- oder On-Premises-Szenarien eignet. Die Bereitstellung erfolgt wahlweise über vorgefertigte ZIP-Pakete oder als Docker Image auf Basis des OpenJDK. Der Server selbst wird über eine YAML-Konfiguration gesteuert, in der sich Storage-Pfade, Tabellenreferenzen und Berechtigungen definieren lassen.
Für produktive Umgebungen wird die Absicherung über Reverse-Proxy-Infrastrukturen wie nginx empfohlen. Optional können Autorisierungsmechanismen wie Bearer-Token direkt im Server aktiviert werden. Die Kompatibilität mit Hadoop FileSystem erlaubt zudem die Anbindung an diverse Objektspeicherdienste, von S3 über Azure Blob bis zu GCS und Cloudflare R2. Letztere erfordert eine manuelle Reduzierung der fs.s3a.paging.maximum-Einstellung auf ≤ 1000. Für Build und Test steht ein vollständiger SBT-basierter Projektaufbau zur Verfügung.
Delta Sharing als Baustein für datengetriebene Strategien
Delta Sharing steht als Open-Source-Referenz bereit, aber auch als integrierter Dienst innerhalb von Databricks, samt Unity Catalog, SQL-Zugriff und automatischem Credential-Vending. Anbieter können eigene APIs oder Web-UIs auf das Sharing-Protokoll schalten, ohne den Protokollfluss zu verändern. Geplant sind Erweiterungen für Modellfreigaben, Notebooks, unstrukturierte Daten und Cleanroom-Szenarien. Die Datenübertragung übernehmen die Object Stores.
Zunehmend positionieren Unternehmen Delta Sharing nicht nur als technisches Austauschprotokoll, sondern als strategisches Fundament für datenbasierte Produkte. SaaS-Anbieter wie Atlassian oder Amperity nutzen das Protokoll, um eigene Analysefunktionen mit externen Datenquellen zu verknüpfen oder bidirektionale Freigaben zwischen ihren Plattformen und Kundensystemen umzusetzen. Auch hybride Ansätze entstehen, bei denen Delta Sharing als Backend dient, während Authentifizierung, Frontend und API-Kontrolle über eine eigene Infrastruktur laufen. Diese Entkopplung erlaubt es Plattformanbietern, Governance, Zugriff und Sichtbarkeit granular zu steuern, ohne von proprietären Integrationsmodellen abhängig zu sein.