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

布局:

  • 类别(〜20行)
  • 子类别(〜100行)
  • 子类别(〜1200行)
  • sububsubscategory(〜8000行)
  • 其他1(〜100000行)
  • 其他2(〜50000行)
  • 其他3(〜500行)
  • 其他4(〜500行)
  • 其他5(〜200行)
  • 其他6(〜200行)
  • 其他7(〜100行)
  • 其他8(〜10行)

测量:

  • 事实(〜20000000行)

关系

  • 事实有其他[ d
  • 事实具有子帐户
  • subsubSubCategory具有子类别
  • 子类别具有子类别
  • 子类别具有类别

我想知道它的性能是更好的,将所有类别脱颖而出或将其视为原样。每个“类别”表都有一个varchar(8)和两个文本()。

有帮助吗?

解决方案

我想知道它的性能是更好的,将所有类别脱颖而出或将其视为原样。

您正在优化数据仓库以供阅读性能,因此我选择将类别表不利化。在大多数关系数据库中,您正在谈论大约8,000行或一页半页。您可以将此表保持在内存中。

好像明星模式对您有用。如果其他维度有关系,那么将有必要进行雪花架构。

其他提示

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

其他应该在几张桌子中拆分。这将使蒙德里安(Mondrian)在可能的情况下以高水平(低速度)进行连接,从而表现更好。

Mondrian在两种情况下都表现出色。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top