スター スキーマとスノーフレーク スキーマ – それらの違い
スター スキーマとスノーフレーク スキーマの主な違い
- スター スキーマは、最も単純なタイプのデータ ウェアハウス スキーマです。 その構造が星に似ているため、スター スキーマとして知られています。
- スノーフレーク スキーマとスター スキーマを比較すると、スノーフレーク スキーマはスター スキーマの拡張であり、追加の次元が追加されています。 その図が雪の結晶に似ていることからスノーフレークと呼ばれています。
- スター スキーマでは、単一の結合のみがファクト テーブルとディメンション テーブル間の関係を定義します。
- スター スキーマには、ディメンション テーブルで囲まれたファクト テーブルが含まれています。
- スノーフレーク スキーマはディメンション テーブルで囲まれ、ディメンション テーブルはさらにディメンション テーブルで囲まれます。
- スノーフレーク スキーマでは、データをフェッチするために多くの結合が必要です。
- スター スキーマとスノーフレーク スキーマを比較すると、スター スキーマの DB 設計はシンプルですが、スノーフレーク スキーマの DB 設計は非常に複雑です。
スタースキーマとは何ですか?
スタースキーマ データ ウェアハウスでは、星の中心に XNUMX つのファクト テーブルと、それに関連付けられた多数のディメンション テーブルを含めることができます。 その構造が星に似ているため、スター スキーマとして知られています。 スター スキーマ データ モデルは、最も単純なタイプのデータ ウェアハウス スキーマです。 これはスター結合スキーマとしても知られており、大規模なデータ セットのクエリ用に最適化されています。
次のスター スキーマの例では、ファクト テーブルが中央にあり、Dealer_ID、Model ID、Date_ID、Product_ID、Branch_ID などのすべてのディメンション テーブルと、販売数や収益などのその他の属性へのキーが含まれています。
スノーフレーク スキーマとは何ですか?
スノーフレークスキーマ データ ウェアハウスにおける、多次元データベース内のテーブルの論理的な配置です。 ER図 雪の結晶の形に似ています。 スノーフレーク スキーマはスター スキーマの拡張であり、追加の次元が追加されます。 ディメンション テーブルは正規化されており、データが追加のテーブルに分割されます。
次の Snowflake スキーマの例では、Country がさらに個別のテーブルに正規化されています。
スター スキーマとスノーフレーク スキーマの違い
スノーフレーク スキーマとスター スキーマの主な違いは次のとおりです。
スタースキーマ | スノーフレークスキーマ |
---|---|
ディメンションの階層はディメンション テーブルに保存されます。 | 階層は個別のテーブルに分割されます。 |
これには、ディメンション テーブルで囲まれたファクト テーブルが含まれています。 | ディメンション テーブルで囲まれた XNUMX つのファクト テーブル、さらにディメンション テーブルで囲まれたファクト テーブル |
スター スキーマでは、単一の結合のみがファクト テーブルとディメンション テーブル間の関係を作成します。 | スノーフレーク スキーマでは、データをフェッチするために多くの結合が必要です。 |
シンプルなDB設計。 | 非常に複雑な DB 設計。 |
非正規化されたデータ構造とクエリも高速に実行されます。 | 正規化されたデータ構造。 |
高レベルのデータ冗長性 | 非常に低レベルのデータ冗長性 |
単一ディメンション テーブルには集計データが含まれます。 | データは異なるディメンション テーブルに分割されます。 |
キューブの処理が高速になります。 | 結合が複雑なため、キューブの処理が遅くなる可能性があります。 |
スター結合クエリ最適化を使用して、よりパフォーマンスの高いクエリを提供します。 テーブルは複数のディメンションに接続できます。 |
Snowflake スキーマは、複数のディメンションに接続される可能性が低い集中ファクト テーブルによって表されます。 |