Lakehouse Federation

Databricks Lakehouse 入門

Gang Wang

Senior Data Scientist

課題:データサイロ

$$

recraft: half: データサイロを表す、データテーブルが乗った複数の孤立した島と、橋のない断絶した状態

$$

  • データが複数のシステムに分散している
  • PostgreSQL、MySQL、Snowflake、SQL Server
  • データ移動は低速コピーが生まれる
  • すべてのデータをまたいだ分析が必要
Databricks Lakehouse 入門

Lakehouse Federation とは?

$$

architecture: Lakehouse Federation

Databricks Lakehouse 入門

接続のセットアップ

$$

-- Create a connection
CREATE CONNECTION partner_pg
TYPE postgresql
OPTIONS (
  host 'db.partner.com',
  port '5432',
  user 'reader',
  password secret('scope', 'key')
);

$$

-- Create a foreign catalog
CREATE FOREIGN CATALOG partner_db
USING CONNECTION partner_pg;
-- Query the external table
SELECT *
FROM partner_db.public.orders
LIMIT 10;

Databricks Lakehouse 入門

フェデレートと取り込みの使い分け

$$

フェデレート 取り込み
アクセス リアルタイム バッチコピー
クエリ量 少ない 多い
レイテンシ ソース依存 低い
コンプライアンス コピー不要 データ移動あり
変換 限定的 フルメダリオン

$$

  • リアルタイム・低ボリューム・コンプライアンス制約がある場合はフェデレート
  • 大量・反復・高パフォーマンスが求められる場合は取り込み
Databricks Lakehouse 入門

Unity Catalog におけるフェデレーション

$$

  • フェデレートテーブルは Unity Catalog の階層に表示される
  • ローカルテーブルと同じアクセス制御リネージ
  • フェデレートテーブルとローカルテーブルを1つのクエリで結合可能
  • 対応ソース:PostgreSQL、MySQL、Snowflake、SQL Server など

$$

recraft: half: データストリームの光る橋でつながれた2棟のビルと、フェデレーテッドデータガバナンスを表す中央のカタログディレクトリ

Databricks Lakehouse 入門

まとめ

$$

  • Lakehouse Federation はデータをコピーせずに外部データをクエリできる
  • 接続を作成し、外部カタログを定義して、標準 SQL でクエリする
  • リアルタイム・低ボリューム・コンプライアンス制約がある場合はフェデレート
  • 大量・反復・高パフォーマンスが求められる場合は取り込み
Databricks Lakehouse 入門

練習しましょう!

Databricks Lakehouse 入門

Preparing Video For Download...