2016-10-06 1 views
2

私は星図をモデル化するように求められました。大きなサイズの定期的なスナップショットファクトテーブル

  1. 日(日、月、年、週、四半期、...)
  2. 位(500の個別の値)
  3. 製品(80K異なる製品)

私は、3次元を持っています

主な質問は、すべての場所で1日の終わりにいくつの商品(商品)が保管されているかです。

ディメンションモデリングに関するいくつかの勉強の後。私は定期的なスナップショットテーブルを実装すべきだと思います。 Kimball Docsを読んでいたのですが、定期的なスナップショットでは次元の組み合わせごとにエントリが必要であることに気付きました。つまり、毎日40M行(80k * 500)を追加する必要があります。
製品が(実際の)遅いムーバーであり、多くの場所で長時間にわたって多くの場所にゼロ製品が保管されていることを知ると、これは極端な過度のようです。
FYIソースDBのトランザクションは、3年後に150k行です。

私は実際に毎日40Mの行を追加する必要がありますか、または指定した商品で空でない店舗を追加することはできますか?また、何らかの理由で、ある店舗の店舗が空いている場合は、その日の入場料を記入する必要があります(店舗や商品のN/Aはあります)。

+0

あなたは後で質問される質問を知らないので、常に一番低い穀粒を持つべきです。 "N/A"の空の店舗を扱うルールを定義した場合、それを行うことができます。 – tobi6

+0

私は最低の穀物に同意しますが、私はそれをトランザクションにしたくありません。なぜなら、これは私のクエリをより複雑にするからです(目標は各店舗の最後の10日間のグラフを持ち、多くの日付は記入されていません) – Bee157

+0

私はいつもより複雑なクエリと良いインデックスを使って、最小の精度を出すようにします。 – tobi6

答えて

2

正しくモデル化しました。これは仕様に依存しますが、通常はロケーションに存在する製品(ゼロを保存しない)のみを保存します。これにより、最大80kよりも大幅に低い数が得られます。

さらに数字を減らしたい場合は、最後のN日間を保存してから、データを「コールド」テーブルに移動することができます。過去10日間のスナップショットを保存しておき、その月のスナップショットのみを「ホット」ファクトテーブルに保存します。

レポートシステムでスナップショットを計算する可能性を除外しないでください。環境によっては(MDXやDAXなどで)簡単な場合もあります。混合溶液も可能である(すなわち、オンザフライで計算された最後の月のみ)。

関連する問題