Diseño de un data warehouse: definiciones

Con la vista puesta de entrar en detalle a hablar sobre el diseño de un data warehouse, vamos a definir conceptos básicos: tabla de hecho, dimensión y métrica.

Si bien en las estructuras relacionales existentes en nuestras bases de datos transaccionales tenemos que crear un diseño lógico siguiendo las formas normales, en el data warehouse no debe seguirse ese patrón de diseño. La idea principal es que la información sea presentada desnormalizada para optimizar la consultas. Para ello debemos identificar en el seno de nuestra organización, los procesos de negocio, las vistas para el proceso de negocio y medidas cuantificables asociadas a los mismos. De esta manera hablaremos de:

  • Tabla de hecho: es la representación en el data warehouse de los procesos de negocio de la organización. Por ejemplo, una venta puede identificarse como un proceso de negocio de manera que es factible, si corresponde en nuestra organización, considerar la tabla de hecho ventas.
  • Dimensión: es la representación en el data warehouse de una vista para un cierto proceso de negocio. Si regresamos al ejemplo de una venta, para la misma tenemos el cliente que ha comprado, la fecha en la que se ha realizado,… Estos conceptos pueden ser considerados como vistas para este proceso de negocio. Puede ser interesante recuperar todas las compras realizadas por un cliente. Ello nos hace entender por qué la identificamos como una dimensión.
  • Métrica: son los indicadores de negocio de un proceso de negocio. Aquellos conceptos cuantificables que permiten medir nuestro proceso de negocio. Por ejemplo, en una venta tenemos el importe de la misma.

Dado que hemos hablado de que en el data warehouse (que en definitiva es una base de datos) las tablas están desnormalizadas es natural que para nuestro siguiente post continuemos hablando sobre este tema.

¿Qué es una Staging Area?

Continuando con la temática del post anterior, volvemos a lo básico. Tenemos tiempo para proyectarnos sobre situaciones más complejas. Ya sabemos que para poder consolidar conocimientos a veces es necesario recordar los conceptos básicos.

Existen situaciones, como por ejemplo la heterogeneidad de las fuentes de datos y la complejidad de los mismos, en las que en el momento de construir un data warehouse, es lícito plantearse el uso de una Staging Area.

Se entiende por Staging Area el sistema que permanece entre las fuentes de datos y el data warehouse con el objetivo de:

  • Facilitar la extracción de datos (los procesos ETL) desde las fuentes de origen de carácter múltiple realizando un pretratado.
  • Realizar lo que se conoce como data cleansing (limpieza de datos).
  • Mejorar la calidad de datos.
  • Ser usado como cache de datos operacionales con el que posteriormente se realiza el proceso de Data Warehousing.
  • Uso de la misma para acceder en detalle a información no contenida en el Data warehouse.

¿Cuándo se estable conveniente usar una staging area en un proyecto de Data Warehousing? Depende de la estructura informacional de nuestra organización, así mismo de si es necesario algunos de los puntos anteriores.