質問

Saiku 2.5を使用していますが、次の状況をモデル化する方法がわかりません。

dimentions:

  • カテゴリ(〜20行)
  • サブカテゴリ(〜100行)
  • subsubcategory(〜1200行)
  • subsubsubcategory(〜8000行)
  • その他1(〜100000行)
  • その他2(〜50000行)
  • その他3(〜500行)
  • その他4(〜500行)
  • その他5(〜200行)
  • その他6(〜200列)
  • その他7(〜100行)
  • その他8(〜10行)

測定:

  • 事実(〜20000000行)

関係

  • 事実には他の[ d]があります
  • 事実にはsubsubsubcategoryがあります
  • subsubsubcategoryにはsubsubcategoryがあります
  • SubsubCategoryにはサブカテゴリがあります
  • サブカテゴリにはカテゴリがあります

パフォーマンスが優れているかどうか、すべてのカテゴリを1つのテーブルに除去するか、そのままにしておくことを知りたいと思います。各「カテゴリのような」テーブルには、varchar(8)と2つのテキスト()があります。

役に立ちましたか?

解決

パフォーマンスが優れているかどうか、すべてのカテゴリを1つのテーブルに除去するか、そのままにしておくことを知りたいと思います。

読み取りパフォーマンスのためにデータウェアハウスを最適化するので、カテゴリテーブルの非正規化を選択します。ほとんどのリレーショナルデータベースでは、約8,000行または1ページ半の話をしています。このテーブルをメモリに保つことができます。

スタースキーマがあなたのために働くように思われます。他の次元に関係がある場合、スノーフレークスキーマが保証されます。

他のヒント

8k行の結合が簡単なので、カテゴリは単一のテーブルにある必要があります。

その他はいくつかのテーブルに分割する必要があります。これにより、Mondrianは可能な場合は高レベル(低カーディナリティ)で結合を実行し、パフォーマンスを向上させることができます。

モンドリアンは両方のシナリオでうまくいっています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top