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

データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatfor...

 データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture

データプラットフォーム技術とそれを支えるメダリオンアーキテクチャという考え方について説明しています

Avatar for Masatoshi Shimada

Masatoshi Shimada

June 25, 2025
Tweet

More Decks by Masatoshi Shimada

Other Decks in Technology

Transcript

  1. データプラットフォームエンジニア • GitHub: @smdmts • X: @smdmts • Software Engineer,

    Software Architect, Data Engineer • データプラットフォーム技術バイブルの著者 ⾃⼰紹介 2 Masatoshi Shimada 島⽥雅年
  2. • Data(データ):⽣データ、それ⾃体は意味を持たない記録物 • Information(情報):構造化されたデータで、何らかの意味を持つ • Knowledge(知識):情報を元に得られた洞察や理解、ダッシュボード • Wisdom(知恵):意思決定などの⾏動に結びつく主観的な情報 データエンジニアリングは、この抽象度の階段を効率的にフィードバックループするための仕組みづくり •

    知識(静的)と知恵(動的)はフィードバックループする関係にある • 情報を集める(知識)→情報を活⽤する(知恵)→更に情報を集める(知識)→ ... 続く • 例:サッカー監督は事前に相⼿チーム選⼿の情報を集める(知識)→その情報を元に出場選⼿を決定する (知恵)→実際の試合で選⼿の動きを観察する(知識)→試合状況を⾒て選⼿交代を指⽰する(知恵)→ ... 続く DIKWモデル データ抽象度とデータ処理 6
  3. • DataからWisdomへ段階的に抽象度を引き上げる⾏為がデータエンジニアリングの本質 • 抽象度の各階層で異なる技術と異なる品質要件が求められる ◦ Data → Information:データの構造化 ◦ Information

    → Knowledge:データの集約と分析 ◦ Knowledge → Wisdom:データの可視化と意思決定⽀援 ◦ Wisdom → Data:必要に応じて新たなデータの収集と蓄積 • 各階層で異なる職種が関わる(関⼼事が異なる) ◦ Data → Data Engineer ◦ Information → Data Engineer, Data Analyst、Data Scientist ◦ Knowledge → Data Analyst, Data Scientist ◦ Wisdom → Data Analyst, Business Unit DIKWモデルのイメージ データ抽象度とデータ処理 7
  4. • Landing→Bronze→Silver→Goldの各ステージで、段階的にデータ処理状況を検証する ◦ Landing/Bronzeは、⼀貫性のあるデータ受信などの検証が必要 ◦ Silver/Goldは、⼀貫性のあるドメイン知識の検証が必要 各ステージは明確に「関⼼事」が異なるため、「関⼼事の分離」の適⽤が可能 • システムのあるべき姿とは、 ◦

    ドメインモデルが「知識が厳密に構成され、選び抜いて抽象化されている」状態 ◦ データとふるまいの分離を通じて、「機能の責任範囲が明確」な状態 メダリオンアーキテクチャの⽬指すもの メダリオンアーキテクチャという考え⽅ 13
  5. • データ要件: ◦ データプラットフォームが管理すべきデータの種類、データアクセス権、データフローなど ◦ 必要となるデータが分からない場合は、とりあえず必要と考えられるデータを収集しておくなど • ふるまい要件: ◦ 「ふるまい」とは、データをどのように処理するかに着⽬

    ◦ ある業務要求を実現するにあたり、どのような「ふるまい」を定義するか ◦ データプラットフォーム技術バイブルでは「業務」に対する「ふるまい」を定義している データ要件とは「何が必要か」を定義し、ふるまい要件とは「どのように実現するか」を定義する。 この分離により、疎結合かつ⾼凝集なデータ処理の設計が可能となる。 データ要件とふるまい要件の違い メダリオンアーキテクチャという考え⽅ 17
  6. メダリオンアーキテクチャは、データの品質保証における各ステージの課題は次のようになる • Landing:外部システムから適切にデータを受信すること • Bronze:⽂字列として構造化されていること • Silver:重複や⽋損がない集約可能なデータであること • Gold:可視化や意思決定⽀援するデータであること 各ステージをデータ要件とふるまい要件に分けて考えることで、課題の分離による保守性の向上が期待できる。

    ただし、現実のシステムでは、Bronze、Silver、Goldという三層の分離では無理があることも多いので注意。 • 多数のシステム連携が必要となる場合。(bronze_a、bronze_b、bronze_c…) • 境界付けられたコンテキストが複数ある場合。(silver_a、silver_b、silver_c…) • データ消費層のドメイン分割が明確な場合。(gold_a、gold_b、gold_c…) 各ステージの主な課題 メダリオンアーキテクチャという考え⽅ 21
  7. データ要件: • データ品質の保証:重複除去‧⽋損値補完、データ型の正規化や整合性の確保 • ビジネスルールの適⽤:ドメイン知識に基づくデータ変換や集約や適切なデータ粒度の確保 • 集計可能なデータ構造:探索的データ分析⽤のテーブル設計、時系列データの構造整理 ふるまい要件: • データ変換‧クレンジング:複雑なETL処理の明解化、⼤量データの効率的変換、増分更新の実装

    • 品質監視‧検証:データ品質メトリクスの監視、異常値検出アルゴリズム、品質劣化時の⾃動対応 • パフォーマンス最適化:クエリ性能の向上、パーティショニングやリキッドクラスタリング等の技術活⽤ 🥈Silver(クレンジングデータ)における主な課題 メダリオンアーキテクチャという考え⽅ 24
  8. データ要件: • データ品質の保証:ドメイン知識に基づく正確なデータであること • ビジネス価値の最⼤化:意思決定⽀援データの設計、KPI‧メトリクスの定義、ダッシュボードが提供する 価値の最⼤化 ふるまい要件: • 多様な形式への対応:DeltaLake/Iceberg、ベクターDB、グラフDB、Elasticsearch、RDBMS等の使い分け •

    認証認可(ガバナンス):部⾨‧役職別のデータアクセス権、セキュリティ要件が満たされていること • ⾼速クエリ‧可視化:リアルタイム分析の実現、BIツール連携、レスポンス性能の最適化 • 検索多様性:RAG(検索拡張⽣成)の実装、LLM連携、⾃然⾔語検索 • 運⽤:データカタログ管理、利⽤状況監視、コスト最適化とリソース管理 🥇Gold(消費データ)における主な課題 メダリオンアーキテクチャという考え⽅ 25