Microsoft Fabric Warehouse でのディメンショナル モデリング
適用対象: Microsoft Fabric の SQL 分析エンドポイントとウェアハウス
この記事は、倉庫内のディメンショナル モデリングに関するシリーズの最初の記事です。 Microsoft Fabric の Warehouse の実用的なガイダンスを提供します。これは、テーブルの作成やテーブル内のデータの管理など、多くの T-SQL 機能をサポートするエクスペリエンスです。 そのため、ディメンション モデル テーブルの作成し、データをそこに読み込むのを完全に制御できます。
Note
この記事では、データ ウェアハウス という用語は、組織全体で重要なデータの包括的な統合を提供するエンタープライズ データ ウェアハウスを指します。 これに対し、スタンドアロンの用語 warehouse は Fabric Warehouse を指します。これは、Data Warehouse の実装に使用できるサービスとしてのソフトウェア (SaaS) リレーショナル データベース オファリングです。 わかりやすくするために、この記事では後者を Fabric Warehouse として説明します。
ヒント
ディメンショナル モデリングの経験が少ない場合は、この一連の記事が最初のステップであると考えてください。 これは、ディメンショナル モデリング設計に関する完全な説明を提供することを目的としていません。 詳細については、Ralph Kimball その他による「The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (2013 年第 3 版)」など、広く採用されている公開コンテンツを直接参照してください。
スター スキーマの設計
スター スキーマ は、リレーショナル データ ウェアハウスで採用されているディメンショナル モデリング手法です。 Fabric Warehouse を作成するときに、実行を推奨される設計アプローチです。 スター スキーマは、ファクト テーブル および ディメンション テーブル から構成されています。
- ディメンション テーブル 組織と分析の要件に関連するエンティティについて説明します。 大まかに言えば、それらはモデル化するものを表します。 日付と時刻を含む、製品、人、場所、その他の概念などがあります。 詳細と設計のベスト プラクティスについては、このシリーズの「ディメンション テーブル」を参照してください。
- ファクト テーブル は、観測値またはイベントに関連付けられた測定値を格納します。 販売注文、在庫残高、為替レート、温度読み取りなどを格納できます。 ファクト テーブルには、集計できる詳細な値と共にディメンション キーが含まれています。 詳細と設計のベスト プラクティスについては、このシリーズの「ファクト テーブル」を参照してください。
スター スキーマ設計は、分析クエリ ワークロード用に最適化されています。 このため、これは、エンタープライズ Power BI の セマンティック モデル の前提条件と見なされています。 分析クエリは、データのフィルター処理、グループ化、並べ替え、集約に関連しています。 ファクト データは、関連するディメンション テーブルのフィルターとグループ化のコンテキスト内で集約されます。
スター スキーマと呼ばれる理由は、ファクト テーブルが星型の中心を形成し、関連するディメンション テーブルが星型の頂点を形成しているからです。
スター スキーマには、多くの場合、複数のファクト テーブルがあり、そのために複数のスターが含まれています。
適切に設計されたスター スキーマは、テーブル結合が少なく、インデックスが有用である高いため、高パフォーマンス (リレーショナル) クエリを提供します。 また、多くの場合、スター スキーマでは、データ ウェアハウスの設計が進化するにつれて、メンテナンス コストが低い必要になります。 たとえば、新しい属性による分析をサポートするためにディメンション テーブルに新しい列を追加することは、比較的実行が簡単なタスクです。 データ ウェアハウスの範囲が進化するにつれて、新しいファクトとディメンションが追加されます。
ディメンショナル モデルのテーブルは定期的に更新され、抽出、変換、読み込み (ETL) プロセスによって読み込まれます。 このプロセスは、そのデータを、オペレーショナル データを格納するソース システムと同期します。 詳細については、このシリーズの「テーブルの読み込み」を参照してください。
Power BI のディメンショナル モデリング
エンタープライズ ソリューションの場合、Power BI セマンティック モデル を作成するには、Fabric Warehouse のディメンショナル モデルが推奨される前提条件です。 ディメンショナル モデルは、セマンティック モデルをサポートするだけでなく、機械学習モデル など、他のエクスペリエンスのデータ ソースでもあります。
ただし、特定の状況では、最適なアプローチではない可能性があります。 たとえば、IT に依存せずに迅速に行動するための自由と機敏性を必要とするセルフサービス アナリストは、ソース データに直接接続するセマンティック モデルを作成する可能性があります。 このような場合、ディメンショナル モデリングの理論は今もなお関連性があります。 この理論は、アナリストが直感的で効率的なモデルを作成するのに役立ち、データ ウェアハウスにディメンショナル モデルを作成して読み込む必要がなくなります。 代わりに、セマンティック モデル テーブルを作成して読み込むソース データに接続して変換するロジックを定義する Power Query を使用して準ディメンショナル モデルを作成できます。 詳細については、「スター スキーマと Power BI での重要性を理解する」を参照してください。
重要
Power Query を使用してセマンティック モデルでディメンショナル モデルを定義する場合、過去を正確に分析するために必要な 履歴変更を管理 することはできません。 これが要件である場合は、データ ウェアハウスを作成し、定期的な ETL プロセスでディメンションの変更をキャプチャして適切に格納できるようにする必要があります。
データ ウェアハウスの計画
データ ウェアハウスの作成とディメンショナル モデルの設計は、本格的で重要な作業として取り組む必要があります。 これは、データ ウェアハウスがデータ プラットフォームのコア コンポーネントであるためです。 組織全体の分析とレポート、つまり意思決定をサポートする強固な基盤を形成する必要があります。
そのためには、データ ウェアハウスは、高品質で、適合済かつ履歴的に正確なデータを、唯一の真実のバージョン として格納するように努める必要があります。 分かりやすく、移動可能なデータを高速なパフォーマンスで提供し、適切なデータに適切なユーザーのみがアクセスできるようにアクセス許可を適用する必要があります。 データ ウェアハウスを回復性のために設計し、要件の進化に合わせて変更できるように努めます。
データ ウェアハウスの正常な実装は、適切な計画に依存します。 戦略的および戦術的な考慮事項、および Fabric とデータ ウェアハウスの正常な導入につながる実施項目については、「Microsoft Fabric 導入ロードマップ」を参照してください。
ヒント
エンタープライズ データ ウェアハウスを繰り返し構築することをお勧めします。 最初に最も重要なサブジェクト領域から開始し、優先度とリソースに従って、時間の経過と共に、データ ウェアハウスを他の対象領域と共に拡張します。
関連するコンテンツ
このシリーズの次の記事では、ディメンション テーブル のためのガイダンスと設計のベスト プラクティスについて説明します。