ファクトテーブル

ファクトテーブルは、データウェアハウスの基盤です。 これらには企業の基本的な測定値が含まれており、ほとんどのデータウェアハウスクエリの最終的なターゲットです。 緊急のビジネス上の優先事項を反映するように選択され、慎重に品質が保証され、制約とグループ化のための豊富なエントリポイントを提供する次元 ファクトテーブルの道を開いたので、それらを構築して使用する方法を見てみましょう。

穀物に忠実に

最初の最も重要な設計ステップは、ファクトテーブル穀物を宣言することです。 穀物は、単一のファクトテーブルレコードが表すもののビジネス定義です。 グレイン宣言は、ファクトテーブルの主キーを実装する次元外部キーのリストではありません。 むしろ、穀物は測定を引き起こす物理的な世界の測定のでき事の記述である。 食料品店の走査器が購入されるプロダクトの量そして満たされた価格を測定するとき穀物は走査器のビープ音文字通りである。 それは偉大な穀物の定義です!

グレインを宣言した直後に、そのグレインに存在する次元の外部キーをリストすることができます。 最初に穀物を宣言することによって、外部キーの議論は接地され、正確なままです。

ファクトテーブルの本当の目的は、測定イベント中に観察される数値ファクトのリポジトリになることです。 これらの事実が穀物に真実であることは非常に重要です。 食料品店”ビープ音”は、スキャンされる製品の数量と拡張価格を測定します。 カテゴリ全体の売上や先月のこの製品の売上など、穀物に違反する他の数値測定値は含まれません。 これらの他の測定値は、選択された計算には狭く役立つかもしれませんが、事実レコード間で組み合わせることはできず、アプリケーションの設計に奇妙な非対称性を導入します。 ビジネスインテリジェンス(BI)ツールは、ファクトテーブルにハードコーディングするのではなく、クエリ時にこれらのオフトピック値を計算

私たちは常に事実を次元を超えて付加的にし、穀物と正確に一致させるよう努めています。 価格は非加算的であるため、スキャンされている製品の価格は保存されません。 むしろ、私たちは、製品、店舗、時間、および他のすべての次元にわたって自由に追加することができる拡張価格を保存します。

可能な限り低い穀物から構築

データウェアハウスは、常に可能な限り低い穀物で表現されたファクトテーブル上に構築する必要があります。 この例では、食料品店のレジのビープ音は、それ以上分割することができないため、可能な限り低い穀物です。 最も低い粒度のファクトテーブルは、そのビジネスプロセスに可能なディメンションの最も完全なセットを持っているため、最も表現力があります。 Beep grainファクトテーブルには、ファクトレコードの作成時にこれらすべてのデータソースをマーシャリングできる場合、日付、店舗、製品、キャッシャー、マネージャー、顧客、プ 地区別のカテゴリ売上などの高い穀物集計テーブルは、これらのすべての次元をサポートできないため、表現力がはるかに低くなります。 ドリルダウンして最小のグレインファクトテーブルをスムーズにアクセスできるようにせずに、集約されたテーブルのみをエンドユーザーに公開するのは、根本的な間違いです。 次元表がビジネス上の問題を前提とする誤った概念のほとんどは、この根本的な間違いを犯すことから来ています。

三つの種類のファクトテーブル

グレインに忠実であれば、すべてのファクトテーブルを三つのタイプにグループ化することができます。 図1では、次元はfk(foreign key)で指定され、数値ファクトは斜体です。

トランザクション穀物は、単一の瞬間に取られた測定に対応します。 食料品店のビープ音は、トランザクション穀物です。 測定された事実は、その瞬間とそのイベントに対してのみ有効です。 次の測定イベントは、1ミリ秒後または翌月に発生するか、または発生しない可能性があります。 したがって、トランザクショングレインファクトテーブルは予測不可能にまばらまたは密です。 可能なすべての外部キーが表現されるという保証はありません。 トランザクショングレインファクトテーブルは膨大なものになる可能性があり、最大のものには数十億のレコードが含まれています。

定期スナップショット粒は、事前に定義された期間、多くの場合、財務報告期間に対応しています。 図1は、毎月のアカウントの定期的なスナップショットを示しています。 測定されたファクトは、期間中または期間終了時の活動を要約します。 定期的なスナップショットグレインは、アクティビティがなくても、すべてのレポートエンティティ(図1の銀行口座など)が各スナップショットに表示されることを強力に保証します。 定期的なスナップショットは予測可能に密であり、アプリケーションは常に存在するキーの組み合わせに依存できます。 定期的なスナップショットファクトテーブルも大きくなることがあります。 20万口座と10年の歴史を持つ銀行には2つの銀行があります。月間アカウントで4億件突破!

累積スナップショットファクトテーブルは、開始と終了が明確に定義された予測可能なプロセスに対応します。 注文処理、請求処理、サービスコールの解決、および大学入学は典型的な候補者です。 たとえば、注文処理の累積スナップショットの粒度は、通常、注文の明細です。 図1では、注文が受ける標準的なシナリオを表す複数の日付があることに注意してください。 累積スナップショットレコードは、プロセスが最初から最後までステップを進めるにつれて再訪され、上書きされます。 スナップショットファクトテーブルの累積は、この上書き戦略のため、一般的に他の二つのタイプよりもはるかに小さいです。

コメントを残す

メールアドレスが公開されることはありません。