← メインに戻る
Topic 10

データウェアハウジングとBI

DAMA-DMBOK 2nd Edition — Chapter 11: Data Warehousing and Business Intelligence

出題 10%
Inmon vs Kimball アプローチ比較
Inmon アプローチ
Top-Down
  • まず Enterprise Data Warehouse(EDW) を構築
  • その後、EDWからデータマートを作成
  • 正規化されたデータモデル(3NF)を採用
  • 長期的なデータ整合性が高い
  • 初期コスト高・Time-to-Value 長い
Kimball アプローチ
Bottom-Up
  • まず データマート を構築(ビジネス部門のニーズから)
  • 共通のコンフォームドディメンションで統合
  • ディメンショナルモデリング(スタースキーマ) を採用
  • 早期にビジネス価値を提供できる
  • 初期コスト低・Time-to-Value 短い
比較項目InmonKimball
方向Top-DownBottom-Up
開始点EDW(全社統合)を先にデータマートを先に
データモデル3NF(正規化)スタースキーマ(非正規化)
整合性高い(単一データモデル)中(コンフォームドDIMで担保)
初期コスト高(全体設計が先)低(部門別に段階的)
Time-to-Value長い(12〜24ヶ月)短い(3〜6ヶ月)
典型的な失敗完成前に陳腐化データマート間の不整合
DWH アーキテクチャ(データフロー)
ソースシステム ERP/CRM/etc ETL / ELT 抽出・変換・ロード Staging Area 一時保管(生データ) ODS 現在の統合データ DWH 長期分析データ (時系列・不変) Data Mart(営業) Data Mart(財務) 変換・クレンジング ETL前の一時領域 リアルタイム統合 長期履歴蓄積
コンポーネント説明特徴
Staging Areaソースから抽出した生データの一時保管場所処理後は削除・上書き。ETLエンジンのみアクセス
ODS(Operational Data Store)現在の統合データ(リアルタイム/ほぼリアルタイム)継続的に更新。オペレーション部門が利用
DWH(Data Warehouse)長期の分析用データNon-Volatile(追記のみ)・Time-Variant
Data Mart特定部門・主題向けのサブセットスタースキーマ・BIツールが直接参照
OLAP操作(5種類)

Drill-Down

詳細化。年 → 四半期 → 月 → 日へと細かく掘り下げる

Roll-Up / Drill-Up

集約化。都道府県 → 地方 → 全国へと集計レベルを上げる

Slice

1次元を固定。「2023年のみ」でキューブを切り出す(3次元→2次元)

Dice

複数次元を絞り込み。「2022-23年 × 東京・大阪 × 家電」(次元数は変わらない)

Pivot

軸の入れ替え。行:製品×列:年 → 行:年×列:製品

SliceとDiceの違い
Slice = 1つのディメンションを特定値に固定して次元を減らす。Dice = 複数ディメンションを複数値に絞り込むが次元数は維持する。
Inmon の4特性(必須)
特性説明
Subject-Oriented
主題指向
ビジネス主題(顧客・製品・売上)ごとに整理
Integrated
統合
複数ソースを統合し一貫した形式で保持
Non-Volatile
不変
データは削除・更新されない(追記のみ)
Time-Variant
時間軸あり
時系列でデータを保持(過去データも保持)
BIの4種のアナリティクス
種類問いかけ
Descriptive
記述分析
何が起きたか?レポート・ダッシュボード
Diagnostic
診断分析
なぜ起きたか?原因分析・掘り下げ
Predictive
予測分析
何が起きるか?機械学習・統計モデル
Prescriptive
処方的分析
何をすべきか?最適化・AI推薦
Inmon の4特性(必須暗記)
Subject-Oriented
ビジネス主題で整理
Integrated
複数ソースを統合
Non-Volatile
追記のみ・削除しない
Time-Variant
時系列保持
Inmon vs Kimball(最重要)
InmonKimball
方向Top-DownBottom-Up
開始点EDW(全社)データマート(部門別)
スキーマ3NF(正規化)スタースキーマ(非正規化)
整合性高いコンフォームドDIMで確保
Time-to-Value遅い速い(早期価値提供)
重要用語
用語説明
Staging AreaETL前の一時保管領域(変換前の生データ)
ODSリアルタイム統合データ(現在値)
コンフォームドディメンション複数マートで共有されるDIM
ELTクラウドDWH向け(BigQuery/Snowflake)
ファクトテーブル数値指標を格納するテーブル(スタースキーマの中心)
試験直前チェックポイント
⚠ 絶対に覚えること
  • Inmon = Top-Down、EDW優先、3NF
  • Kimball = Bottom-Up、データマート優先、スタースキーマ
  • Inmon4特性: Subject / Integrated / Non-Volatile / Time-Variant
  • OLTP = 業務処理、OLAP = 分析・意思決定
  • コンフォームドディメンション = 複数マートで共有
  • 4種のアナリティクス: Descriptive / Diagnostic / Predictive / Prescriptive
  • Staging Area = 一時保管(変換前生データ)
  • ODS = リアルタイム統合(現在値)

練習問題 — DWH & BI(10問)

スコア: 0 / 10
Case 1: 大手保険会社のDWHアーキテクチャ選定
背景
大手保険会社(契約件数:500万件)。DWH構築でInmon方式かKimball方式かの議論が勃発。CTOはInmon派、BIチームはKimball派。
観点Inmon(Top-Down)Kimball(Bottom-Up)
構築順序EDW(全社)→ データマートデータマート → 統合
初期コスト高(全体設計が先)低(部門別に段階的)
Time-to-Value長い(12〜24ヶ月)短い(3〜6ヶ月)
典型的な失敗完成前に陳腐化データマート間の不整合
最終選択:ハイブリッドアプローチ(実務でよく使われる)
Phase 1(〜6ヶ月) Kimball式パイロットDM Phase 2(〜18ヶ月) Inmon式EDW構築 Phase 3: 統合 EDW→Kimball DM (ODS経由) 早期価値提供 長期整合性確保 両アプローチの融合
Case 2: ディメンショナルモデリングの実践(Kimball の4ステップ)
1
ビジネスプロセスの選択
受注・出荷・請求など
2
粒度の決定
注文1件か明細1行か。最重要設計判断
3
ディメンションの特定
日付・顧客・製品・地域
4
ファクトの特定
売上・数量・コストなど数値指標
ファクトテーブルの種類(Specialist試験頻出)
種類粒度適用例特徴
Transaction Factイベント1件注文・クリック最も一般的。サイズ大
Periodic Snapshot期間末時点月末在庫・週次残高定期的な状態を記録
Accumulating Snapshotプロセス1ライフサイクル受注〜出荷〜請求複数マイルストーン日付を持つ
Factless Factイベント(メジャーなし)学生の授業出席カウント分析のみ
コンフォームドディメンション(Conformed Dimension)
なぜ重要か
複数のデータマートで共有されるディメンション。同一の定義・粒度で使われることで、マート間でJOINした横断分析が可能になる。「日付ディメンション」は売上マートと在庫マートで同じものを使う。
コンフォームドDIMがない場合の問題
「代理店コード」が各マートで異なる体系 → JOINが不可能。「日付DIM」が各マートで違う粒度 → 比較不可能。
Case 3: OLAP操作の実務応用

Drill-Down(詳細化)

年レベル → 四半期 → 月 → 日
「2023年の売上」→「2023年Q3の売上」→「2023年8月の売上」

Roll-Up(集約化)

都道府県レベル → 地方 → 全国
「東京都の売上」→「関東地方」→「全国の売上」

Slice(スライス)

1つのDIMを特定値に固定
「2023年のみ」でキューブを切り出す(3次元→2次元になる)

Dice(ダイス)

複数DIMを複数値で絞り込み
「2022-23年 × 東京・大阪 × 家電カテゴリ」(次元数維持)

Pivot(ピボット)

軸を入れ替える
行:製品カテゴリ・列:年 → 行:年・列:製品カテゴリ
BI成熟度モデル(Specialist試験頻出)
成熟度状態
Level 1アドホックレポート(各自Excelで分析)
Level 2標準レポート(IT製のレポートを受け取る)
Level 3セルフサービスBI(ユーザーが自分で分析)
Level 4予測・意思決定支援(MLモデル統合)
Level 5AI駆動の自動最適化
Case 4: DWHパフォーマンス最適化
背景
月次売上レポートの生成に6時間かかっている。締め日には経営会議前にレポートが完成せず問題になっている。
最適化手法効果実装コスト
パーティショニングdate_skでパーティション → フルスキャン排除
集計テーブル(Aggregate Table)月次集計を事前計算 → クエリを大幅高速化低(大効果)
カラム指向ストレージRedshiftやBigQueryへの移行
インデックス最適化JOINキーへの複合インデックス
並列化クエリを並列実行
DWHのテスト戦略(Specialist試験頻出)
テスト種別内容
Reconciliation Testソース件数 vs DWH件数の一致確認
Transformation Test変換ロジックの正確性確認
Completeness Test全期間データが欠落なくロードされているか
DQ TestDWH内のデータ品質チェック
Performance Testクエリ応答時間・ETL処理時間の確認
Regression Test変更後に既存レポートが変化していないことの確認
重要: ETLバグの影響
ETLのバグは発見が遅れるほど影響が大きい(過去データが全て誤りになる可能性)。CI/CDパイプラインにDWHテストを組み込むことが重要。