ある金融企業が、Azure Synapse Analytics にデータウェアハウスを構築している。売上テーブル(ファクト)と顧客テーブル・商品テーブル・日付テーブル(ディメンション)を設計する際、クエリ性能を最大化するために最も推奨されるスキーマ設計はどれか。
- A. スタースキーマ:非正規化されたディメンションテーブルをファクトテーブルの周囲に直接配置する
- B. スノーフレークスキーマ:ディメンションをさらに正規化して複数のテーブルに分割する
- C. 第3正規形(3NF):すべてのテーブルを完全に正規化してデータの冗長性をなくす
- D. フラットファイル方式:すべての属性を1つの巨大なテーブルに格納する
解答と解説を見る
正解: A
データウェアハウスのクエリ性能最大化にはスタースキーマが最も推奨される。ディメンションテーブルを非正規化(denormalized)した状態でファクトテーブルの周囲に配置することで、クエリ時の JOIN 数が最小化され、分析クエリの実行速度が向上する。スタースキーマは理解しやすく、BI ツールとの相性も良い。選択肢 B のスノーフレークスキーマはディメンションをさらに正規化するため、クエリ時の JOIN が増えてパフォーマンスが低下する場合がある。データウェアハウスではデータ整合性よりクエリ速度を優先するため、過度な正規化は避ける。選択肢 C の第3正規形は OLTP(トランザクション処理)向けの設計手法であり、分析クエリには不向きである。選択肢 D のフラットファイル方式はデータ管理が困難で、更新時の異常が発生しやすい。