ウェアハウス設計では、ディメンション テーブルを複数の関連テーブルに正規化することでスター スキーマを拡張し、クエリの複雑さを増大させながら冗長性を削減します。
によって Databricks Staff による投稿
スノーフレークスキーマ(Snowflake)は、スタースキーマを拡張した多次元データモデルで、ディメンションテーブルがサブディメンションテーブルに細分化されたものです。スノーフレークスキーマは、データウェアハウスやデータマート、リレーショナルデータベースの多次元分析を使用した BI(ビジネスインテリジェンス)やレポーティングによく使用されています。
スノーフレークスキーマでは、エンジニアがそれぞれのディメンションテーブルを論理的なサブディメンションに細分化します。このため、データモデルは複雑になりますが、特定のデータ形式においてはアナリストが操作しやすくなります。
また、下図のとおり、実体関連図(ERD:Entity-Relationship Diagram)が雪の結晶のように見えることから、このデータウェアハウススキーマは、スノーフレークスキーマと呼ばれています。

スタースキーマと同様に、スノーフレークスキーマの中央にもファクトテーブルがあり、外部キーを介して複数のディメンションテーブルに接続されています。しかし、スタースキーマと異なり、スノーフレークスキーマはより正規化が進んでいます。
スノーフレークスキーマは、高い正規化基準に厳密に準拠しており、ストレージ効率性は高いのですが、非正規化データモデルと比べるとクエリ時のパフォーマンスは劣ります。一方で、スタースキーマのような非正規化データモデルでは、データの冗長性(データの重複)が高く、データの重複を許容することで、クエリのパフォーマンスを向上させることができます。
1, スノーフレークスキーマとは何ですか?
データウェアハウス向けの正規化された多次元データモデルで、サブディメンションまで細分化された構造を持ちます。
2, スノーフレークスキーマのメリットは?
高いデータ品質とストレージ効率、一般的で理解しやすい構造が挙げられます。
3, スタースキーマとの違いは?
スノーフレークスキーマは正規化されており、データの重複を減らせますが、クエリ性能はスタースキーマに劣ります。
ブログを購読して、最新の投稿を受信トレイにお届けします。