ROLAP significa Procesamiento Analítico OnLine Relacional, es decir, se trata de sistemas y herramientas OLAP (Procesamiento Analítico OnLine) construidos sobre una base de datos relacional. Es una alternativa a la tecnología MOLAP (Multidimensional OLAP) que se construye sobre bases de datos multidimensionales. Ambos tipos de herramientas, tanto ROLAP como MOLAP, están diseñadas para realizar análisis de datos a través del uso de modelos de datos multidimensionales, aunque en el caso de ROLAP estos modelos no se implementan sobre un sistema multidimensional, sino sobre un sistema relacional clásico.
Los sistemas ROLAP difieren significativamente de los MOLAP en que los primeros no requieren, en principio, la computación previa ni el almacenamiento de la información, ya que pueden acceder directamente a la fuente de dichos datos, las herramientas ROLAP acceden a los datos de una base de datos relacional y generan consultas SQL para calcular la información al nivel apropiado cuando un usuario final lo requiere.
Aunque las aplicaciones ROLAP se construyen sobre sistemas de bases de datos relacionales, generalmente estas bases de datos deben ser diseñadas cuidadosamente para el uso de ROLAP. Una base de datos diseñada para procesamiento de transacciones (OLTP) no funcionará bien como base de datos ROLAP. Este diseño específico puede conllevar la creación de tablas de base de datos adicionales (tablas resumen o agregaciones) las cuales resumen los datos en cualquier combinación deseada de dimensiones. Este mecanismo puede agilizar el acceso a datos precalculados mejorando el rendimiento del sistema ROLAP, pero, en este caso, se debe crear una copia adicional de los datos si estos no se grabaron directamente en las tablas ROLAP, sino que provienen de tablas OLTP. Sin embargo, dado que se trata, en ambos casos (ROLAP y OLTP), de una base de datos relacional, pueden utilizarse cualquiera de las técnicas existentes para el acceso y gestión de la misma y la migración de datos entre bases de datos relacionales.
En un sistema ROLAP, la información se almacena en tablas de una base de datos relacional. En este diseño tiene una especial importancia la denominada tabla de hechos, que es donde se almacena la historia de alguna magnitud relevante para la empresa que necesita ser estudiada de forma exhaustiva, como por ejemplo, las ventas.
Adicionalmente, esta tabla de hechos estará ligada a otras tablas en las que se almacenarán los parámetros en función de los cuales varía la magnitud a estudiar, estos parámetros reciben el nombre de dimensiones; típicamente, para el caso del estudio de la magnitud ventas, las dimensiones podrían ser: el tiempo (por días, semanas, horas, ... según interese), los productos, las zonas geográficas (regiones, países, ciudades, códigos postales, ...), los clientes, los almacenes o centros de producción, las promociones, etc.
Finalmente, el diseño de estas tablas dará lugar a una estructura en cuyo centro estará la tabla de hechos y, alrededor de esta y relacionadas con ella, estarán las tablas para las dimensiones, dando lugar a un esquema en estrella.
Podría darse el caso de que se quisiera jerarquizar alguna de las dimensiones, por ejemplo, el tiempo se podría indicar por días, pero quizá interese poder agruparlo por semanas, por meses, por cuatrimestres y/o por años; los clientes se podrían clasificar por sexos (hombre, mujer); los productos podrían estar agrupados por categorías, etc. La construcción de este diseño implicaría añadir nuevas tablas que se relacionarían con las dimensiones de la tabla de hechos central. A este diseño se le llama esquema en copo de nieve.
Una vez finalizado el diseño de este sistema, se tiene una estructura que se identifica con un cubo OLAP. Un almacén de datos dispondrá de varios de estos cubos, uno por cada magnitud (o conjunto de magnitudes si éstas dependen de las mismas dimensiones) de interés para la empresa.
Se discuten seguidamente las ventajas y desventajas de ROLAP, centrándose en aquellos aspectos que son comunes de la mayoría de las herramientas ROLAP y MOLAP disponibles hoy. En algún caso podría haber herramientas que sean una excepción de las generalizaciones que a continuación se indican.
La construcción de herramientas OLAP sobre sistemas relacionales presenta algunas ventajas frente a los sistemas multidimensionales:
Hay un consenso general en la industria de que las herramientas ROLAP tienen menor rendimiento que las herramientas MOLAP.
En la industria OLAP, se percibe como ROLAP es capaz de escalar a grandes volúmenes de datos, pero sufre de un rendimiento menor en la ejecución de consultas (comparado con MOLAP). El OLAP Survey, la mayor encuesta independiente a través de los principales productos OLAP, duranter 5 años (2001 a 2005), encontró que las compañías que usan ROLAP informan de menor rendimiento que aquellas que usan MOLAP. Sin embargo, se pueden entrever asuntos menores que pueden tomarse en cuenta cuando se interpretan los resultados de dicha encuesta:
Algunas compañías usan ROLAP porque quieren reutilizar las tablas de las bases de datos relacionales existentes, frecuentemente estas tablas no tendrán un diseño óptimo para uso OLAP. La flexibilidad de las herramientas ROLAP permite que funcionen, pero el rendimiento decae si no se ha realizado un diseño adecuado de las tablas. Las herramientas MOLAP en cambio forzarían a que los datos sean recargados en un diseño OLAP óptimo.
El coste adicional de los procesos ETL para migrar datos a una herramienta MOLAP y el pobre rendimiento de consulta en los sistemas ROLAP ha generado que la mayoría de las herramientas comerciales OLAP usen un modelo "OLAP Híbrido" (HOLAP), el cual permite al diseñador del sistema decidir que porción de los datos serán almacenados en modo multidimensional (MOLAP) y que porción de los datos en modo relacional (ROLAP)....
Algunas ejemplos de productos comerciales que usan ROLAP son: