Why do OLAP cubes perform better than Relational databases on certain tasks

database-designolap

My team uses a Multidimensional OLAP database for a lot of it's analytics and predictive modeling. The standard line in all the documentation is "OLAP cubes are better suited for this type of application than relational databases".

On the other hand, you frequently hear that a relational database with a star or snowflake schema (sometimes called ROLAP) can do anything that a true OLAP database can do.

  1. Why is it exactly that OLAP is better for analytical processing, aggregating, etc… than the relational model?
  2. Is it true that ROLAP can do anything that a true OLAP can do, or are there still limitations or performance issues that can only be solved by using a true OLAP db?

Best Answer

OLAP cube stores data in an optimized way to provide a quick response to various types of complex queries by using dimensions and measures. Dimensions organize data with relation to an area of interest, such as customers, stores, or locations, time etc. Measure performs business-specific calculations to the required format. Both these drastically improves the performance of queries when come to reporting.

Advantages:

• High Speed of Data Processing

• Aggregated and Detailed Data

• Multidimensional Data Representation

Limitations:

• OLAP requires restructuring of data into a star/snowflake schema

• There is a limited number of dimensions (fields) a single OLAP cube

• It is nearly impossible to access transactional data in the OLAP cube

• Changes to an OLAP cube requires a full update of the cube

ROLAP and MOLAP are two models in OLAP. ROLAP creates a multidimensional view of data dynamically while MOLAP already stores the static multidimensional view of data in MDDBs.