データの基礎比較

データウェアハウス設計における「トランザクションファクトテーブル」と「スナップショットファクトテーブル」の違いとして正しいのはどれか?

A.トランザクションファクトテーブルはOLTP専用で、スナップショットファクトテーブルはOLAP専用である。
✗ どちらもデータウェアハウス(OLAP)設計のパターンです。OLTP専用・OLAP専用という区別ではありません。
B.トランザクションファクトテーブルは各ビジネスイベント(注文・支払いなど)を1行として記録し、スナップショットファクトテーブルは特定時点(月末残高など)の状態を定期的に記録する。← 正解
✓ 正解です。トランザクションファクトテーブルは発生したビジネスイベントを都度1行として追記し、行数は無制限に増加します。スナップショットファクトテーブルは特定の時点(日次・月次など)の状態値(在庫残高・口座残高など)を定期的に記録し、時系列での状態変化分析に利用されます。
C.スナップショットファクトテーブルはリアルタイム更新が必要で、トランザクションファクトテーブルはバッチ処理専用である。
✗ 両者ともバッチ処理・定期ロードで運用されることが一般的です。スナップショットはむしろ「定期的な記録」が本質で、リアルタイム更新は必須ではありません。
D.トランザクションファクトテーブルはディメンションへの外部キーを持たず、スナップショットファクトテーブルのみ外部キーを持つ。
✗ どちらのファクトテーブルも時間・商品・顧客などのディメンションテーブルへの外部キーを持つのが標準的な設計です。

この問題のポイント

トランザクションファクトテーブルは発生したビジネスイベントを都度1行として追記し、行数は無制限に増加します。スナップショットファクトテーブルは特定の時点(日次・月次など)の状態値(在庫残高・口座残高など)を定期的に記録し、時系列での状態変化分析に利用されます。

DP-900:Microsoft Azure Data Fundamentals の問題一覧