viernes, 18 de enero de 2013

Modulo 3: Sistemas de Apoyo a la Toma de Decisiones - Inteligencia de Negocio


Hola,
Con estas líneas empiezo este blog, un nuevo comienzo después del trágico parcial con sus preguntas ambiguas y parecidas una de otra de proceso de negocios. Hace ya dos semana en clases estamos empezando el nuevo capitulo de Inteligencia de Negocio (BI) en la UCV.  En esta entrada hablaré sobre Inteligencia de Negocio (BI), Datawarehouse, Herramientas DSS, cubos OLAP, hechos y dimensiones... Quien avisa no es traidor. Espero no aburrirlos.

¿Qué es BI?

Las metodologías Business Intelligence utilizan la información para mejorar la gestión de las empresas.
Gracias al software de BI, los usuarios pueden acceder y analizar los datos con facilidad, y tomar mejores decisiones.

Gracias al software de BI, los usuarios pueden acceder y analizar los datos con facilidad, y tomar mejores decisiones.

Existen muchas maneras de analizar la información, y por este motivo existen un conjunto de soluciones que resuelven las diferentes necesidades analíticas. Concretamente, las soluciones que se encuadran dentro del amplio concepto BI son las siguientes:
  • Reporting: Herramientas para generación de listados, etc.
  • Analisis OLAP: Exploración, tablas dinámicas, etc.
  • EIS: Soluciones que permiten visualizar, de una forma rápida y fácil, el estado de una determinada situación empresarial, presente o pasada, y que permite detectar anomalías o oportunidades.
  • DSS: Aplicación informática que basándose en modelos matemáticos y mediante análisis de sensibilidad permite ayudar a la toma de decisiones (What-if?, etc.)
  • Data mining (¿o sistemas expertos?): Herramientas diseñadas para resolver problemas concretos que requieran muchos cálculos y análisis . Por ejemplo, una entidad financiera podría tener un ES para valorar la concesión o denegación de un crédito. Otro ejemplo: Un supermercado podría tener una aplicación de “basket analysis” diseñada para detectar productos que se compran conjuntamente.
He intentado ser muy breve en las definiciones. Tal vez en otra ocasión me extienda en las características de cada solución...


Sistemas OLAP 
    Los sistemas que se encargan de las transacciones diarias de una empresa, utilizan los sistemas de Procesamiento de Transacciones En Línea (OLTP), los cuales hacen énfasis en mantener la integridad de los datos y registrar eficazmente todas las transacciones que se realizan diariamente. Las bases de datos de un OLTP se caracterizan por tener un esquema entidad-relación modelado en 3FN.
   
    Por otro lado, los sistemas que se encargan del análisis de los datos, utilizan los sistemas de Procesamiento Analítico En Línea (OLAP), que se enfocan en las bases de datos corporativas, también conocidas como DataWarehouse.

    El DataWarehouse es un almacén de datos transformados y separados físicamente de una o varias fuentes distintas, por lo general, esas fuentes son las bases de datos OLTP. La ventaja principal de un DataWarehouse, radica en la estructura multidimensional en la que se almacenan los datos.



  El objetivo fundamental de un sistema OLAP, es permitir el análisis de datos, por lo que deben proveer funciones de consulta analítica y de apoyo a la toma de decisiones.

OLAP fue creado bajo las siguientes ideas:

- Estructura multidimensional: hacer sencilla la selección y navegación de los datos. 
- Lograr rapidez de respuesta: entregar la información a los usuarios finales en el menor tiempo posible.
- Posibilitar el análisis: ofrecer análisis numérico y estadístico de los datos.
- Compartir datos: incluye mecanismos de seguridad para compartir información entre diferentes usuarios.
- Recuperar información: acceder a los datos y recuperar información valiosa (solo lectura) para las diferentes aplicaciones clientes.

OLTP vs OLAP


 Los sistemas OLTP se encargan de procesar óptimamente multitud de pequeñas transacciones de captura de información (su entrada, modificación o eliminación), y los sistemas OLAP se dedican al análisis de enormes cantidades de información.

A continuación un cuadro comparativo entre los sistemas OLTP y OLAP:

A continuación también les dejo un cuadro comparativo entre los Sistema Tradicional y los Data Warehouse

Cubos

Una de las formas más populares de analizar la información es mediante el uso de cubos OLAP (o bases de datos multidimensionales). Básicamente, un cubo es una estructura de datos organizada mediante jerarquías. Cada indicador se puede evaluar en cualquiera de los niveles de las jerarquías. Así, por ejemplo, se pueden obtener las "ventas" a nivel diario, mensual, o a anual, para un cliente, una provincia, o un país…
El uso de cubos OLAP tiene dos ventajas fundamentales:
  • Facilidad de uso. Una vez construido el cubo, el usuario de negocio puede consultarlo con facilidad, incluso si se trata de un usuario con escasos o nulos conocimientos técnicos. La estructura jerárquica es sumamente fácil de comprender para la mente humana, y si ésta coincide con el modelo de negocio, los resultados suelen ser espectaculares, ya que el cubo se convierte en una gran "tabla dinámica" que el usuario puede consultar en cualquier momento.
  • Rapidez de respuesta. Habitualmente, el cubo tiene precalculados las distintas agregaciones, por lo que los tiempos de respuesta son muy cortos. Si el cubo está bien diseñado, resultará igual de rápido consultar las ventas de una ciudad, o las ventas de todo el país, o incluso el total de ventas de la compañía.
Sin embargo, no todo son ventajas… Estos son algunos de los inconvenientes:
  • El cubo es estructura adicional de datos que mantener y actualizar, eso supone un gasto extra de recursos (servidores, discos, procesos de carga…).
  • El modelo de negocio no siempre se adapta bien en un modelo jerárquico. Por poner algunos ejemplos típicos: Una semana no pertenece a un único mes, o las zonas de venta corporativas no tienen porqué coincidir con la estructura provincial de cada país, o varios responsables pueden encargarse de una misma tienda, o distintos departamentos de la compañía pueden utilizar distintas agrupaciones de los productos... Estas casuísticas, que pueden parecer triviales, son habituales en cualquier compañía, y dificultan enormemente la construcción y uso de los cubos OLAP…
La alternativa a los cubos son las habituales bases de datos relacionales. En estos casos, se suele hablar de cubos o herramientas ROLAP, donde el usuario tiene la sensación de estar trabajando con un cubo, aunque internamente existe una base de datos normal y corriente… Estos sistemas son bien conocidos, y siguen unos estándares más aceptados que en el caso de las bases de datos multidimensionales, por lo que -en mi opinión- siempre debería ser una opción a evaluar dentro de cualquier proyecto de Business Intelligence.
Desgraciada a afortunadamente, no existe una única solución que valga para todos las compañías y proyectos… Cada caso se tiene que estudiar y decidir, según las necesidades, si realmente vale la pena utilizar cubos OLAP. Me atrevo a lanzar la siguiente recomendación:
  • Un cubo no puede sustituir a un modelo relacional. Detrás de cada cubo, debería existir un único repositorio con la información normalizada… Es decir, primero normalicemos la información que queremos analizar y después, si en necesario, construyamos uno o varios cubos para los usuarios…