メインコンテンツへジャンプ

スタースキーマ

Databricks 無料トライアル

スタースキーマとは

スタースキーマとは、データベース内のデータを整理することで理解・分析しやすくなった多次元データモデルで、データウェアハウスやデータベース、データマート、その他のツールに適用できます。スタースキーマの設計は、大規模なデータセットへのクエリを実行するために最適化されています。

1990 年代にラルフ・キンボールによって発表されたスタースキーマは、反復的なビジネス定義の重複を減らすことによってデータの保存や履歴の管理、データの更新を効率的に行い、データウェアハウスでのデータの集計やフィルタリングを高速に行うことができます。

 

スタースキーマの例:1 つのファクトテーブルが複数のディメンションテーブルに接続されている。

ファクトテーブルとディメンションテーブル

スタースキーマは、ビジネスデータをディメンション(時間や商品など)とファクト(金額や数量のトランザクションなど)に非正規化するために使用されます。

スタースキーマの中央には 1 つのファクトテーブルがあり、ビジネスのファクト(金額や数量のトランザクションなど)が格納されています。ファクトテーブルは、時間や製品などのディメンションに沿って、他の複数のディメンションテーブルに接続されています。スタースキーマでは、2 つ以上のファクトテーブルとディメンションテーブルを結合することで、ユーザーが適切と考える方法でデータをスライスすることやダイスにすることを可能にします。

非正規化データ

スタースキーマは、一部のディメンションテーブルに冗長なカラムを追加することで、データのクエリや作業を高速化・簡略化しデータを非正規化します。その目的は、データモデルの冗長性(データの重複)を許容することで計算コストのかかる結合演算を回避し、クエリの速度を向上させることにあります。

このモデルでは、ファクトテーブルは正規化されていますが、ディメンションテーブルは正規化されていません。すなわち、ファクトテーブルのデータはファクトテーブル上にのみ存在しますが、ディメンションテーブルには冗長なデータが含まれる可能性があります。

スタースキーマのメリット

  • スタースキーマのようなファクト/ディメンションモデルは、理解も実装もシンプルで、エンドユーザーは必要なデータを容易に見つけられます。また、データマートやその他のデータリソースに適用できます。
  • スノーフレークスキーマのような正規化されたモデルと比較して、スタースキーマはデータにアクセスする際の結合への依存度が低いため、単純なクエリに最適です。
  • OLAP モデルによく適合します。
  • スタースキーマは、計算コストのかかる結合を避けようとするため、正規化されたデータと比較してクエリのパフォーマンスが向上します。

スタースキーマと 3NF の違い

3NF(第 3 正規形)とは、正規化によってデータの冗長性を減らす手法であり、完全に正規化されたとみなされるデータベースの標準規格です。データの正規化により、スタースキーマと比べて多くのテーブルを持つのが一般的です。一方で、大規模なテーブル間の結合が増えるため、クエリが複雑になる傾向があります。

 

関連資料

用語集に戻る