データベース スノーフレークスキーマとは何ですか? -techopediaからの定義

スノーフレークスキーマとは何ですか? -techopediaからの定義

目次:

Anonim

定義-Snowflake Schemaとはどういう意味ですか?

コンピューティングにおいて、スノーフレークスキーマは、論理テーブルを備えた多次元データベースを指し、エンティティ関係図はスノーフレークの形状に配置されます。 多くの場合、複数の異なるディメンションにリンクされた一元化されたファクトテーブルで表されます。 ディメンションテーブルはさまざまなディメンションテーブルに分割されます。これらのテーブルは通常、冗長性を排除するために正規化されます。 たとえば、製品テーブルは製品とサブ製品のテーブルに分割されます。


スノーフレークスキーマは、スタースキーマに似ています。 ただし、スタースキーマのディメンションは正規化されているため、個々のテーブルは各ディメンションを表します。

TechopediaはSnowflakeスキーマについて説明します

複雑なスノーフレークパターンは、複雑なスノーフレークスキーマディメンションがある場合に表示されます。 スキーマをスノーフレークの形状にするには、スキーマをさまざまな関係レベルで構成し、子テーブルに複数の親テーブルを含める必要があります。 ファクトテーブルは、「スノーフレーク」効果の影響を受けません。


Snowflakeスキーマは、より複雑なリレーションシップとディメンションに対する柔軟なクエリのために作成されています。 ディメンションレベル間の1対多および多対多の関係に理想的であり、通常はデータ操作効率よりもデータ取得速度が重要なデータマートおよびディメンションデータウェアハウスに関連付けられます。 Snowflakeスキーマは、高度なクエリツールで最も一般的に使用されます。高度なクエリツールは、複雑な仕様の複数のクエリがあるシナリオのユーザーと生のテーブルの間に抽象化レイヤーを構築します。


スノーフレークスキーマを使用する利点は次のとおりです。

  • 主な利点は、最小限のディスクストレージを必要とし、ルックアップテーブルをより小さいサイズで結合するため、クエリパフォーマンスが向上することです。
  • コンポーネントとディメンションレベル間の相互関係の柔軟性が向上します。
  • 冗長性がないため、メンテナンスが簡単
  • 小さいテーブルが結合されるため、全体的なパフォーマンスが向上します

スノーフレークスキーマの欠点は次のとおりです。

  • 追加のテーブルを結合する必要があるため、クエリはより困難です。 これにより、クエリの理解が難しくなります。
  • より多くのテーブルを使用するため、より多くのクエリ実行時間が必要
スノーフレークスキーマとは何ですか? -techopediaからの定義