谁能解释数据仓库和OLAP多维数据集之间的真正区别是什么?
他们在同一件事上有不同的做法吗?
与其他相比,其中一个被弃用了吗?
其中之一是否存在性能问题?
欢迎任何解释
Answers:
数据仓库是具有设计的数据库,该设计使分析数据更容易,更快捷,并且经常使用来自多个来源的数据。它通常具有一个维度模型,即事实表和维度表。
OLAP是一组可以对数据集执行的操作,例如旋转,切片,切块,钻孔。例如,一个人可以使用Excel PivotTables执行OLAP操作。有一些SQL语句这是“为OLAP”,例如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中考虑一个uber-pivot表)。
例如,在您的数据仓库中,您拥有所有销售,但是运行复杂的SQL查询可能很耗时。因此,您可以在数据仓库中创建一个多维数据集,该多维数据集对数据进行索引并进行预计算。在多维数据集中,您可以具有所有这些预先计算的维度:按月,按周,按销售人员,按客户,按地理区域,按产品颜色等的销售额。然后,您可以在多维数据集上运行OLAP查询,以获取总数,平均值和按(月,推销员,地区),(按颜色,区域)或按(推销员,月份)的最大销售额。由于所有数据都是预先计算和索引的,因此查询速度非常快。