Reporting OLAP

Descripción

En muchas ocasiones nos ha tocado conversar con algunos clientes que asocian el término OLAP a la capacidad de poder pivotear datos desde filas a columnas o viceversa, sin embargo se sorprende cuando le decimos que eso no es una análisis OLAP sino una simple capacidad de pivoteo que tiene las herramientas de software y que la ha tenido Microsoft Excel hace muchos años.

Cuando le preguntamos:

  • ¿Cuánto haz dejado de ganar por la pérdida de tus últimos 10 clientes?
  • ¿Con qué producto obtienes el mayor beneficio económico en relación a la rentabilidad?
  • ¿Cuál de tus empleados generan el 80% de la rentabilidad de la compañía?
  • ¿Cuánto de los clientes que han reclamado en los últimos 6 meses y que no atendimos satisfactoriamente han generado un decremento de sus ventas en mas de 5% con respecto a las ventas del semestre anterior?

Para responder estas preguntas existen 2 formas:

  1. Forma Tradicional: Solicitando a un programador que haga un reporte con los datos que deseo ver, que incluya algunos filtros y la lógica para seleccionar a los clientes, productos o transacciones que deberán ser filtradas.  Estamos seguros que luego de un buen tiempo lo logrará pero ¿Si queremos otra consulta de este tipo deberemos volver a solicitársela y esperar por que sea atendida, – podría ser muy tarde – ?
  2. Forma Moderna: Utilizando un motor OLAP que a través de un vocabulario sencillo el propio usuario podrá crear su reporte sin necesidad de solicitársela al equipo de TI.

El servicio

Arson Group puede ayudarlo a implementar un motor OLAP que le permita resolver sus consultas analíticas completas en tiempo real, para lo cual optamos por 3 mecanismos:

  1. Modo dependiente: Consiste  en conectar el motor OLAP a las fuentes mismas donde se encuentran los datos con la finalidad de poder hacer consultas en tiempo real.  El reto es no generar contención dado que los sistemas pueden estar guardando transacciones en ese mismo momento.
  2. Modo independiente: Consiste en crear un repositorio alterno, modelado de forma optima y preparado para realizar consultas OLAP, el cual se conecta a un motor OLAP capaz de resolver complejas consultas analíticas que involucran gran cantidad de registros en un tiempo casi excepcional.
  3. Modo Mixto: Consiste en tener cierta información en un repositorio independiente y otra parte conectada a las fuentes de datos de los sistemas operacionales a través de técnicas de federación de datos o simplemente usando adaptadores directos, contamos con algunos para los sistemas ERP workclass como PeopleSoft, Oracle EBS, SAP, etc.

La Arquitectura

Dependiendo de la volumetría, la complejidad de las consultas, la complejidad en las regla de negocios, los estándares de TI, la herramienta de presentación a utilizar, podemos recomendarles algunas de estas herramientas:

  • Oracle OLAP: Opción de la base de datos Oracle Enterprise
  • Oracle EssBase: Poderoso motor OLAP de Oracle, el cual se licencia de forma independiente de su Base de datos convencional
  • Microsoft SQL Server: Motor OLAP que funciona únicamente en Windows y es el preferido por las empresas que utilizan SQL Server.
  • Mondrian: Motor OLAP Open Source que funciona muy bien cuando usas Pentaho.

Otras Opciones Hibridas, que pueden ser usadas como base de datos para el repositorio y para el motor OLAP:

  • Oracle TimesTen: Podero cache que permite hacer análisis en meroria de los datos contenidos en un repositorio Oracle y No Oracle.
  • Infrobight: Motor que funciona en Oracle MySQL, el cual permite almacenar los datos por columnas, facilitando el análisis OLAP.

Sobre Oracle OLAP

Oracle OLAP utiliza un espacio de trabajo analítico en la base de datos para realizar un análisis OLAP. Oracle OLAP almacena los datos en la base de datos como cubos multidimensionales, que están diseñados para consultas y actualizaciones cada vez más rápidas. Los cubos están organizados por dimensiones, que actúan como claves para los datos de la realidad y definen la estructura básica del cubo. De muchas formas, un cubo es similar a un esquema star. El cubo desempeña el papel de la tabla de datos, y una dimensión OLAP desempeña el papel de una tabla de dimensiones. Las dimensiones pueden ser listas simples de miembros, o pueden estar organizadas en niveles y jerarquías. Las dimensiones jerárquicas permiten que los datos se agrupen desde niveles más bajos a niveles más altos de resumen. Respaldan la navegación, como los desgloses y ciertos tipos de cálculos como Share to Parent, Share within Ancestor y Rank within Parent. También respaldan muchos cálculos de serie de tiempo como Acumulado Anual. Estos tipos de cálculos son fáciles de definir dentro del administrador de espacio de trabajo analítico (la herramienta administrativa de Oracle OLAP 11g) y son eficientemente computados dentro del cubo en tiempo de ejecución.

Oracle OLAP 11g puede acortar significativamente los tiempos de procesamiento de consultas para los usuarios de herramientas de inteligencia de negocios basadas en SQL, como Oracle Business Intelligence Suite Enterprise Edition y otras herramientas externas. Oracle OLAP 11g también facilita la inclusión de cómputos en un cubo OLAP. Las capacidades de Oracle OLAP 11g son provistas dentro de Oracle Database, lo cual permite un control centralizado de los datos, reglas de negocio y seguridad.