OLAP (online analytical processing) is a data processing technology that involves preparation of aggregated information based on large data sets structured according to a multi-dimensional principle. Implementations of OLAP technology form components of Business Intelligence software solutions.
The main reason for using OLAP for query processing is speed. Relational databases store entities in separate tables, which are usually well-normalised. This structure is convenient for operational databases (OLTP systems), but complex multi-table queries in it are performed relatively slowly.
An OLAP structure created from operational data is called an OLAP cube. A cube is built from a combination of tables using a star or snowflake schema. At the centre of the star schema is a fact table that contains key data on which queries are made. Multiple tables with dimensions are attached to the fact table. These tables show how aggregated relational data can be analysed. The number of possible aggregations is determined by the number of ways in which the original data can be hierarchically displayed.
There are three types of OLAP:
Each type of storage has certain advantages, although there are differences in their evaluation among different manufacturers. MOLAP is best suited for small data sets, as it quickly calculates aggregates and returns responses, but generates huge amounts of data in the process. ROLAP is considered a more scalable solution that also uses the smallest possible space. At the same time, processing speed is significantly reduced. HOLAP falls directly in between of these two approaches – it scales well enough and is quickly processed. The R-ROLAP architecture allows you to perform multi-dimensional analysis of OLTP data in real time.
- Multi-dimensional OLAP (MOLAP) is a classic form of OLAP, so it is often referred to simply as OLAP. It uses a summing database, a special version of the spatial database processor, and creates the required spatial data schema, preserving both the base data and the aggregates.
- Relational OLAP (ROLAP) works directly with relational storage, facts and tables with dimensions stored in relational tables, and additional relational tables are created for storing aggregates.
- Hybrid OLAP (HOLAP) uses relational tables to store basic data and multi-dimensional tables for aggregates.