domingo, 20 de septiembre de 2009

Tecnologías para la inteligencia de negocios

Una compañera de trabajo está realizando un trabajo para su universidad en el cual realizó un resumen de los planteamientos de William Inmon en su libro Building the Data Warehouse. He aquí sus planteamientos.

1. Inteligencia de Negocio

Inteligencia de negocios se define como una arquitectura y una colección de operaciones integradas que buscan dar apoyo a la toma de decisiones y facilitar el acceso a los datos del negocio.

La inteligencia de negocios facilita actividades como el análisis multidimensional, análisis de clasificación, minería de datos, análisis de negocios, manejo del conocimiento, implementación de un portal empresarial, data marts, almacenamiento de datos operacionales, entre otros.

2. Data WareHouse - DWH

Puede definirse como la unión de sus data marts contenidos. Esta conformada por dimensiones y tabla de hechos que buscan consolidar información de una o más fuentes distintas, para luego procesarla permitiendo su análisis desde infinidad de perspectivas y con grandes velocidades de respuesta. La creación de un datawarehouse representa en la mayoría de las ocasiones el primer paso, desde el punto de vista técnico, para implantar una solución completa y fiable de Business Intelligence.

La ventaja principal de una data warehouse radica en las estructuras en las que se almacenan los datos, modelos de tablas en estrella, en copo de nieve, cubos relacionales, entre otros. Este tipo de persistencia de la información es homogénea y fiable, y permite la consulta y el tratamiento jerarquizado de la misma (siempre en un entorno diferente a los sistemas operacionales).

Según definición de Bill Inmon, un datawarehouse se caracteriza por ser:

Integrado: los datos almacenados en el datawarehouse deben integrarse en una estructura consistente, por lo que las inconsistencias existentes entre los diversos sistemas operacionales deben ser eliminadas. La información suele estructurarse también en distintos niveles de detalle para adecuarse a las distintas necesidades de los usuarios.

Temático: sólo los datos necesarios para el proceso de generación del conocimiento del negocio se integran desde el entorno operacional. Los datos se organizan por temas para facilitar su acceso y entendimiento por parte de los usuarios finales. Por ejemplo, todos los datos sobre clientes pueden ser consolidados en una única tabla del datawarehouse. De esta forma, las peticiones de información sobre clientes serán más fáciles de responder dado que toda la información reside en el mismo lugar.

Histórico: el tiempo es parte implícita de la información contenida en un datawarehouse. En los sistemas operacionales, los datos siempre reflejan el estado de la actividad del negocio en el momento presente. Por el contrario, la información almacenada en el datawarehouse sirve, entre otras cosas, para realizar análisis de tendencias. Por lo tanto, el datawarehouse se carga con los distintos valores que toma una variable en el tiempo para permitir comparaciones.

No volátil: el almacén de información de un datawarehouse existe para ser leído, pero no modificado. La información es por tanto permanente, significando la actualización del datawarehouse la incorporación de los últimos valores que tomaron las distintas variables contenidas en él sin ningún tipo de acción sobre lo que ya existía.

3. Data Mart

Se define como una estructura de datos departamental, especializada en el almacenamiento de los datos de un área de negocio específica. Se caracteriza por disponer la estructura óptima para analizar la información al detalle desde todas las perspectivas que afecten a los procesos de dicho departamento. Un data mart puede ser alimentado desde una bodega de datos, o integrar por sí misma un consolidado de distintas fuentes de información.

Ventajas de un data mart:

Poco volumen de datos
Mayor rapidez de consulta
Consultas SQL y/o MDX sencillas
Validación directa de la información
Facilidad para la historización de los datos


4. Arquitectura de un DWH

Los Data Warehouse y sus arquitecturas varían dependiendo de la situación específica de cada organización y entre muchos de los problemas que deben abordar y solucionar, respecto a lo que a la extracción de datos se refiere, se destacan los siguientes:


  • Integración de los datos, dado que una situación normal en estos entornos es que cada una de las bases de datos esté soportada por gestores de diferentes fabricantes.
  • Elegir el momento en que se produce la carga del Data Warehouse. Lo importante en este tema se centra en que esta extracción se debe realizar en un momento en que todas las bases de datos estén en un estado estable de tal forma que se minimicen las posibles incoherencias.
  • Para realizar la carga no se puede parar la operatividad diaria de los sistemas fuente. Esto lleva a que hay que diseñar y preparar los procedimientos necesarios para minimizar el tiempo destinado a ello (normalmente se dispondrá de ventanas de tiempo bastante cortas y que pueden obligar a cargas parciales.
  • Se realiza una carga sobre una zona temporal sobre la que sí está permitido hacer transformaciones asociadas a la integración y comprobación de coherencia anteriormente mencionadas. En cualquier caso, el paso a la zona temporal se debe realizar sin ningún tipo de estructura para evitar retrasos indebidos, pero cuando se realice la carga a la Data Warehouse ya deben estar estructurados de acuerdo a su diseño final.

    5. Modelamiento de DWH

    Existen varios tipos de Modelamiento de una DWH: estrella, copo de nieve, starflakes y constelación.

    En un esquema estrella, existe una fact table y un conjunto de dimensiones. La integridad referencial esta dada entre la fact table y las dimensiones. Estas tablas de dimensiones pueden contener redundancia, especialmente si se manejan jerarquías.

    En un esquema copo de nieve se evita la redundancia de estrellas por la normalización de los esquemas de las tablas de dimensión. Por lo tanto, una dimensión está representada por varios tablas relacionadas por un constraint de integridad referencial.

    Un esquema copo-estrella (starflake) es una combinación entre un modelo estrella y un modelo de copo de nieve donde algunas dimensiones son normalizadas mientras otras no lo son.

    Un esquema constelación, tiene múltiples fact tables que comparten dimensiones Este tipo de esquemas incluyen tanto dimensiones normalizadas como desnormalizadas.

    6. Metodología para el diseño de un DWH

    Existe una amplia variedad de enfoques que se han propuesto para el diseño de un DWH. Sin embargo existen dos métodos más utilizados para diseñar DWH y sus respectivos data marts.
  • Diseño Top-down: Se crea un esquema general donde se encuentra toda la información y contiene data marts acorde con característica particulares de cada área de negocio o proceso.
  • Diseño Bottom-up: Cada data mart tiene su respectivo esquema teniendo en cuenta los requerimientos de los usuarios de cada área de negocio. Más adelante los esquemas son consolidados en una sola bodega de datos.

    7. Diferencias entre OLAP y OLTP

    Cuanto se habla de aplicaciones OLTP (On Line Transaction Processing), se hace referencia a una aplicación de gestión de transacciones donde se realizan tareas repetitivas y estructuradas y las transacciones se caracterizan por ser cortas. Las aplicaciones OLAP (On Line Analytical Processing) refieren a sistemas que dan soporte para toma de decisiones (DSS) y está caracterizada por actualizaciones poco frecuentes y consultas muy complejas.

    8. Modelo Multidimensional

    Se considera un modelo multidimensional, aquel modelo de datos como conjuntos de medidas descritas por dimensiones. Está enfocado en el trabajo con datos numéricos y busca facilitar la visualización y entender el modelado entidad-relación (E/R).

    9. Modelamiento de ETL

    ETL es conocido como el proceso de Extracción, Transformación y Cargue. En la fase de diseño conceptual se determina el mapeo necesario entre los datos fuente y los datos de la bodega. Luego en la fase de diseño lógico, se considera no solo el mapeo sino los atributos a tener en cuenta y la secuencia de cargue de éstos. Dependiendo del tipo de datos a almacenar en la bodega de datos, el ETL tendrá poca o mucha complejidad. Un proceso de ETL debe incluir procesos de ETL para cargue histórico, para cargue diario y para actualización de datos.


    Bibliografía: INMON, William H. Building the Data Warehouse. Fourth Edition. 2005 Wiley Publishing, Inc. Indianapolis, IN USA