mysqlolapmondrianrolapolap4j

Why use ROLAP instead of plain MySQL?


Are there any performance advantages in using a ROLAP server such as Mondrian on top of a MySQL database, as opposed to simply querying the MySQL database?

I am asking this in the context in which most of my queries will be relatively simple (such as finding all the sales in a certain period), but the size of the database is rather large (hundreds of thousands of entries).

My idea was to use OLAP to speed up queries, but now I'm confused as to whether or not this is actually the purpose of this technology, especially in its ROLAP form. While trying the olap4j API, I realized that I can use it to make MDX queries without even having an actual OLAP server (just having a relational database and an OLAP schema for it). How could that be of any use in terms of performance?

Thanks


Solution

  • It depends on how you're going to use it.

    OLAP is a tool for simplifying complex data analysis. If your queries are static and simple, then don't use ROLAP. It would add unnecessary overhead.

    On the other hand, if you need to do complex and detailed interactive data analysis for reporting and business intelligence, then by all means use ROLAP.

    UPDATE: If you need high-performance OLAP for MySQL, you should take a look at this post on the MySQL performance blog for a discussion of the differences in performance of various approaches and tools.