[ディメンショナルモデリング](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/) は、[[Ralph Kimball]] が提唱したデータウェアハウス設計手法である。ビジネスプロセスを [[ファクトテーブル]] とディメンションテーブルに分離するスタースキーマが中核で、分析クエリの理解しやすさとパフォーマンスを両立させる点が特徴である。 この手法は、1996 年の『[[The Data Warehouse Toolkit]]』を起点に DWH 設計の標準になり、クラウド DWH 時代でも BI やレポーティングのデータマートとして機能し、セマンティックレイヤーや LLM ベース分析の前提構造として再評価が進んでいる。 ## 設計プロセス ディメンショナルモデリングの設計は、Ralph Kimball の [Four-Step Dimensional Design Process](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/four-4-step-design-process/) として定式化されており、以下の順序で進める。 1. ビジネスプロセスを選択する 2. 粒度を宣言する (理想は最小粒度) 3. ディメンションを特定する 4. ファクトを特定する ## 設計テクニック - [[長文テキスト属性は Text Comment Dimension に切り出す]] - [[ディメンションテーブルの日付属性はプレーンな DATE をデフォルトにする]] - [[スタースキーマの NULL 可否は列の役割で決める]] - [[Default Row の行数は NULL の原因をどこまで区別するかで決める]] - [[ファクトテーブルのサロゲートキーはグレイン列のハッシュとして生成する]] (仮) - [[次元階層はファクトテーブルの FK ではなくディメンション内の属性として包含する]] (仮) - [[低カーディナリティ属性は Junk Dimension に統合する]] (仮) - [[同一概念のディメンションは Role-Playing Dimension で使い回す]] (仮) ## 用語集 - [[Centipede Fact Table]] - [[Default Row]] - [[Degenerate Dimension]] - [[ファクトテーブル]] - [[Junk Dimension]] - [[Text Comment Dimension]] ## 参考文献 - [[The Data Warehouse Toolkit]]: ディメンショナルモデリングを体系的にまとめた原典 - [[Star Schema The Complete Reference]]: スタースキーマ設計の体系的な解説書 - [[アジャイルデータモデリング]]: ビジネスイベント分析と協働モデリングの実践書