Proseguimos con nuestra idea de ir dejando poco a poco, explicaciones sencillas de términos usados en Business Intelligence,
que empezamos hace unos días
, hoy le toca el turno al
MOLAP.
Bases de datos MOLAP (v. Multidimensional Online Analytical Processing - MOLAP),
Tanto los datos fuente como los datos agregados o precalculados residen en el mismo formato multidimensional. Optimiza las queries, pero requiere más espacio de disco y diferente software. El primer punto esta dejando ser un problema: el espacio de disco cada vez es más barato.
Desde el punto de vista teórico un sistema OLAP debe cumplir las reglas del
Dr. Codd
, 'padre' del concepto: Características:
- Se tiene que tener una visión multidimensional de los datos. Pensar en dimensiones y métricas de Negocio. No en tablas y en campos.
- La manipulación de los datos tiene que ser intuitiva y sencilla. Son los análistas y altos ejecutivos los que manejan estas herramientas, y hay que pensar en ello.
- El motor MOLAP debe ser un organizador intermedio para que las aplicaciones finales: Cuadros de mando, Scorecard, aplicaciones de análiticas financieras, etc... provean de datos al usuario.
- Posibilidad de acceder a datos almacenados directamente o en procesos batch, desde el relacional. Es decir, posibilidad de tener un sitema híbrido. Algo más parecido a un sistema HOLAP.
- Creación de modelos basados en MOLAP. Este requerimiento es muy subjetivo y depende de la complejidad de los modelos. Cuantos más tipos de modelo, mejor MOLAP será.
- Transparente para los usuarios. Se debe ocultar la capa de complejidad, de procesos batch, de cargas ETL... dejando sólo una capa de abstracción de negocio.
- Acceso multiusuario a las aplicaciones, de forma concurrente, con posibilidad de modificaciones, estableciendo colas de trabajo, etc...
- Integracion de datos no normalizados en el cubo MOLAP, que garanticen que las modificaciones en datos no origen no afectan a los datos finales.
- Mantener los cálculos y resultados de queries OLAP separados y almacenados en una ubicación diferente del sistema fuente.
- DIferenciación de los valores vacíos de los valores 0. Muy importante a la hora de realizar cálculos matemáticos.
- Posibilidad de ignorar todos los valores vacíos, las celdas del cubo sin datos.
- Flexibilidad en la creación de informes.
- Rendimiento uniforme de todos los informes, es otra forma de hacer 'transparente' la aplicación.
- El sistema MOLAP debe adaptar automáticamente su estructura según sean las dimensiones, métricas, etc... ésto no es fácil y, generalmente, requiere intervención manual.
- Posibilidad de crear dimensiones de cualquier tipo.
- Sin límite de dimensiones, niveles de agregación, jerarquías, etc... Debe ser la complejidad del negocio la que marque el límite.
- No establecer restricciones a las operaciones que crucen cualquier dimensión o elementos de la dimensión.
Desde un punto de vista práctico, me gustaría añadir algunas otras
características y recomendaciones
:
- Debe ser rápido. No debe transcurrir mucho tiempo entre la necesidad de información y el resultado.
- Debe tener un lenguaje funcional y de negocio.
- Debe ser de manejo sencillo, con wizards y templates.
- Debe poder integrar API.
- Debe tener potentes posibilidades gráficas.
- Debe utilizar mapas de forma habitual.
- Posibilidad de almacenar y compartir los informes y cálculos creados por los usuarios.
- La administración la deben llevar los usuarios, no IT.
- El tiempo de implementación (proyecto) debe ser muy corto.
- Deber generar respuestas medibles para la toma de decisiones.
- Tenemos que ser capaces de obtner ROI con las aplicaciones OLAP.
Algunas soluciones MOLAP (Analysis Services, Hyperion Essbase, Cognos OLAP, PALO, Oracle OLAP...)