Federacja Lakehouse w Databricks: praktyczny przewodnik

Michał Miłosz
Michał Miłosz
June 2, 2025
10 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Zarządzanie danymi na różnych platformach i w różnych formatach może być wyzwaniem dla nowoczesnych organizacji. Tu z pomocą przychodzi Lakehouse Federation w Databricks. To narzędzie pozwala użytkownikom uzyskiwać dostęp i wykonywać zapytania do danych z wielu źródeł bez konieczności ich przenoszenia, co oszczędza czas, pieniądze i zasoby. Poniżej znajdziesz prostsze, praktyczne wyjaśnienie czym jest Lakehouse Federation, jak działa i dlaczego jest ważne.

Czym jest Lakehouse Federation?

Lakehouse Federation to rozwiązanie Databricks umożliwiające wykonywanie zapytań do wielu źródeł danych bez konieczności migracji danych do scentralizowanego systemu. Wykorzystuje Unity Catalog do zarządzania tymi federowanymi zapytaniami, ustanawiając połączenia tylko do odczytu z popularnymi bazami danych przez wbudowane sterowniki dostępne w pro SQL warehouses, serverless SQL warehouses oraz Databricks Runtime clusters. Unity Catalog zapewnia także governance i data lineage, gwarantując, że cały dostęp do federowanych danych jest odpowiednio zarządzany, śledzony i audytowany w obrębie workspace’ów Databricks.

Kluczowe funkcje i jak działają

  1. Łączenie z wieloma źródłami danych
    Możesz połączyć Databricks z wieloma bazami danych, usługami chmurowymi i systemami plików, takimi jak:
    • Bazy SQL (np. MySQL, PostgreSQL, Oracle)
    • Chmurowe systemy storage (AWS S3, Azure Data Lake, Google Cloud Storage)
    • Platformy jak Snowflake czy SAP
      Korzyść: Nie musisz centralizować danych – analizujesz je bezpośrednio w miejscu ich przechowywania.
  2. Brak migracji danych
    Zapomnij o masowych migracjach danych. Federation pozwala uruchamiać zapytania bezpośrednio na źródłach danych, co oszczędza czas i unika duplikacji.
    Przykład: Możesz połączyć dane sprzedażowe z Google BigQuery z opiniami klientów w PostgreSQL, nie przenosząc żadnego z tych zbiorów.
  3. Inteligentna optymalizacja zapytań
    Databricks wykorzystuje silnik zapytań Photon i Delta Engine, który optymalizuje SQL pod każde źródło. Obliczenia są delegowane do źródła danych, gdy to możliwe, co zmniejsza obciążenie platformy centralnej.
    Korzyść: Szybsze działanie i niższe koszty, bo nie przenosisz dużych wolumenów danych.
  4. Centralne zarządzanie dostępem do danych
    Wszystkie dane – zarówno w Databricks, jak i w systemach zewnętrznych – podlegają tym samym zasadom dostępu i bezpieczeństwa.
    Bonus: Możesz śledzić metadane (schematy, relacje) wszystkich źródeł w jednym miejscu.

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

Dlaczego warto używać Lakehouse Federation?

  • Prostsze workflowy: Analitycy i data scientists mają dostęp do wszystkich potrzebnych danych bez przełączania się między platformami.
  • Oszczędność kosztów: Brak duplikacji danych to niższe koszty storage i przetwarzania.
  • Elastyczność: Działa w środowiskach hybrydowych (on-premise + cloud) i multi-cloud.
  • Compliance: Pozwala analizować dane „na miejscu”, co ułatwia spełnienie wymogów regulacyjnych dotyczących lokalizacji danych.

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

Jak to skonfigurować?

  1. Stwórz połączenie do źródła
    Użyj konektorów Databricks do platform takich jak Oracle, SAP, AWS S3, Snowflake.

sql

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

  1. Stwórz foreign catalog
    Foreign catalog replikuje zewnętrzną bazę w Databricks, umożliwiając zapytania i zarządzanie dostępem przez Unity Catalog. Tworzony jest na podstawie połączenia do zewnętrznego źródła.

sql

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

  1. Uruchamiaj federowane zapytania
    Piszesz zapytania SQL w Databricks, wskazując źródło danych:

sql

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

  1. Optymalizuj wydajność
    Używaj wbudowanych ustawień optymalizacji zapytań, by zmniejszyć opóźnienia i koszty.
  2. Zarządzaj dostępem
    Ustaw uprawnienia i polityki dla użytkowników, by zapewnić bezpieczeństwo i zgodność.

Lakehouse Federation i materialized views

Integracja Lakehouse Federation z materialized views daje duże korzyści wydajnościowe. Materialized views przechowują wyniki złożonych federowanych zapytań w formie precomputowanej, co skraca czas odpowiedzi i minimalizuje wielokrotne pobieranie danych z zewnętrznych źródeł. To szczególnie ważne przy zapytaniach do dużych zbiorów z różnych systemów. Materialized views mogą być odświeżane cyklicznie, zapewniając aktualność danych i wysoką wydajność.

Korzyści:

  • Stałe opóźnienia i wysoka współbieżność przy zapytaniach do zewnętrznych źródeł.
  • Lepsza wydajność przy joinach i złożonych transformacjach.
  • Mniejsze obciążenie baz operacyjnych.

Przykłady użycia Lakehouse Federation w Databricks

a) Budowa 360° widoku klienta
Cel: Integracja danych z różnych systemów dla pełnego obrazu klienta.
Źródła: SQL (np. PostgreSQL) – historia zakupów, chmura (np. S3) – kampanie marketingowe, CRM (np. Salesforce) – interakcje z klientem.
Implementacja:

sql

Copy 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;  

Korzyści: Zunifikowana analityka bez duplikacji danych, lepsze decyzje marketingowe.

b) Real-Time IoT Data Insights
Cel: Monitorowanie danych z sensorów i analiza trendów w czasie rzeczywistym.
Źródła: Streaming z Apache Kafka, dane historyczne w Snowflake.
Implementacja:

sql

Copy 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;  

Korzyści: Szybka identyfikacja anomalii, połączenie danych live i historycznych.

c) Multi-Cloud Data Integration
Cel: Analiza danych z AWS i Azure.
Źródła: Amazon Redshift (sprzedaż), Azure Data Lake (logistyka).
Implementacja:

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';  

Korzyści: Analityka cross-cloud bez złożonych ETL, lepsza efektywność operacyjna.

d) Dostęp do świeżych danych bez obciążania źródeł
Implementacja:

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);  

Korzyści: Mniejsze obciążenie baz źródłowych, szybki dostęp do aktualnych danych.

e) Centralne zarządzanie dostępem do danych
Cel: Bezpieczny dostęp i zgodność z regulacjami.
Implementacja:

sql

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

Korzyści: Centralne zarządzanie uprawnieniami, zgodność z politykami governance.

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

Wyzwania i ograniczenia

  • Read-Only Queries: Wszystkie federowane zapytania są tylko do odczytu. Do ETL z zapisem użyj Delta Live Tables.
  • Connector Compatibility: Upewnij się, że są dostępne konektory do wszystkich źródeł.
  • Performance Limitations: Zapytania do wielu źródeł mogą być wolniejsze niż do scentralizowanych danych. Używaj materialized views lub cache dla często używanych zapytań.
  • Naming Constraints: Tabele/schematy z nieprawidłowymi nazwami są ignorowane, wszystkie nazwy są zamieniane na małe litery.
  • Data Handling: Każde zapytanie do foreign table wywołuje subquery na zdalnym systemie, dane wracają jednym strumieniem – duże wyniki mogą powodować problemy z pamięcią.
  • Access Restrictions: Tryb single-user jest dostępny tylko dla właściciela połączenia.

Podsumowanie

Lakehouse Federation w Databricks to przełom dla firm z rozproszonymi systemami danych. Upraszcza dostęp do danych, obniża koszty i przyspiesza podejmowanie decyzji – bez potrzeby masowych migracji. Niezależnie czy jesteś data scientist, analitykiem czy IT leaderem, to narzędzie daje elastyczność i moc, by usprawnić workflowy. W miarę jak środowiska danych stają się coraz bardziej złożone, narzędzia takie jak Lakehouse Federation będą niezbędne dla organizacji chcących w pełni wykorzystać potencjał rozproszonych zasobów danych.

Great  Expectations: Oczekuj wspaniałych danych.

Różnice pomiędzy Big Data i Data Analytics

Proces  konwersji danych: definicja i powody.

Share this post
Nauka o danych
Michał Miłosz
MORE POSTS BY THIS AUTHOR
Michał Miłosz

Curious how we can support your business?

TALK TO US