There are three standard storage modes in OLAP applications
MOLAP (Multi dimensional Online Analytical Processing) : MOLAP is the most used storage type. Its designed to offer maximum query performance to the users. the data and aggregations are stored in a multidimensional format, compressed and optimized for performance. This is both good and bad. When a cube with MOLAP storage is processed, the data is pulled from the relational database, the aggregations are performed, and the data is stored in the AS database. The data inside the cube will refresh only when the cube is processed, so latency is high.
· Since the data is stored on the OLAP server in optimized format, queries (even complex calculations) are faster than ROLAP.
· The data is compressed so it takes up less space.
· And because the data is stored on the OLAP server, you don’t need to keep the connection to the relational database.
· Cube browsing is fastest using MOLAP.
ROLAP (Relational Online Analytical Processing) : ROLAP does not have the high latency disadvantage of MOLAP. With ROLAP, the data and aggregations are stored in relational format. This means that there will be zero latency between the relational source database and the cube.
Disadvantage of this mode is the performance, this type gives the poorest query performance because no objects benefit from multi dimensional storage.
· Since the data is kept in the relational database instead of on the OLAP server, you can view the data in almost real time.
· Also, since the data is kept in the relational database, it allows for much larger amounts of data, which can mean better scalability.
· Low latency.
Hybrid Online Analytical Processing (HOLAP): HOLAP is a combination of MOLAP and ROLAP. HOLAP stores the detail data in the relational database but stores the aggregations in multidimensional format. Because of this, the aggregations will need to be processed when changes are occur. With HOLAP you kind of have medium query performance: not as slow as ROLAP, but not as fast as MOLAP. If, however, you were only querying aggregated data or using a cached query, query performance would be similar to MOLAP. But when you need to get that detail data, performance is closer to ROLAP.
· HOLAP is best used when large amounts of aggregations are queried often with little detail data, offering high performance and lower storage requirements.
· Cubes are smaller than MOLAP since the detail data is kept in the relational database.
· Processing time is less than MOLAP since only aggregations are stored in multidimensional format.
· Low latency since processing takes place when changes occur and detail data is kept in the relational database.