【发布时间】:2013-09-25 20:04:46
【问题描述】:
谁能解释一下数据仓库和 OLAP 多维数据集的真正区别是什么?
他们对同一件事有不同的方法吗?
与其他相比,其中一个是否已弃用?
其中一个是否存在性能问题?
欢迎任何解释
【问题讨论】:
-
我找到了第一个答案。有用:quora.com/…
标签: data-warehouse olap olap-cube
谁能解释一下数据仓库和 OLAP 多维数据集的真正区别是什么?
他们对同一件事有不同的方法吗?
与其他相比,其中一个是否已弃用?
其中一个是否存在性能问题?
欢迎任何解释
【问题讨论】:
标签: data-warehouse olap olap-cube
数据仓库是一种数据库,其设计使分析数据更容易†而且更快,通常处理来自多个来源的数据。它通常有一个维度模型,意思是事实表和维度表。
OLAP 是一组操作,可以在数据集上执行,例如旋转、切片、切块、钻孔。例如,可以使用 Excel 数据透视表进行 OLAP 操作。有一些“for OLAP”的SQL语句,如PIVOT
、group 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
† 而不是让交易更容易/更完整
【讨论】:
dimension
和fact
的概念。
数据仓库保存您希望运行报告、分析等的数据。
多维数据集通过将数据分组到定义的维度来组织这些数据。您可以有多个维度(想想 Excel 中的超级数据透视表)。
例如,在您的数据仓库中,您拥有所有的销售额,但运行复杂的 SQL 查询可能会非常耗时。因此,您可以从您的数据仓库创建一个多维数据集,该多维数据集对数据进行索引和预计算。在您的多维数据集中,您可以拥有所有这些预先计算的维度:按月、按周、按销售员、按客户、按地理区域、按产品颜色等的销售额。然后您可以在您的多维数据集上运行 OLAP 查询以获得总计、平均和按(月、销售员、地区)或按(颜色、地区)或按(销售员、月)的最大销售额。由于所有数据都经过预先计算和索引,因此查询速度非常快。
【讨论】:
他们对同一件事有不同的方法吗?
不,数据仓库是一个以易于分析的方式存储数据的地方 格式,OLAP是一种分析数据的方法。
不,他们真的做同样的事情! OLAP 比 DWH 更预先计算。 OLAP 就像 DWH 中的聚合
【讨论】: