为什么要使用ROLAP而不是普通的MySQL?

12

使用ROLAP服务器(如Mondrian)是否比仅查询MySQL数据库有性能优势?

我是在大多数查询相对简单的情况下提出这个问题的(例如查找某一时期内的所有销售),但数据库的大小相当大(有数十万条记录)。

我的想法是使用OLAP加速查询,但现在我对于这种技术(特别是ROLAP形式)的实际用途是否是这样感到困惑。尝试使用olap4j API时,我意识到即使没有实际的OLAP服务器(只有关系型数据库和一个针对它的OLAP模式),也可以使用它来进行MDX查询。在性能方面,这有什么用处呢?

谢谢


1
“数十万” 不被认为是 “相当大的”。数亿则会比较大。 - user330315
是的,你说得对。那是我现在拥有的尺寸,但它肯定会在未来增长。 - Epicurus
2个回答

11

这取决于你将如何使用它。

OLAP是一个简化复杂数据分析的工具。如果你的查询是静态和简单的,那么不要使用 ROLAP,因为它会增加不必要的开销。

另一方面,如果你需要进行复杂和详细的交互式数据分析以进行报告和商业智能,那么务必使用 ROLAP。

更新: 如果你需要高性能 OLAP 用于 MySQL,则应查看 MySQL 性能博客上的此文章,以讨论各种方法和工具的性能差异。


3

OLAP允许您在几个维度中分析数据; 每个维度可能是一个“层次结构”(即树)。(drilldown),这使您可以从宏观数据(高度聚合的数据)到需要详细信息时进行转换。

此外,MDX语言和/或计算度量的功能使得可以进行复杂的查询,而这在纯SQL中是相当困难甚至不可能的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接