2.3 El Data warehouse

2.3 El Data warehouse

2.3.1 Introducción

El término Data warehouse o Almacén de datos fue acuñado por Bill Inmon en 1990.

Yaestudio

Esta idea surgió debido a las necesidades informacionales de las empresas, entendiéndose como la necesidad de tener acceso a la información necesaria que sirva de base para la toma de decisiones tanto a escala estratégica como táctica. Años atrás se pusieron en práctica una serie de medidas para satisfacer estas necesidades pero no fueron suficientes debido a innumerables problemas como: consultas masivas y complejas de información que interferían en el rendimiento de otros procesos, limitada flexibilidad de navegación a través de la información, tiempo de respuesta elevado debido al acceso a múltiples lugares al mismo tiempo.etc. Inmon fue capaz de solventar esta serie de problemas gracias a la teoría del Data warehouse. Este sistema supone la centralización y almacenamiento de todas las fuentes de datos de la empresa en un solo lugar y de manera organizada e integrada. El objetivo era disponer de toda la información histórica de la empresa centralizada facilitando de esta manera el análisis, además de mantener la información con una estructura organizada unívoca y acorde a las necesidades de consulta, y alimentando el almacén con la información contenida en las aplicaciones de manera periódica para no dejar escapar ningún tipo de información. Utilizando las herramientas expuestas en el capítulo anterior sobre el contenido de un data warehouse es cuando obtenemos una solución completa de inteligencia de negocios. Por tanto, se puede afirmar que el data warehouse es imprescindible en cualquier solución de BI.

2.3.2 Definiciones

La teoría del data warehouse (DW) fue un gran impacto para el mundo corporativo. Este concepto fue introducido además de por Bill Inmon, por Ralph Kimball. Ambos autores coincidían en la base del concepto, pero discrepaban en una serie de diferencias según el punto de vista de cada uno en relación al concepto y el uso del data mart (subconjunto de información del data warehouse que hace referencia a un departamento o sector concreto de la empresa). A partir de estas diferencias cada uno de los autores definió el data warehouse según su punto de vista:

Devonn 

“Un data warehouse es una colección de datos orientada a un dominio, integrado, no volátil y variable en el tiempo que ayuda en la toma de decisiones en una organización”

(Bill Inmon, 1992)

 Cursos multimedia

Para este autor el data warehouse es una parte del sistema de la inteligencia de negocios. Los data marts se crean después de diseñar el DW y obtienen la información de éste, no siendo posible la consulta directa de información (se dice que la información no está almacenada de forma dimensional). Esta aproximación es conocida como “Top-down”.

“Un data warehouse es una copia de los datos de transaccionales especialmente estructurada para la consulta y el análisis”

(Ralph Kimball, 1992)

Para Kimball el data warehouse es el conjunto de todos los data marts existentes en la empresa, aunque normalmente se almacenen de forma separada. Bajo esta concepción la información está almacenada en un modelo dimensional y por tanto está lista para ser consultada. Esta aproximación se conoce como “Bottom-up”, una metodología ascendente a la hora de diseñar un almacén de datos.

En la actualidad estas diferencias carecen de importancia aunque se han dado casos en grandes empresas que la concepción de Inmon es mucho más efectiva que la de Kimball, ya que tener un data warehouse centralizado resuelve muchos problemas.

Por el contrario, la aproximación multidimensonal de Kimball ha terminado imponiéndose como estándar a la hora del diseño de data warehouses.

Para un concepto tan extenso y revolucionario, las definiciones dadas por Inmon y Kimball en su dia parecen escasas e incompletas. A lo largo de los años se han ido obteniendo definiciones más completas y detalladas:

“Un data warehouse es un conjunto integrado de bases de datos que se diseña y utiliza para apoyar en la toma de decisiones y en él cada unidad de datos es relevante en algún instante de tiempo, además, contiene información no sólo de bases de datos relacionales, sino de otras fuentes relacionadas con la actividad de la organización y cuya finalidad no sólo se centra en el almacenamiento de esos datos, sino en su análisis y procesamiento mediante los procesos encargados de su gestión para la obtención de información estructurada y en definitiva útil para la toma de decisiones”

(Delgado, 1999)

Como se puede apreciar el concepto ha evolucionado y ha tomado un rumbo más orientado hacia su uso que hacia las metodologías de diseño.

2.3.3 Modelos de tablas

A la hora de diseñar un data warehouse, uno de los elementos esenciales para su diseño es el modelo de tablas a escoger. Actualmente el modelo de tablas que normalmente se sigue en el diseño de un data warehouse suele ser el modelo multidimensional propuesto por Kimball, ya que se ha impuesto con el tiempo al modelo relacional de Inmon, salvo algunas excepciones. El modelo a seguir se denomina esquema en estrella.

2.3 El Data warehouse

Este modelo permite el análisis de información a partir de una base de datos relacional, estructurando los datos y organizándolos de forma multidimensional.

Este modelo está compuesto de una serie de tablas que se clasifican en: – Tablas de hechos: Es la tabla central o nuclear de un esquema multidimensional. Esta tabla contiene los datos a medir, aquello que es cuantificable, datos que suelen ser las mediciones numéricas del negocio. Todo dato a medir es un hecho donde la

granularidad de éste hecho viene condicionada según el nivel de detalle con el que se almacene en la tabla, ya que cada medida es tomada según la intersección de las dimensiones que la definen. Se distinguen por tanto dos tipos de columnas en una tabla de hechos: columnas hecho y columnas clave, donde las columnas de hechos son aquellas donde se almacenan las medidas y las columnas clave donde se almacena la clave primaria referente a las dimensiones.

– Tablas de dimensiones: Estas tablas se sitúan alrededor de la tabla de hechos, relacionándose con ella. Contienen información dimensional que permite filtrar, organizar y alimentar la información almacenada en la tabla de hechos. Cada una de las tablas de dimensiones relacionadas con la tabla de hechos contiene una única dimensión, la cual se reparte en jerarquías compuesta por una serie de niveles, las cuales se encuentran de forma denormalizada. Al producirse una serie de hechos estos varían según la relación obtenida con el resto de tablas dimensionales que envuelven a los hechos. A partir de un hecho “Cantidad Compra” y una relación con la dimensión “Producto” se podría filtrar la cantidad por algún producto en concreto y además se podría observar de manera jerárquica a qué grupo de productos pertenece, de que compañía…etc.

Como se puede observar, esta manera de organizar la información en un data warehouse favorece a técnicas como el análisis OLAP, las consultas de información y la generación de informes.

Existen otros esquemas como el del modelo de copo de nieve, donde la principal diferencia es que las jerarquías se encuentran normalizadas, esto es, los niveles de las jerarquías en las dimensiones se encuentran en tablas separadas y se estructuran y se relacionan entre sí de forma jerarquizada.

2.3.4 Procesos ETL

Extract, Transform and Load (Extraer, Transformar y Cargar). Los procesos ETL son los encargados de extraer datos de múltiples fuentes, darles formato y presentación, convertirlos en información útil y organizada, y cargarlos y almacenarlos en un almacén de datos o data mart para su posterior análisis a través de las herramientas expuestas anteriormente.

2.3 El Data warehouse

  • Extraer: Este paso se basa en extraer e integrar la información de diferentes fuentes (ERP, CRM, Excel) en el data warehouse. En este proceso de extracción se estandariza un formato para todos los datos que poblarán el data warehouse, ya que provienen de diferentes fuentes y cada una originalmente poseerá un formato propio.
  • Transformar: En esta fase se ponen en práctica una serie de reglas de negocio para seleccionar únicamente la información necesaria para el data warehouse. Utilizando técnicas de filtrado, manipulación de datos y cálculos evitaremos almacenar información no necesaria, redundante o errónea.
  • Cargar: En esta última fase los datos ya formateados, integrados y seleccionados se almacenan en el data warehouse. Cabe destacar que esta carga no siempre se realiza de la misma manera, ya que hay organizaciones que optan por borrar todo el contenido del data warehouse y cargarlo de nuevo, y otras que optan por actualizar el data warehouse únicamente con la información que ha llegado nueva.

Los procesos ETL adaptarán la información original en función del perfil del usuario final en distintos formatos de presentación, como pueden ser aplicaciones de análisis, informes, scorecards o cuadros de mando.

Un mal diseño de procesos ETL puede ocasionar graves problemas operativos a la compañía. Actualmente el procesamiento de grandes cantidades de datos está siendo mucho más ligero gracias al procesamiento en paralelo. Una potente herramienta ETL de procesamiento en paralelo, y además open source, es Kettle™ Pentaho Data Integration, la cual se utilizó a lo largo de la realización del presente proyecto.

2.4. El Sistema informacional

Un sistema informacional está formado por aquellas herramientas y elementos orientados al tratamiento de datos e información y que son capaces de acercarla al usuario mientras esté almacenada en un data warehouse. El sistema informacional viene a englobar todas las herramientas de consulta y análisis de datos anteriormente expuestas y que además forman el concepto de Business Intelligence.

En un sistema informacional puede darse el caso que encontremos estas herramientas separadas o por el contrario que interactúen entre sí, dando mayor versatilidad al usuario (con Litebi esto es posible además de otras plataformas de BI como Cognos o Business Objects). Además de esta interacción entre las herramientas, los sistemas se apoyan en herramientas extras para obtener una facilidad al usuario en el acceso y el uso compartido de éstas (seguridad, portales…).

Podemos decir que el sistema informacional es la capa de interacción entre el usuario y el data warehouse (lo que el usuario percibe del sistema es únicamente la capa de aplicación). A este tipo de sistemas también se les suele conocer como aplicaciones o plataformas de inteligencia de negocios.

2.3 El Data warehouse

Publicaciones Similares