在MySQL数据库之上使用诸如Mondrian之类的ROLAP服务器是否有任何性能优势,而不是简单地查询MySQL数据库?
我在上下文中询问这一点,我的大部分查询都相对简单(例如在一定时间内查找所有销售),但数据库的大小相当大(数十万条目)。
我的想法是使用OLAP来加速查询,但现在我对这是否真的是这项技术的目的感到困惑,特别是在其ROLAP形式中。在尝试olap4j API时,我意识到我可以使用它来进行MDX查询,甚至没有实际的OLAP服务器(只有一个关系数据库和OLAP架构)。怎么可能在性能方面有用呢?
由于
答案 0 :(得分:11)
这取决于你将如何使用它。
OLAP是一种简化复杂数据分析的工具。如果您的查询是静态且简单的,则不要使用ROLAP。这会增加不必要的开销。
另一方面,如果您需要对报告和商业智能进行复杂而详细的交互式数据分析,那么请务必使用ROLAP。
更新:如果您需要针对MySQL的高性能OLAP,您应该查看this post on the MySQL performance blog,以了解各种方法和工具的性能差异。
答案 1 :(得分:3)
OLAP允许以多个维度分析您的数据;每个维度可能(如果不总是)是“层次结构”(即树)。这允许您从大局(高度聚合的数据)到需要时的细节(向下钻取)。
此外,MDX语言和/或计算度量的强大功能使得复杂查询在纯SQL中非常困难,如果不是不可能的话。