TodoBI - Business Intelligence, Big Data, ML y AI TodoBI - Business Intelligence, Big Data, ML y AI

¿Que es OLAP?

olap2
En muchos de los artículos que aquí comentamos aparece el término OLAP . Aunque otras veces hablemos de multidimensional , de cubos ... nos referimos a lo mismo.
Dado que es uno de los temas que más me interesan voy a intentar explicar que significa, que características tiene y, sobre todo, para que nos puede ser útil.
OLAP significa ‘On-Line Analytical Processing’, que se contrapone con el término OLTP ‘On-Line Transactional Processing’. Término más habitual, que define los sistemas de bases de datos relacionales usadas ampliamente en el mundo empresarial.
En estos últimos sistemas lo importante es el registro de los datos, y en OLAP, lo importante es el análisis. Esta es la diferencia más general que os puedo dar. Pero existe mucho más.
Ver cubos en funcionamiento, desde informes y Cuadros de Mando ( Demo Online ). También puedes ver OLAP sobre tecnología Big Data

Es importante saber ésto, por que muchos vendedores dicen que tienen productos con capaciadad OLAP, cuando ésto no es cierto del todo.
Desde el punto de vista teórico un sistema OLAP debe cumplir las reglas del Dr. Codd , recientemente fallecido, y 'padre' del concepto:
  1. 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.
  2. 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.
  3. El motor OLAP 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.
  4. 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 .
  5. Creación de modelos basados en OLAP. Este requerimiento es muy subjetivo y depende de la complejidad de los modelos. Cuantos más tipos de modelo, mejor OLAP será.
  6. Arquitectura Cliente/Servidor, pensado como la posibilidad de que los usuarios interactuen y colaboren en la aplicación.
  7. 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.
  8. Acceso multiusuario a las aplicaciones, de forma concurrente, con posibilidad de modificaciones, estableciendo colas de trabajo, etc...
  9. Integracion de datos no normalizados en el cubo OLAP, que garanticen que las modificaciones en datos no origen no afectan a los datos finales.
  10. Mantener los cálculos y resultados de queries OLAP separados y almacenados en una ubicación diferente del sistema fuente.
  11. DIferenciación de los valores vacíos de los valores 0. Muy importante a la hora de realizar cálculos matemáticos.
  12. Posibilidad de ignorar todos los valores vacíos, las celdas del cubo sin datos.
  13. Flexibilidad en la creación de informes.
  14. Rendimiento uniforme de todos los informes, es otra forma de hacer 'transparente' la aplicación.
  15. El sistema OLAP 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.
  16. Posibilidad de crear dimensiones de cualquier tipo.
  17. Sin límite de dimensiones , niveles de agregación, jerarquías, etc... Debe ser la complejidad del negocio la que marque el límite.
  18. 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 :
- 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.
Mas info: MOLAP, ROLAP, HOLAP no es solo jerga  
Tags: Destacado, teoria