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

スノーフレークスキーマ

Databricks 無料トライアル

スノーフレークスキーマとは

スノーフレークスキーマは、スタースキーマを拡張した多次元データモデルで、ディメンションテーブルがサブディメンションテーブルに細分化されたものです。スノーフレークスキーマは、データウェアハウスやデータマート、リレーショナルデータベースの多次元分析を使用した BI(ビジネスインテリジェンス)やレポーティングによく使用されています。

スノーフレークスキーマでは、エンジニアがそれぞれのディメンションテーブルを論理的なサブディメンションに細分化します。このため、データモデルは複雑になりますが、特定のデータ形式においてはアナリストが操作しやすくなります。

また、下図のとおり、実体関連図(ERD:Entity-Relationship Diagram)が雪の結晶のように見えることから、このデータウェアハウススキーマは、スノーフレークスキーマと呼ばれています。

スノースキーマの図:中央のファクトテーブルが外部キーを介して複数のディメンションテーブルやサブディメンションテーブルに接続されている。

スノーフレークスキーマとスタースキーマの比較

スタースキーマと同様に、スノーフレークスキーマの中央にもファクトテーブルがあり、外部キーを介して複数のディメンションテーブルに接続されています。しかし、スタースキーマと異なり、スノーフレークスキーマはより正規化が進んでいます。

スノーフレークスキーマは、高い正規化基準に厳密に準拠しており、ストレージ効率性は高いのですが、非正規化データモデルと比べるとクエリ時のパフォーマンスは劣ります。一方で、スタースキーマのような非正規化データモデルでは、データの冗長性(データの重複)が高く、データの重複を許容する代わりにクエリのパフォーマンスを高速化することができます。

スノーフレークスキーマのメリット

  • 高速なデータ検索
  • データ品質の確保
  • データウェアハウスのためのシンプルで一般的なデータモデル

スノーフレークスキーマのデメリット

  • 初期設定時に要する膨大な工数
  • 柔軟性に欠けるデータモデル
  • 高いメンテナンスコスト

 

関連資料

用語集に戻る