🏅

Fabric Real-Time Intelligence で実践するメダリオン アーキテクチャ

に公開

はじめに

今回の記事は、Microsoft Fabric Real-Time Intelligence(RTI)を使ったリアルタイム分析基盤の設計プラクティスとして、メダリオンアーキテクチャを整理するものです。RTI を試したいという声は増えている一方で、構成や運用の“作法”がまとまって見つけにくいと感じています。
本稿ではメダリオンを唯一の解とは位置づけず、ひとつの有効な選択肢として、Bronze/Silver/Gold 各層の役割と設計上の要点(再処理のしやすさ、品質とガバナンス、KPI への即応性)を具体例とともに解説します。

メダリオンという設計図が必要な理由

リアルタイム データは、IoT デバイスや SaaS アプリから絶え間なく流れ込む“生のストリーム”です。もし全データをそのまま分析基盤に流し込めば、クエリのたびに複雑な前処理が走り、最新情報を得るまでに遅延が生じます。さらに、加工済みデータと生データが混在すると「どの値を意思決定に使うべきか」が曖昧になり、監査・再現性の面でもリスクが高まります。
そこで Bronze → Silver → Gold と品質を段階的に高める メダリオンアーキテクチャ が有効です。Fabric Real-Time Intelligence (RTI) では、Bronze に生データを“そのまま”着地させ、Silver でクレンジングとビジネス文脈の付与を行い、Gold で KPI 向けに集約する——という三層構成を推奨しています。こうすることで、

  1. 生データの完全履歴を保持しつつ何度でも再処理できる
  2. 品質レベルが明確になりガバナンスを強化できる
  3. 重い集計を一度だけ実行すれば下流は軽量クエリで済む

といった利点が得られます。さらに RTI では各層が同一ワークスペース内で有機的に連携するため、ストリーム専用エンジンや外部スケジューラを別途管理する必要がありません。結果として、リアルタイム性と運用効率を同時に確保しながら、ビジネスの意思決定スピードを大幅に向上させることができます。


全体構成(例)

Real-Time Intelligence × メダリオン構成図

本記事では上図の各レイヤーごとに構成のポイントを説明します。
参考: Medallion Architecture in Fabric Real-Time Intelligence(Microsoft Fabric ブログ)


Bronze レイヤー

最初に構築するのは Bronze Table。IoT Hub や業務アプリのログを Eventstream で受け取り、そのまま Eventhouse テーブルへ書き込みます。ここでは「一切加工しない完全履歴」を保持するのが鉄則です。

  • ソース多様性:HTTP エンドポイント、Azure IoT Operations、既存 ERP など、ほぼすべてのイベント ソースを同一の Eventstream 経由で収容可能。
  • リプレイ容易性:Bronze に原本が残るため、上流の変換ロジックを変更しても簡単に再処理できます。

Silver レイヤー

着地した生データは Update Policy または Eventstream の Event Processing で整形され、Silver Table に流れ込みます。

  • Update Policy でスキーマ標準化・単位変換・マスタ結合などを自動実行。ストリーム特有のインクリメンタル処理やウォーターマーク(遅延到着データをどこで区切るか判断するためのタイムスタンプ境界)を意識する必要はありません。
  • 整形後は Materialized View を用いて Dedup View を生成し、重複レコードをリアルタイムで排除。「クリーンかつ即時検索可能なデータ」を確保します。

Update Policy とは?

「ソーステーブルに行が届いた瞬間に、この KQL を実行し、結果を別テーブルへ書き込む」という“常時オン”の変換ルールです。
ドキュメント: Update Policy

Materialized View とは?

集計や重複排除のクエリ結果を最新状態でキャッシュし、ミリ秒で返せる Eventhouse ネイティブ のビューです。
ドキュメント: Materialized View


Gold レイヤー

Gold Layer ではビジネス KPI 向けにデータを要約します。Silver の Dedup View をソースに、

  • Aggregate View(例:1 時間ごとの売上合計)
  • Latest Value View(例:各センサーの最新温度)

といった Materialized View を作成。遅延到着データも自動で補正されるため、ダッシュボード側で複雑なロジックを持たずに常に“正”を保てます。


Visualize & Activate

Gold レイヤーの集計データは Power BIReal-Time Dashboard へライブ接続でき、Silver レイヤーの高粒度データも Drill-through 可能です。さらに Activator(Reflex) を使えば、

  • Gold の KPI が閾値を超えたら Teams にアラート
  • Silver の詳細データで異常検知し、Power Automate でワークフロー起動

といった“データドリブンな自動アクション”をノーコードで実装できます。


まとめ

  • Bronze:すべての生データを正確に保持し、あとから何度でも再処理できる履歴リポジトリ。
  • Silver:Update Policy と Materialized View で品質を高め、クリーンかつ即時クエリ可能に。
  • Gold:ビジネス KPI/リアルタイム監視に必要な粒度で集計・要約し、常に最新かつ信頼できる指標を提供。
  • Visualize & Activate:Power BI/Real-Time Dashboard で可視化し、Reflex などでアラートやワークフローを自動化。

これら四つのレイヤーはすべて Microsoft Fabric RTI の単一ワークスペース 内で完結します。外部サービスへデータをコピーする必要はなく、複雑なジョブスケジューラを管理する負担もありません。Eventstream にソースを接続し、各レイヤーを順に作成していくだけで、リアルタイム データ活用の基盤を標準機能としてすぐに体験できます。


参考リンク

  • ブログ: Medallion Architecture in Fabric Real-Time Intelligence
  • ドキュメント: Update Policy
  • ドキュメント: Materialized View
Microsoft (有志)

Discussion