【问题标题】:Snowflake or Star for OLAP database design用于 OLAP 数据库设计的 Snowflake 或 Star
【发布时间】:2013-11-07 20:39:34
【问题描述】:

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

尺寸:

  • 类别(约 20 行)
  • 子类别(约 100 行)
  • SubSubCategory(~1200 行)
  • SubSubSubCategory(~8000 行)
  • 其他1(~100000 行)
  • 其他2(~50000 行)
  • 其他3(~500 行)
  • 其他4(~500 行)
  • 其他5(~200 行)
  • 其他6(~200 行)
  • 其他7(~100 行)
  • Other8(~10 行)

测量:

  • 事实(~20000000 行)

关系

  • 事实有其他[\d]
  • 事实有 SubSubSubCategory
  • SubSubSubCategory 有 SubSubCategory
  • SubSubCategory 有 SubCategory
  • 子类别有类别

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

【问题讨论】:

    标签: database database-design olap mondrian saiku


    【解决方案1】:

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

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

    似乎星型模式适合您。如果其他维度有关系,则需要雪花模式。

    【讨论】:

    • 当然。但更重要的是蒙德里安。这几乎需要星型模式。你可以做雪花,但效果不太好。
    【解决方案2】:

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

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

    蒙德里安在这两种情况下都表现出色。

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2012-09-18
      • 1970-01-01
      相关资源
      最近更新 更多