データ ウェアハウス モデルのスノーフレーク スキーマ

スノーフレーク スキーマとは何ですか?

スノーフレークスキーマ データ ウェアハウスにおける、多次元データベース内のテーブルの論理的な配置です。 ER図 雪の結晶の形に似ています。 スノーフレーク スキーマはスター スキーマの拡張であり、追加の次元が追加されます。 ディメンション テーブルは正規化されており、データが追加のテーブルに分割されます。

スノーフレークスキーマの例

次の Snowflake スキーマの例では、Country がさらに個別のテーブルに正規化されています。

スノーフレークスキーマ
スノーフレークスキーマの例

スノーフレークスキーマの特徴

  • スノーフレーク スキーマの主な利点は、使用するディスク容量が少ないことです。
  • スキーマにディメンションを追加すると実装が容易になります
  • 複数のテーブルによりクエリのパフォーマンスが低下する
  • スノーフレーク スキーマの使用中に直面する主な課題は、ルックアップ テーブルが増えるため、より多くのメンテナンス作業を実行する必要があることです。

スノーフレークスキーマの利点

  • Snowflake スキーマの主な利点は、ディスク ストレージ要件を削減し、より小さなルックアップ テーブルを結合して、クエリのパフォーマンスを向上できることです。
  • コンポーネントとディメンション レベル間の相互関係のスケーラビリティが向上します。
  • 冗長性がないため、保守が容易です。

スノーフレーク スキーマの欠点

  • スノーフレーク スキーマの重大な欠点は、必要なメンテナンスの増加です。
  • 複雑なクエリを理解するのは困難です。
  • テーブルの数が増えると結合の数も増えるため、クエリの実行時間も長くなります。

ギャラクシースキーマとは何ですか?

A ギャラクシースキーマ ディメンション テーブルを共有する 2 つのファクト テーブルが含まれます。これは、ファクト コンステレーション スキーマとも呼ばれます。スキーマは星の集合として表示されるため、ギャラクシー スキーマと呼ばれます。

ギャラクシースキーマ
ギャラクシースキーマの例

上の例でわかるように、ファクト テーブルが XNUMX つあります。

  1. 歳入
  2. 製品。

Galaxy スキーマでは、共有ディメンションは適合ディメンションと呼ばれます。

ギャラクシースキーマの特徴

  • このスキーマのディメンションは、階層のさまざまなレベルに基づいて個別のディメンションに分割されます。
  • たとえば、地理に地域、国、州、都市などの XNUMX つの階層レベルがある場合、Galaxy スキーマは XNUMX つの次元を持つ必要があります。
  • さらに、XNUMX つ星のスキーマをさらに多くのスター スキーマに分割することで、このタイプのスキーマを構築することができます。
  • このスキーマでは次元が大きいため、階層レベルに基づいて構築する必要があります。
  • このスキーマは、理解を深めるためにファクト テーブルを集約するのに役立ちます。

スターとは Cluster スキーマ?

スノーフレークスキーマには完全に拡張された階層が含まれています。ただし、これによりスキーマが複雑になり、追加の結合が必要になります。一方、 スタースキーマ 完全に折りたたまれた階層構造が含まれているため、冗長性が生じる可能性があります。そのため、最適な解決策は、これら2つのスキーマのバランスをとることです。 Cluster スキーマ設計。

星 Cluster スキーマ
星の例 Cluster スキーマ

重複するディメンションは、階層内のフォークとして見つかります。フォークは、エンティティが 2 つの異なるディメンション階層で親として動作するときに発生します。フォーク エンティティは、1 対多の関係を持つ分類として識別されます。