Lakehouse Federation in Databricks: Ein praktischer Leitfaden

Michal Milosz
Michal Milosz
June 2, 2025
12 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Das Management von Daten über verschiedene Plattformen und Formate hinweg ist für moderne Organisationen eine Herausforderung. Hier kommt Lakehouse Federation in Databricks ins Spiel. Dieses Tool ermöglicht es Nutzern, auf Daten aus mehreren Quellen zuzugreifen und Abfragen auszuführen, ohne die Daten zu verschieben – das spart Zeit, Geld und Ressourcen. Nachfolgend findest du eine einfache, praxisnahe Erklärung, was Lakehouse Federation ist, wie es funktioniert und warum es wichtig ist.

Was ist Lakehouse Federation?

Lakehouse Federation ist Databricks’ Lösung, um Abfragen über mehrere Datenquellen hinweg auszuführen, ohne dass eine Migration der Daten in ein zentrales System erforderlich ist. Es nutzt Unity Catalog, um diese föderierten Abfragen zu verwalten, indem es Read-Only-Verbindungen zu beliebten Datenbanken über integrierte Treiber in pro SQL Warehouses, serverless SQL Warehouses und Databricks Runtime Clustern herstellt. Unity Catalog bietet zudem Governance und Data Lineage, sodass jeder Zugriff auf föderierte Daten verwaltet, verfolgt und auditiert wird – über alle Databricks Workspaces hinweg.

Diagram showing Unity Catalog in Databricks connecting to multiple data sources, including Snowflake, Google BigQuery, MySQL, PostgreSQL, and SQL databases.

Hauptfunktionen und wie sie funktionieren

  1. Verbindung zu mehreren Datenquellen
    Du kannst Databricks mit vielen Datenbanken, Cloud-Services und Dateispeichern verbinden, z.B.:
    • SQL-Datenbanken wie MySQL, PostgreSQL, Oracle
    • Cloud Storage wie AWS S3, Azure Data Lake, Google Cloud Storage
    • Proprietäre Plattformen wie Snowflake oder SAP
      Vorteil: Keine Notwendigkeit zur Zentralisierung – du analysierst die Daten direkt am Ursprungsort.
  2. Keine Datenbewegung
    Vergiss groß angelegte Datenmigrationen. Federation ermöglicht Abfragen direkt auf den Datenquellen, spart Zeit und vermeidet unnötige Duplikate.
    Beispiel: Du kannst Verkaufsdaten aus Google BigQuery mit Kundenfeedback aus PostgreSQL kombinieren, ohne einen der Datensätze zu verschieben.
  3. Intelligente Query-Optimierung
    Databricks nutzt eine Query Engine mit Photon und Delta Engine, die SQL-Abfragen für jede Quelle optimiert. Berechnungen werden, wenn möglich, an die Datenquelle delegiert, was die zentrale Plattform entlastet.
    Vorteil: Schnellere Performance und geringere Kosten, da keine großen Datenmengen verschoben werden.
  4. Zentrale Data Governance
    Alle Daten – ob in Databricks oder externen Systemen – unterliegen denselben Zugriffs- und Sicherheitsregeln.
    Bonus: Du kannst Metadaten wie Schemas und Beziehungen aller Datenquellen zentral verwalten.

Diagram illustrating data federation with Google BigQuery and PostgreSQL, enabling queries across data sources without moving datasets in Databricks.

Warum solltest du Lakehouse Federation nutzen?

  • Einfachere Workflows: Analysten und Data Scientists greifen auf alle benötigten Daten zu, ohne zwischen Plattformen zu wechseln.
  • Kosteneffizienz: Keine Daten-Duplikation bedeutet geringere Storage- und Verarbeitungskosten.
  • Flexibilität: Funktioniert in hybriden (on-premise + cloud) und Multi-Cloud-Umgebungen.
  • Compliance: Analysiere Daten am Ursprungsort und erfülle so regulatorische Anforderungen zur Datenspeicherung.

Wie wird es eingerichtet?

  1. Verbindung zur Quelle erstellen
    Nutze Databricks-Connectoren für Plattformen wie Oracle, SAP, AWS S3, Snowflake.

sql

CREATE CONNECTION connection_postgresql TYPE postgresql  OPTIONS ( host '<hostname>', port '<port>', user '<user>', password '<password>' );  

  1. Foreign Catalog erstellen
    Ein Foreign Catalog repliziert eine externe Datenbank in Databricks, sodass Nutzer über Unity Catalog darauf zugreifen und Berechtigungen verwalten können.

sql

CREATE FOREIGN CATALOG [IF NOT EXISTS] federated_catalog USING CONNECTION connection_postgresql  OPTIONS (database 'database_name');  

  1. Föderierte Abfragen ausführen
    Schreibe SQL-Abfragen in Databricks, gib bei Bedarf die Datenquelle an:

sql

SELECT * FROM federated_catalog.federated_schema.federated_table WHERE purchase_date > '2024-01-01';  

  1. Performance optimieren
    Nutze eingebaute Query-Optimierung, um Latenz und Kosten zu reduzieren.
  2. Zugriff verwalten
    Setze Berechtigungen und Richtlinien für Nutzer, um Sicherheit und Compliance zu gewährleisten.

Lakehouse Federation und Materialized Views

Die Integration von Lakehouse Federation mit Materialized Views bietet große Performance- und Effizienzvorteile. Materialized Views speichern die Ergebnisse komplexer föderierter Abfragen vorab, was die Abfragezeiten verkürzt und wiederholte Datenabrufe aus externen Quellen minimiert. Besonders bei großen, verteilten Datensätzen ist das wertvoll. Materialized Views können regelmäßig aktualisiert werden, sodass Nutzer stets aktuelle Insights mit hoher Performance erhalten.

Vorteile:

  • Konsistente Latenz und hohe Parallelität bei Abfragen externer Datenquellen.
  • Bessere Performance bei Cross-Source-Joins und komplexen Transformationen.
  • Geringere Last auf operativen Datenbanken.

Anwendungsbeispiele für Lakehouse Federation in Databricks

a) 360°-Kundenansicht erstellen
Ziel: Integration von Daten aus verschiedenen Systemen für einen umfassenden Kundenüberblick.
Quellen: SQL (z.B. PostgreSQL) – Kaufhistorie, Cloud (z.B. S3) – Marketingdaten, CRM (z.B. Salesforce) – Kundeninteraktionen.
Implementierung:

sql

SELECT c.customer_id, c.name, SUM(t.total_amount) AS total_spent, m.last_campaign  FROM federated_catalog.crm.customers c  JOIN federated_catalog.sales.transactions t ON c.customer_id = t.customer_id  JOIN federated_catalog.marketing.campaign_data m ON c.customer_id = m.customer_id  WHERE t.purchase_date > '2023-01-01'  GROUP BY c.customer_id, c.name, m.last_campaign;  

Vorteile: Einheitliche Analysen ohne Daten-Duplikation, bessere Marketingentscheidungen.

b) Echtzeit-IoT-Daten-Insights
Ziel: Sensor-Daten in Echtzeit überwachen und Trends analysieren.
Quellen: Streaming aus Apache Kafka, historische Daten in Snowflake.
Implementierung:

sql

CREATE MATERIALIZED VIEW iot_temperature_trends AS  SELECT device_id, location, AVG(sensor_value) AS avg_temp, CURRENT_DATE AS report_date  FROM federated_catalog.kafka_stream.iot_data  GROUP BY device_id, location;  

Vorteile: Schnelle Anomalie-Erkennung, nahtlose Kombination von Live- und historischen Daten.

c) Multi-Cloud Data Integration
Ziel: Analyse von Daten aus AWS und Azure.
Quellen: Amazon Redshift (Sales), Azure Data Lake (Logistik).
Implementierung:

sql

SELECT s.order_id, s.product_id, l.delivery_status  FROM federated_catalog.aws_redshift.sales_data s  JOIN federated_catalog.azure_datalake.logistics_data l ON s.order_id = l.order_id  WHERE l.delivery_status = 'Delayed';  

Vorteile: Cross-Cloud-Analytics ohne komplexe ETL-Prozesse, bessere operative Effizienz.

d) Frische Daten ohne Überlastung der Quellsysteme
Implementierung:

sql

CREATE MATERIALIZED VIEW sales_summary AS  SELECT region, product_category, SUM(sales_amount) AS total_sales  FROM federated_catalog.external.sales_data  GROUP BY region, product_category;  ALTER MATERIALIZED VIEW sales_summary SET (refresh_interval_minutes = 60);  

Vorteile: Geringere Last auf Quell-Datenbanken, schneller Zugriff auf aktuelle Daten.

e) Zentrales Datenzugriffsmanagement
Ziel: Sicherer Zugriff und Einhaltung von Compliance.
Implementierung:

sql

GRANT SELECT ON catalog federated_catalog.schema.sales_data TO analyst_role;  

Vorteile: Zentrales Berechtigungsmanagement, Einhaltung von Governance- und Compliance-Richtlinien.

Herausforderungen und Einschränkungen

  • Read-Only Queries: Alle föderierten Abfragen sind nur lesend. Für ETL mit Schreibzugriff nutze Delta Live Tables.
  • Connector-Kompatibilität: Stelle sicher, dass alle benötigten Connectoren verfügbar sind.
  • Performance-Limitierungen: Abfragen über mehrere Quellen können langsamer sein als bei zentralisierten Daten. Nutze Materialized Views oder Caching für häufige Abfragen.
  • Naming Constraints: Tabellen/Schemas mit ungültigen Namen werden ignoriert, alle Namen werden in Kleinbuchstaben umgewandelt.
  • Data Handling: Jede Foreign Table Query löst eine Subquery im Remote-System aus, Daten werden als Einzelstream zurückgegeben – große Ergebnisse können Speicherprobleme verursachen.
  • Access Restrictions: Single-User-Modus ist nur für den Connection Owner verfügbar.

Diagram showing materialized views in Databricks Lakehouse Federation, integrating data from sources like Snowflake, MySQL, and Google BigQuery for optimized queries.

Mlops in fmcg tipps fur entwickler

Data science machine learning in der predictive analytics

Stream processing vs batch processing ein leitfaden

Share this post
Datenwissenschaft
Michal Milosz
MORE POSTS BY THIS AUTHOR
Michal Milosz

Curious how we can support your business?

TALK TO US