【问题标题】:Why use ROLAP instead of plain MySQL?为什么使用 ROLAP 而不是普通的 MySQL?
【发布时间】:2011-12-26 01:40:36
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 数十万”不被视为“相当大”。数以亿计。
  • 是的,你是对的。这是我现在的规模,但未来肯定会增长。

标签: mysql olap mondrian rolap olap4j


【解决方案1】:

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

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

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

更新:如果您需要用于 MySQL 的高性能 OLAP,您应该查看this post on the MySQL performance blog,以讨论各种方法和工具的性能差异。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 2014-07-18
      • 2020-07-11
      • 2019-04-19
      • 1970-01-01
      相关资源
      最近更新 更多