1

我正在使用 Saiku 2.5,但不确定如何模拟以下情况:

尺寸:

  • 类别(约 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 有 SubCategory
  • 子类别有类别

我想知道在性能方面是否更好,将所有类别反规范化到一张表中或保持原样。每个“类”表都有一个 VARCHAR(8) 和两个 TEXT()。

4

2 回答 2

2

我想知道在性能方面是否更好,将所有类别反规范化到一张表中或保持原样。

您正在优化数据仓库的读取性能,因此我选择非规范化类别表。在大多数关系数据库中,您所说的大约是 8,000 行或一页半。您可以将此表保存在内存中。

似乎星型模式对您有用。如果其他维度有关系,那么雪花模式将是必要的。

于 2013-11-07T22:42:59.723 回答
0

您的类别应该在一个表中,因为 8k 行连接很容易。

其他的应该分成几张桌子。这将允许 mondrian 在可能的情况下以高级别(低基数)执行连接,从而获得更好的性能。

蒙德里安在这两种情况下都表现得很好。

于 2013-11-08T18:58:44.703 回答