スタースキーマ
スタースキーマとは
スタースキーマとは、データベース内のデータを整理することで理解・分析しやすくなった多次元データモデルで、データウェアハウスやデータベース、データマート、その他のツールに適用できます。スタースキーマの設計は、大規模なデータセットへのクエリを実行するために最適化されています。
1990 年代にラルフ・キンボールによって発表されたスタースキーマは、反復的なビジネス定義の重複を減らすことによってデータの保存や履歴の管理、データの更新を効率的に行い、データウェアハウスでのデータの集計やフィルタリングを高速に行うことができます。
ファクトテーブルとディメンションテーブル
スタースキーマは、ビジネスデータをディメンション(時間や商品など)とファクト(金額や数量のトランザクションなど)に非正規化するために使用されます。
スタースキーマの中央には 1 つのファクトテーブルがあり、ビジネスのファクト(金額や数量のトランザクションなど)が格納されています。ファクトテーブルは、時間や製品などのディメンションに沿って、他の複数のディメンションテーブルに接続されています。スタースキーマでは、2 つ以上のファクトテーブルとディメンションテーブルを結合することで、ユーザーが適切と考える方法でデータをスライスすることやダイスにすることを可能にします。
非正規化データ
スタースキーマは、一部のディメンションテーブルに冗長なカラムを追加することで、データのクエリや作業を高速化・簡略化しデータを非正規化します。その目的は、データモデルの冗長性(データの重複)を許容することで計算コストのかかる結合演算を回避し、クエリの速度を向上させることにあります。
このモデルでは、ファクトテーブルは正規化されていますが、ディメンションテーブルは正規化されていません。すなわち、ファクトテーブルのデータはファクトテーブル上にのみ存在しますが、ディメンションテーブルには冗長なデータが含まれる可能性があります。
スタースキーマのメリット
- スタースキーマのようなファクト/ディメンションモデルは、理解も実装もシンプルで、エンドユーザーは必要なデータを容易に見つけられます。また、データマートやその他のデータリソースに適用できます。
- スノーフレークスキーマのような正規化されたモデルと比較して、スタースキーマはデータにアクセスする際の結合への依存度が低いため、単純なクエリに最適です。
- OLAP モデルによく適合します。
- スタースキーマは、計算コストのかかる結合を避けようとするため、正規化されたデータと比較してクエリのパフォーマンスが向上します。
スタースキーマと 3NF の違い
3NF(第 3 正規形)とは、正規化によってデータの冗長性を減らす手法であり、完全に正規化されたとみなされるデータベースの標準規格です。データの正規化により、スタースキーマと比べて多くのテーブルを持つのが一 般的です。一方で、大規模なテーブル間の結合が増えるため、クエリが複雑になる傾向があります。