Database DWH:既然已经有了DB星型模式,为什么还要构建多维数据集?

Database DWH:既然已经有了DB星型模式,为什么还要构建多维数据集?,database,data-warehouse,Database,Data Warehouse,我的etl过程收集数据并将其转换为具有事实和维度的数据库。那么我为什么要用这个来构建立方体呢?除了查询的速度优势和值的预聚集之外,还有其他好处吗 感谢您的帮助,事实和维度是几乎可以在任何关系数据库中构建的表。为了提高性能,可以在同一关系数据库中构建聚合事实表。这些表是通用的,例如,只需很少的努力,就可以将这些表从Oracle移动到SQL Server 尽管存在过度简化的风险,但多维数据集是一种聚合事实表,但它构建在多维数据库中,并且通常特定于该类型的数据库。因此,如果您在SSAS中构建多维数据集

我的etl过程收集数据并将其转换为具有事实和维度的数据库。那么我为什么要用这个来构建立方体呢?除了查询的速度优势和值的预聚集之外,还有其他好处吗


感谢您的帮助,事实和维度是几乎可以在任何关系数据库中构建的表。为了提高性能,可以在同一关系数据库中构建聚合事实表。这些表是通用的,例如,只需很少的努力,就可以将这些表从Oracle移动到SQL Server

尽管存在过度简化的风险,但多维数据集是一种聚合事实表,但它构建在多维数据库中,并且通常特定于该类型的数据库。因此,如果您在SSAS中构建多维数据集,则无法将其移动到Hyperion Essbase

对于一个简单的查询,例如按日期计算的交易金额总和,多维数据集与事实相比不会给您带来太多/任何好处。对于复杂的查询,性能往往比facts要好得多

多维数据集通常支持自己的查询语言(如SSAS和DAX),允许使用比通常用SQL编写的查询复杂得多的查询(无需花费大量精力)

因此,您是否应该构建多维数据集取决于许多因素,例如:

  • 您是否运行了很多复杂的查询,这些查询在多维数据集中的性能会更好
  • 改进后的性能是否值得付出努力/成本
  • 部署MOLAP(多维数据集)数据库以及维度数据库是否有成本/收益案例?多维数据集通常由事实/维度填充,因此它们是事实/维度的补充,而不是替代

非常感谢您,但是这些“复杂的查询”是什么?您需要它们的主题是什么?这是一个非常广泛的问题,不可能给出有用的答案。除非您正在实施基于多维数据集的应用程序(例如Hyperion)那么,在构建分析平台时,你的起点将是一个维度模型——如果你发现自己面临的挑战是一个维度模型不能很容易地支持的话,你只会考虑立方体,即立方体是一个问题的解决方案,而不是你一直需要实现的体系结构的默认部分。