Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microsoft Fabric OneLake を通じた Delta Lake & Iceb...

Ryoma Nagata
April 21, 2025
120

Microsoft Fabric OneLake を通じた Delta Lake & Iceberg の相互運用性

https://msevents.microsoft.com/event?id=1987375936
Azure Partner Community 全チャネルセミナー登壇資料

Ryoma Nagata

April 21, 2025
Tweet

More Decks by Ryoma Nagata

Transcript

  1. Microsoft MVP for Data Platform 永田 亮磨 (ZEAL CORPORATION) X:

    @ryomaru0825 Linkedin: ryoma-nagata-0825 Qiita: ryoma-nagata Microsoft Fabric OneLake を通じた Delta Lake & Iceberg の相互運用性
  2. 自己紹介 永田 亮磨(Ryoma Nagata) • Microsoft MVP for Data Platform

    • Databricks Solutions Architect Champion • 株式会社ジール • Microsoft Data Analytics Solution の導入など • 主な活動場所 • Qiita : @ryoma-nagata • X(Twitter) : @ryomaru0825 • connpass : • JSSUG (Japan SQL Server User Group) • JEDAI - The Data & AI Meetup 推しサービス(≒守備範囲) Databricks / Power BI / Machine Learning PurviewDG / Microsoft Fabric
  3. データメッシュ  共通の統制+ドメイン個々での柔軟なポリシーのもとでデータを管理し、 迅速性と柔軟な統制を両立する考え方  Data Mesh Principles and Logical

    Architecture (martinfowler.com) ドメインA ドメインB ドメインC ドメインD ドメインE ドメインG データ製品の生成 データガバナンス基盤 セルフサービスデータ基盤 データ製品の文書化 ドメイン全体で横断した統制 ドメイン個々でのデータ処理
  4. データ製品の特長  Data as Product:データに商業製品的な特性を適用する考え方により、デー タに標準化をもたらす  「データは水道のようにすぐに使えて、どこにでも同じような形で蛇口があり、安 全であってほしい」 

    主な特性  検出、説明性:たとえばECサイトのように  データは発見が可能な状態(市場化)である  消費者に説明するためのカタログが付随する  データ契約:たとえばクラウドサービスのように  データには所有者が定められており、利用規約とともに提供され、SLAに準拠される  相互運用性:たとえばねじや工具のように  データはあらゆる目的、場所でも同じように使えるようにフォーマットや、インターフェースが標準化されている 本日お話する領域
  5. DMBOK における相互運用性の記載 データ統合と相互運用性の目標 1. 人とシステムそれぞれが必要とするフォーマットと時間枠でデータを提供できるようにする 2. データを物理的および仮想的にデータハブに集約する 3. モデルとインターフェースを開発し共有することでソリューションを管理するコストと複雑さを 削減する

    4. 重要なイベント(機械と脅威)を特定し、アラートとアクションを起動する 5. ビジネスインテリジェンス、アナリティクス、マスターデータ管理、業務効率化の取り組みを サポートする DAMA International.『データマネジメント知識体系ガイド 第二版』.日経BP社.2018年, 301p
  6. データ分析システムにおける相互運用性 生産されたデータを異なる目的・場所で利用できることが重要 プラットフォーム プラットフォーム ワークロード間での相互運用 データが異なる目的に利用できる 可視化 AI / MLモデル

    SQL , BI Python プラットフォーム SQL , BI Python 可視化 AI / MLモデル プラットフォーム間での相互運用 データが異なるプラットフォームで利用できる データ製品 データ製品
  7. 相互運用の実現段階 Level 1 : ETL 処理によるコピー Level 2 : フェデレーションによる

    段階的なクエリ Level 3 : 直接アクセス • 追加コスト • 各 ETL 処理 • 各ワークロード領域のストレージ • 追加コストの対象 • フェデレーション先のエンジンによる 代理処理 • 追加コストの対象 • なし(各エンジンコストのみ)
  8. 相互運用性を高めることでデータメッシュの柔軟性が向上 単一プラットフォームによるデータメッシュ 複合プラットフォームによるデータメッシュ ドメイン間のデータ共有はプラットフォームの標準機 能によって実現 • ガバナンスを効かせることが容易 • ドメイン個々での製品選択の柔軟性は低下 標準化により相互運用性を確保することでドメイン

    間のデータ共有を実現 • プラットフォーム横断型のガバナンスが必要 • ドメイン個々で自由な選択 ドメインA ドメインB ドメインC ドメインD ドメインE ドメインG ドメインA ドメインB ドメインC ドメインD ドメインE ドメインG データ 提供標準 のどれかに固定
  9. プラットフォームを超えて相互運用性を実現するためのレイクハウスアーキテクチャ • データウェアハウスアーキテクチャ • サービス専用のストレージに保存(プロプライエタリ) • 独自の最適化による使いやすさと性能 • データにアクセスするためには専用のコンピューティングが必要なため、 相互運用性はプラットフォーム内にロックインされる

    • サービスを解約するためにはデータの抽出が必要 • データレイクハウスアーキテクチャ • クラウドデータレイク上にオープンテーブルフォーマット(OTF)を保存 • OTF の OSS 版 or 改良版に依存した機能 • OTF 用クライアントを介してアクセスするため、エンジン選択が自由 • OTFクライアントは SQL および Python それぞれの API を備える • サービスに依存せず、解約した際には自分のクラウドデータレイクにデータが 残る プラットフォーム プラットフォーム プラットフォーム 専用のSQLエンジン SQLエンジン プラットフォーム SQL エンジン 専用ストレージ DWHサービス DWHサービス ストレージサービス with オープンテーブルフォーマット Python エンジン MLサービス SQL エンジン 直接クエリ不可
  10. Delta Lake を標準フォーマットとして採用  Microsoft Fabric と Databricks では、構造化データは Delta

    Lake 形式で 保管される オープンかつシンプル • ベンダーロックインなく、あらゆるツールからアクセス 可能 • テーブル機能がファイルフォーマットで完結 DWHとデータレイクのいいとこどり  高速なクエリや、履歴管理  構造化~非構造化データに対応しつつ高い圧縮率 Home | Delta Lake Delta Lake の特徴
  11. Delta と Iceberg の大まかな比較  一般に OTF 市場内では機能の大きな相違はなく、成熟度や牽引するベンダーエコシステム が現在の比較ポイントとなる Spark

    の開発者 *Spark の開発者によりDatabricks が設立される 開発元 Netflixのエンジニア *Iceberg 創設者による企業 Tabular は Databricks に買収済 Linux Foundation コミュニティ Apache Foundation カタログレイヤー:任意 メタデータレイヤー:delta_log データレイヤー:Parquet コンポーネント カタログレイヤー:Polaris Rest Catalog などを要する メタデータレイヤー:manifest file データレイヤー:Parquet, ORC, Avro Databricks が牽引(現在 4.0 preview) ベンダーエコシステム 中立(現在1.81) Spark に特化 エンジン親和性 多エンジン(Spark, Flink, Trino 等) Databricks 、Fabric OneLake など プラットフォームの ネイティブサポート Snowflake, Dremio, AWS Athena, Starburst など
  12. オープンテーブルフォーマットの主な仕組み  オープンテーブルフォーマットはメタデータとデータファイルで構成されるという点ではほぼ同じような仕組 みとなっている  メタデータ:トランザクション内容、データファイルの対応の管理  Iceberg の場合、カタログにより最新のメタデータがどれなのかが管理される 

    データ:実際のデータを格納  各 OTF クライアントはこれらのメタデータとデータを正しく読み取ることでアクセスを可能にする How Delta Lake uses metadata to make certain aggregations much faster | Delta Lake Apache Iceberg: Architectural Insights | Dremio
  13. 新たな課題 OTF クライアントのギャップ  レイクハウスアーキテクチャでは多様なエンジンを選択できる一方で、 エンジンにインストールされた OTF クライアントの 互換性により新しい壁が生まれた。 

    Delta Lake は Uniform により Iceberg クライアント用のメタデータを生成して対応 Delta クライアント Iceberg クライアント Iceberg 用 メタデータ Delta 用 メタデータ 生成 Delta Clientによる クエリ不可
  14. Apache X Table  各 OTF から別の OTF 用のメタデータを生成することで相互運用性を高める OSS

    プロジェクト  メタデータのみの複製は IO 量が少なく、高速に処理可能 Apache XTable (Incubating)
  15. Fabric OneLake Iceberg ショートカット  Snowflake との相互運用性の強化 を実現するために Iceberg テーブルを自動的に

    Delta テーブルとして読取り可能にする機能がプレビュー  テーブルショートカット先に iceberg テーブルの保存されているフォルダを選択すると、 _delta_log フォルダをレイクハウ ス内に生成する Store and access your Iceberg data in OneLake using Snowflake and shortcuts | Microsoft Fabric Blog | Microsoft Fabric
  16. OneLake によるすべてのプラットフォームの相互運用性 Microsoft Fabric Iceberg Databricks Snowflake Microsoft Amazon Google

    OneLake Data sources Data Integration Analytical Processing Intelligence XTable Delta Parquet Multi-cloud shortcut / Mirroring Multi-engine interoperability
  17. 【デモ】 Databricks → Fabric / Snowflake Azure Databricks Unity Catalog

    ミラーリング Azure Databricks Unity Catalog Catalog Mirrored Azure Databricks catalog Microsoft Fabric OneLake カタログ情報を同期 Schema Table Data Lake Storage カタログ(メタストア)により テーブル名とDelta が紐づいている Table shortcut Schemas 同期されたカタログ情報により 場所を特定し、ショートカットアクセス SQL Spark Direct Lake
  18. Lakehouse Files Database Iceberg Table 【デモ】 Databricks → Fabric /

    Snowflake Azure Databricks Unity Catalog ミラーリング × Delta Direct Azure Databricks Unity Catalog Catalog Mirrored Azure Databricks catalog Microsoft Fabric OneLake カタログ情報を同期 Schema Table Data Lake Storage カタログ(メタストア)により テーブル名とDelta が紐づいている Table shortcut Schemas 同期されたカタログ情報により 場所を特定し、ショートカットアクセス Shortcut Snowflake Delta Lake から Iceberg メタデータを生成し て Iceberg として読取 実体データの複製は発生しない Volume
  19. Lakehouse 【デモ】 Snowflake Iceberg → Fabric / Databricks Snowflake Database

    Iceberg Table Volume Microsoft Fabric OneLake Files Tables Iceberg から Delta Lake メタデータを生成 実体データの複製は発生しない OneLake 上に Iceberg 形式で テーブル作成 内部ショートカット Table shortcut SQL Spark Direct Lake
  20. Lakehouse 【デモ】 Snowflake Iceberg → Fabric / Databricks Snowflake Database

    Iceberg Table Volume Microsoft Fabric OneLake Files Tables OneLake 上に Iceberg 形式で テーブル作成 内部ショートカット Table shortcut Azure Databricks Hive_metastore Schema Extaernal Table Spark conf 設定により、 OneLake 上の Deltaにアクセス Iceberg から Delta Lake メタデータを生成 実体データの複製は発生しない
  21. 【私見】主要なデータ分析プラットフォーム間の相互運用の課題  Databricks  Fabric での消費:Databricks UI 上から Power BI

    セマンティックモデルの直接発行など緊密に統合可能  Snowflake での消費:Uniform または Delta Direct により容易に相互運用可能だが、テーブル単位の登録となるため運用は 煩雑  Databricks Delta UniForm × Snowflake: Icebergテーブルへのダイレクト参照でデータ活用を加速! #iceberg – Qiita  Snowflake  Fabric での消費:Iceberg ショートカットは制約が多く、特にデータ型の精度問題に注意が必要  Databricks での消費:Iceberg テーブルを Delta Client が直接読み取る方法が未提供  CONVERT や CLONE などが docs から確認できるが、現状正常動作は未確認  Fabric  Snowflake での消費:Delta Direct により容易に連携可能だが、テーブル単位の登録となるため運用は煩雑  Databricks での消費:OneLake を Unity Catalog に統合できていない状態であるため、現時点ではレガシーな方法でのアクセ スとなる。Unity Catalog による OneLake の統合はアナウンスのみであるため、アップデートに期待
  22. デモに関連した検証記事  OneLake の Iceberg ショートカットにより Power BI や Fabric

    分析エンジンへ の Snowflakeデータの連携を革新する #Microsoft – Qiita  Snowflake から 各クラウドの Delta Lake データを読み取る #S3 - Qiita