jueves, 22 de octubre de 2015

Fuentes de datos y área de staging en un Data Warehouse (DWH)

Por: Edgar Barrios

Para entrar más en detalle sobre las áreas involucradas en la construcción de un DWH, hoy vamos a hablar sobre las fuentes de datos y el área de staging, donde con un ejemplo práctico se podrá comprender mejor la idea expresada. 

Vamos a suponer que se desea construir un DWH que contiene las ventas por vendedor, cliente, producto y fecha, y que la fuente de la información es una Base de Datos que tiene el diagrama E-R que se muestra en la siguiente imagen (Fuente de la data):
                                        


Al momento de comenzar con la implementación, se debe definir cuales tablas del origen de datos serán útiles en la construcción del DWH, esto se debe a que quizás no todas las tablas de la fuente van a aportar información, por lo tanto lo ideal es no incluirlas.

Luego de tener definidas las tablas del origen de datos que se van a utilizar en la construcción del DWH, se procede a construirlas en el área de staging, en esta área estas tablas son conocidas como tablas planas. En la construcción de estas tablas se deben respetar los nombres y tipos de datos que se tienen en la fuente.

El siguiente paso es verificar que atributos comunes existen entre las tablas planas, de modo tal que aquellas tablas que compartan atributos comunes puedan ser integradas para formar dimensiones. Por ejemplo, las tablas Customer_Type y Customer se convierten en la dimensión D_Customer. Las tablas resultantes de la integración de tablas planas, se conocen en el área de staging como tablas de dimensión.

Para el ejemplo se van a utilizar todas las tablas de la fuente, por lo tanto las tablas planas que se deben crear en el staging son las siguientes:

       Customer Type
       Customer
       Sales Area
       Sales Rep
       Product Line
       Product Type
       Product
       Order Header
       Order Detail

Luego se procede a crear las tablas de dimensión (se recuerda que estas tablas serán alimentadas por las tablas planas):

       D_Customer: contendrá integrada toda la información proveniente del origen de datos que está asociada a los clientes.

       D_Sales_Rep: contendrá integrada toda la información proveniente del origen de datos que está asociada a los vendedores.

       D_Product: contendrá integrada toda la información proveniente del origen de datos que está asociada a los productos.

       D_Date: no proviene del origen de datos. Se debe generar y debe comprender periodos de fecha de interés.

Es importante acotar que si el llenado de las tablas de dimensión es muy lento, se deben crear índices sobre las tablas planas, asegurándose de crear solamente aquellos índices que sean estrictamente necesarios.

Las tablas de dimensión deben poseer como clave primaria la clave de negocio existente en la información de la fuente, por ejemplo para la dimensión cliente, la clave primaria podría ser el Id de usuario o la cedula de identidad. También se deben crear índices sobre estas tablas, lo cuales estarán regidos por las jerarquías definidas en cada dimensión.

 Con esto podemos cerrar el tema relacionado a las fuentes de datos y el área de staging, en un próximo artículo hablaremos sobre el área de DWH siguiendo con la idea mostrada en este ejemplo.

1 comentario: