datawarehouse

Guía para construir un DataWarehouse. Caso práctico

Número de visualizaciones
10/02/2017

En la era de la información y el desarrollo del Big Data, aparecen nuevos conceptos como el de datawarehouse que permiten manejar y trabajar con conjuntos masivos de datos.

Antes de desarrollar un caso práctico de datawarehousing vamos a introducir algunas ideas iniciales necesarias, para entender de qué estamos hablando.

¿Qué es un DataWarehouse?

Traducido como almacén de datos, se trata de una base de datos corporativos que se caracteriza por integrar y depurar la información para luego procesarla, permitiendo el análisis de la información desde distintos puntos de vista.  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.

Un poco de historia…

El concepto de DataWarehouse nación en la década de los 80, en la empresa IBM. Los investigadores que la desarrollaron buscaban establecer un sistema que permitiera un manejo fluido y permanente de datos que fuera al mismo tiempo organizado de acuerdo a necesidades específicas. Estos datos podían ser muy variados y abarcar diferentes áreas de la empresa. De este modo, no solo se ahorraría tiempo y energía, sino también los altos costos monetarios de los sistemas que se utilizaban previamente.

Características  de un Datawarehouse

La ventaja principal de estos sistemas se basa en la estructura de la información, que supone el almacenamiento de los datos de forma homogénea y fiable, en una estructura basada en la consulta y el tratamiento jerarquizado de la misma, y en un entorno diferenciado de los sistemas operacionales. Según Bill Inmon, quien acuñó el término, el Datawarehouse se caracteriza por ser:

  • Integrado: Los datos almacenados tienen que ser integrados en una estructura consistente, lo que conlleva a la eliminación de las inconsistencias existentes entre sistemas de operaciones.
  • Temático: Para facilitar el acceso a los datos y el entendimiento de ellos se suelen organizar por temas.
  • Histórico: Permite almacenar datos en momentos concretos, para realizar análisis de tendencias en esos momentos o periodos de tiempo y poder realizar comparaciones entre esos valores tomados.
  • No volátil: Esto implica que la información almacenada en el Datawarehouse es para ser leída pero no modificada. Por lo que la información es permanente.

Otra característica importante del datawarehouse es que contiene metadatos, es decir, datos sobre los datos. Los metadatos permiten saber la procedencia de la información, su periodicidad de refresco, su fiabilidad, forma de cálculo, etc.

Los metadatos serán los que permitan simplificar y automatizar la obtención de la información desde los sistemas operacionales a los sistemas informacionales.

¿Qué nos aporta la implementación de un Datawarehouse?

  • Proporciona una herramienta para la toma de decisiones en cualquier área funcional, basándose en información integrada y global del negocio
  • Facilita la aplicación de técnicas estadísticas de análisis y modelización para encontrar relaciones ocultas entre los datos del almacén
  • Proporciona la capacidad de aprender de los datos del pasado y de predecir situaciones futuras en diversos escenarios
  • Simplifica dentro de la empresa la implantación de sistemas de gestión integral de la relación con el cliente
  • Supone una optimización tecnológica y económica en entornos de centro de información, estadística o de generación de informes.

Supuesto práctico de Datawarehouse

Introducidos los conceptos anteriores, vamos a exponer a continuación un ejemplo que iremos elaborando a partir de las diferentes fases de construcción de un datawarehouse.

“La compañía de alquiler de vehículos Rent4you desea diseñar un datawarehouse como sistema de soporte de ayuda a la toma de decisiones estratégicas. La compañía tiene varias sucursales, en las cuales ofertan alquileres de una amplia variedad de vehículos como, coches, motos, caravanas, furgonetas, etc.

El datawarehouse pretende centralizar la información de todas las sucursales con el objetivo de definir nuevas estrategias de negocio. Se quiere analizar tanto las ventas (alquileres realizados en cada sucursal) así como los gastos para poder estudiar cuáles son los puntos de venta que más beneficios aportan, los perfiles de los clientes por tipo de vehículo para ajustar los seguros, la eficiencia de los empleados por sucursal, etc.

El datawarehouse se va a alimentar de grandes bases de datos operacionales como son la de ventas, gastos, clientes y administración de RRHH.”

Fases de Construcción

En la etapa de construcción vamos a modelar las tablas relacionales en una gran estructura desnormalizada compuesta por tabla de hechos, y tablas más pequeñas que definirán las n-dimensiones llamadas tablas de dimensiones.

El modelo dimensional divide el mundo de los datos en dos grandes tipos: las medidas y las dimensiones de estas medidas. Las medidas, siempre son numéricas, se almacenan en las tablas de hechos y las dimensiones son textuales y se almacenan en las tablas de dimensiones.

La tabla de hechos es por tanto, la tabla primaria del modelo dimensional, y contiene los valores del negocio que se desea analizar. Entendidos estos conceptos pasamos a detallar a continuación los pasos a seguir en la construcción del datawarehouse.

1.    Análisis y diseño del modelo en estrella

En esta primera etapa de construcción se lleva a cabo el modelado de los datos, en el que se determinan las tablas de dimensiones y la tabla de hechos.

estrella

2.    Programa de carga de las tablas de dimensiones y de hechos

En esta etapa se debe llevar a cabo el proceso ETL (Extracción, transformación y carga) que permita leer las tablas de los sistemas transaccionales para que puedan ser cargadas en las tablas de dimensiones. En este proceso se deben considerar todas las restricciones y lógica exclusiva y necesaria para almacenar los datos. Por ejemplo, puede ocurrir que dos empleados de sucursales diferentes tengan el mismo código de empleado, por lo que será necesario el uso de tablas de equivalencias o conversión durante el proceso ETL para evitar inconsistencia y duplicidad de los datos.

Lo primero a tener en cuenta para el proceso ETL es la periocidad, la cual debe establecerse en base a las necesidades del negocio, es decir, con qué frecuencia es necesario tener los datos actualizados para el análisis. También debe contemplarse la disponibilidad de los recursos, tanto de las fuentes de datos (de las que se nutre el datawarehouse) como la del propio datawarehouse, ya que el rendimiento será afectado durante el proceso ETL.

En nuestro caso de estudio, se podría establecer la política de actualización de los datos de manera mensual, extrayendo las transacciones del mes vencido en la madrugada del primer día del mes siguiente. Esta periocidad es suficiente para los analistas, y se establece en un período de tiempo en el que hay disponibilidad de recursos para el procesamiento y no se interrumpe el uso normal de las fuentes de datos.

diagrama_ETL

Esquema del proceso ETL

3.    Desarrollo de cubo OLAP

Los cubos OLAP son las herramientas que se basan en la capacidad de analizar y explorar los datos, nos proporcionan un análisis interactivo por las diferentes dimensiones de los datos (por ejemplo, tiempo, producto, cliente, criterios geográficos, etc.) y por los diferentes niveles de detalle. En el siguiente enlace se explica cómo crear un cubo OLAP a partir de Excel 2010.

En conclusión, en el desarrollo de un datawarehouse o almacén de datos  se debe tener muy clara la información que se pretende analizar y qué objetivos se persiguen, ya que es la base del proceso ETL que nos permite nutrir de información las tablas de hechos y dimensiones definidas para nuestro almacén de datos.

4+
Categorizado en: Análisis de Datos

22 Comentarios

  1. Manuel Alejandro dice:

    Hola buenos días o buenas tarde, soy un estudiante de ing de sistemas y me dejaron un trabajo sobre data warehouse, si me puede ayudar con que herramienta puedo realizar un método para construir un modelo molap y olap, me puede colaborar gracias.

    0
  2. Yoly Vanessa Vasco dice:

    Excelente artículo, mil gracias, pero por los costes…¿Qué alternativas tienen las PyMEs para implementar un DWH?

    1+
  3. Santiago dice:

    Gracias por su aporte a la sociedad es muy practica y excelente su enseñanza felicitaciones

    1+
  4. Kemi dice:

    como puedo hacer un refrescado incremental a un DWH en SQL Server mediante las herramientas ETL??

    1+
  5. Jefferson dice:

    Podrian emviaramelo en excel porfavor

    0
Ver más comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre MasterClass de INESEM. Una plataforma en la que profesionales enseñan en abierto

Profesionales enseñando en abierto