Relational Online Analytical Processing (ROLAP) is a kind of online analytical processing (OLAP) that analyzes data using multidimensional data models. ROLAP stores data in columns and rows (also known as relational tables) and retrieves the information on demand through user-submitted queries. A ROLAP database can be accessed through complex SQL queries to calculate information. ROLAP can handle large data volumes, but the larger the data, the slower the processing times.
Because queries are made on-demand, ROLAP does not require the storage and pre-computation of information. However, the disadvantage of ROLAP implementations is the potential performance constraints and scalability limitations that result from large and inefficient join operations between large tables.
Data processing may take place within the database system, a mid-tier server, or the client. In a two-tiered architecture, the user submits a Structure Query Language (SQL) query to the database and receives back the requested data. In a three-tiered architecture, the user submits a request for multidimensional analysis and the ROLAP engine converts the request to SQL for submission to the database. Then the operation is performed in reverse: the engine converts the resulting data from SQL to a multidimensional format before it is returned to the client for viewing. As is typical of relational databases, some queries are created and stored in advance. If the desired information is available then that query will be used which saves time. Otherwise, the query is created on the fly from the user request. Microsoft Access's PivotTable is an example of a three-tiered architecture.
ROLAP includes the following:
Implementation of aggregation navigation logic
Optimization for each DBMS back-end
Additional tools and services
Examples of popular ROLAP products include Metacube by Stanford Technology Group, Red Brick Warehouse by Red Brick Systems, and AXSYS Suite by Information Advantage.