12

与简单地查询 MySQL 数据库相比,在 MySQL 数据库之上使用诸如 Mondrian 之类的 ROLAP 服务器是否有任何性能优势?

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

我的想法是使用 OLAP 来加速查询,但现在我很困惑这是否真的是这项技术的目的,尤其是在它的 ROLAP 形式中。在尝试 olap4j API 时,我意识到我可以使用它来进行 MDX 查询,甚至不需要一个实际的 OLAP 服务器(只需一个关系数据库和一个 OLAP 模式)。就性能而言,这怎么可能有用?

谢谢

4

2 回答 2

11

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

OLAP是一种用于简化复杂数据分析的工具。如果您的查询是静态且简单的,则不要使用 ROLAP。它会增加不必要的开销。

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

更新:如果您需要 MySQL 的高性能 OLAP,您应该查看MySQL 性能博客上的这篇文章,讨论各种方法和工具的性能差异。

于 2011-11-10T11:05:39.267 回答
3

OLAP 允许从多个维度分析您的数据;每个维度都可能(如果不总是)是一个“层次结构”(即树)。这使您可以在需要时从全局(高度聚合的数据)到细节(向下钻取)。

此外,MDX 语言和/或计算度量的强大功能允许在纯 SQL 中进行复杂的查询,即使不是不可能,也是相当困难的。

于 2011-11-10T11:16:17.747 回答