我正在考虑尝试Oracle OLAP选项。有人能分享他们的经验吗?我没有发现很多关于这个问题的讨论/博客活动。特别是,我对跨不同时间段和使用过滤器的多维数据(数百列)的报告感兴趣。因此,我担心的是,OLAP多维数据集在引擎盖下执行的任何预聚合是否仍然会在复杂过滤的存在下给我带来相当大的性能提升?
下面是我所说的查询的一个例子:
给我A栏的平均值,按过去3年的月份加起来,表中所有在范围1,n B栏中有数值的人,或过去3个月1,m范围内C栏中的数值。
OLAP真的能够预先聚合这样复杂的查询吗?
还有,它提供什么样的表现?是否有有趣的基准?
发布于 2012-04-17 17:33:07
Oracle OLAP选项工作得很好。它确实是数据库中的一颗隐藏的宝石,没有多少人意识到它应该成为每一个基于Oracle数据库的BI和DW解决方案的一部分。这不是新服务器。它从20世纪70年代初就出现了,所以它甚至比Oracle数据库还要老。甲骨文于1995年购买了它,并将其“嵌入”在数据库中,从数据库的9.2版开始。
最新版本是11.2.0.2 (我将强烈推荐)。旧版本有一些问题。
一些有用的链接是这里
关于在BI/DW环境中使用Oracle OLAP选项的一些附加注释。
(1)。所有数据/计算都驻留在Oracle数据库中。
(2)。任何计算(或计算的度量),无论多么复杂,都可以用简单的分析语法在多维数据集中创建,这些语法在所有维度的所有级别上都能自动工作。
(3)。维度计算(或计算成员)可以通过OBIEE的计算项功能完成,也可以在数据库中“推送”,在数据库中可以非常容易地处理更复杂的维度计算。
(4)。任何类型的层次结构(基于级别或父-子)都可以处理。
(5)。使用OLAP_TABLE函数或CUBE_TABLE函数通过SQL查询检索数据。
(6)。为任何特殊报告提供更快的查询响应时间。
(7)。如果您正在使用Oracle的OBIEE (11.1.1.5或以后的版本),那么生成的查询是简单的SELECT...FROM..WHERE类型的查询。即使使用其他报告工具,查询仍然是简单的查询,因为在“关系”方面没有什么可做的。
(8)。根据需求,可以很容易地提供以下功能:钻取到细节(从聚合的多维数据集到关系事务),或者在相同的报表中合并关系数据和多维数据。
(9)。使用Oracle数据库资源,因此可伸缩以更快地构建多维数据集以及处理数百或数千名用户。
(10)。为Oracle DBA提供了非常广泛的日志记录功能,以监视查询和多维数据集构建。这是除了DBA使用的常规功能(如ASH,AWR,OEM等)。
(11)。不需要额外的硬件或DBA (与其他OLAP服务器相反)。
(12)。一个多维数据集可以替换数十个MVs和汇总表。在多维数据集中,数据存在于所有维度的所有级别。
发布于 2012-04-17 21:17:21
当我在2005年评估Oracle OLAP时,我对它有点不感兴趣,主要是因为它当时的前端工具支持很差(Discoverer 'Drake‘没有钻取支持,而且几乎没有第三方工具的支持)。最后,该项目使用了MS Analysis服务。
@Ali的帖子表明,它现在确实得到了OBIEE的支持,所以如果您有许可证,您可能可以在多维数据集上放置一个相当漂亮的前端。虽然他有些兴高采烈,但他的观点从根本上讲是正确的。
在回答你的问题时:
WHERE EXISTS的操作。这有点棘手,因为范例略有不同。实际上,大多数OLAP查询语言都有许多操作集合的操作符。您可以做一些计算匹配条件的人员集的事情,然后在查询的一个轴上使用它。很可能你无法通过终端用户工具上的点点击前端完成这一任务,而不需要编写查询或执行涉及操作set. 最终用户工具的中间阶段--用户工具使片和骰子查询操作简单,但不直接支持更复杂的查询,尽管许多查询将允许您输入手写查询。发布于 2012-04-18 11:06:23
@MK01 01您的场景是绝对完美的用例来创建Oracle OLAP多维数据集来处理临时报告。所有Oracle BI/DW系统都应该将Oracle OLAP多维数据集作为设计的一部分(或者作为DW聚合策略的一部分)。我的上一篇文章有一些有用的链接,请浏览这些链接。您可以在Oracle论坛上发布问题,也可以@ https://forums.oracle.com/forums/forum.jspa?forumID=16
现在立方体的刷新速度要快得多。您甚至可以非常快地每天加载/刷新Oracle OLAP多维数据集(从11.2.0.2版本开始),甚至在用户从多维数据集进行查询时也是如此。没有停机时间。
在11.2.0.2版本的Oracle数据库中,多维数据集的@ConcernedOfTunbridgeWells.....The调优变得更加简单。通过压缩立方体和基于成本的聚合,我们现在只需将所有维度设置为“稀疏”维度,只需将预计算%年龄设置为35%,然后olap引擎就会发挥它的神奇作用。另一个很大的查询性能改进是自动‘循环OPTMIZATION’技术,它现在只循环那些有数据的维度组合。这都是内部的。
创建计算-度量现在是容易的。您不需要OLAP语言。相反,您可以使用SQL分析语法来创建OLAP计算度量。
简而言之,Oracle OLAP多维数据集现在非常高效--与10 10gOLAP甚至11.1版本的数据库相比,在11.2.0.2版本中加载和查询都非常有效。
在olap讨论中,关键字(我一遍又一遍地重复)是“简单”。
。
https://dba.stackexchange.com/questions/12266
复制相似问题