77

谁能解释一下数据仓库和 OLAP 多维数据集的真正区别是什么?

他们对同一件事有不同的方法吗?

与其他相比,其中一个是否已弃用?

其中之一是否存在性能问题?

欢迎任何解释

4

3 回答 3

103

数据仓库是一种数据库,其设计使分析数据更容易†更快,通常使用来自多个来源的数据。它通常有一个维度模型,即事实表和维度表

OLAP 是可以对数据集执行的一组操作,例如旋转、切片、切块、钻孔。例如,可以使用 Excel 数据透视表进行 OLAP 操作。有一些“用于 OLAP”的 SQL 语句,例如PIVOTgroup by CUBE()group by ROLLUP()group by GROUPING SETS(),以及各种窗口函数

OLAP 服务器是一种有助于 OLAP 操作的服务器软件,例如缓存和查询重写。OLAP 操作通常用MDX表示,您的 OLAP 服务器可能会将 MDX 转换为数据库的常规 SQL。或者它可能适用于自己的二进制文件格式。OLAP 服务器内的维度模型称为OLAP 多维数据集

您可以拥有一个数据仓库而根本不使用 OLAP(您只需运行报告)。

您还可以对数据仓库以外的其他对象(例如平面文件)执行 OLAP 操作。

他们对同一件事有不同的方法吗?

不,数据仓库是以易于分析的格式存储数据的地方,而 OLAP 是一种分析数据的方法。

与其他相比,其中一个是否已弃用?

不,它们相互补充,因为数据仓库使使用 OLAP 分析数据变得容易,而 OLAP 可以使分析数据仓库更有用。

其中之一是否存在性能问题?

是的。数据仓库旨在存储大量数据,因此查询需要时间。可以通过使用索引或列式数据库、缓存、RAID 10 SSD、分区以及预聚合一些数据来提高性能。

另请参阅:https ://dba.stackexchange.com/questions/45655/what-are-measures-and-dimensions-in-cubes

† 而不是让交易更容易/更完整

于 2013-09-20T18:48:20.320 回答
7

数据仓库保存您希望对其运行报告、分析等的数据。

多维数据集通过将数据分组到定义的维度来组织这些数据。您可以有多个维度(想想 Excel 中的超级数据透视表)。

例如,在您的数据仓库中,您拥有所有的销售额,但运行复杂的 SQL 查询可能会非常耗时。因此,您可以从您的数据仓库创建一个多维数据集,该多维数据集对数据进行索引和预计算。在您的多维数据集中,您可以拥有所有这些预先计算的维度:按月、按周、按销售员、按客户、按地理区域、按产品颜色等的销售额。然后您可以在您的多维数据集上运行 OLAP 查询以获得总计、平均和按(月、销售员、地区)或按(颜色、地区)或按(销售员、月)的最大销售额。由于所有数据都是预先计算和索引的,因此查询速度非常快。

于 2013-09-20T12:35:46.267 回答
1

他们对同一件事有不同的方法吗?

不,数据仓库是以易于分析的格式存储数据的地方,而 OLAP 是一种分析数据的方法。

不,他们真的做同样的事情!OLAP 比 DWH 更预先计算。OLAP 就像 DWH 中的聚合

于 2014-05-20T14:10:57.130 回答