Contexto para un proyecto de data warehouse

Empezamos a hablar ayer (nunca mejor dicho), sobre un tema sumamente interesante: data warehouse. Lo que por esto lares se conoce más comunmente como almacen de datos. Vamos a continuar considerando el momento de abordar la construcción del sistema de Data Warehouse.

Debemos tener presente que, a parte del propio proceso, debe existir un contexto adecuado en el que:

  1. La alta dirección apoya el proyecto.
  2. Los usuarios apoyan el proyecto.
  3. Los usuarios accederán a un amplio espectro de datos.
  4. Los usuarios necesitan herramientas restrictivas.
  5. Los usuarios entienden la relación entre la información del Data Warehouse y la ejecución de sus tareas de negocio.
  6. Los usuarios entienden que el departamento de IT les da soporte para resolver sus dudas.
  7. Tienen que existir uno o varios usuarios finales expertos: Power users.
  8. Y por otra parte, de la constitución de un equipo adecuado para la realización del proyecto (formado por expertos de diversas áreas).

Cabe decir que no se tiene un enfoque único para construir un Data Warehouse que se adapte a las necesidades de una organización, dado que las necesidades de cada una de ellas son diferentes, al igual que su contexto. Que nadie os engañe, no existen fórmulas mágicas. Sólo best practices.

Centrándonos ya en el proceso en si (pero aún desde un punto de vista genérico), se deberían establecer fases:

  1. Definir el mejor diseño para el modelo de datos. El diseño físico debe estar orientado a generar buen rendimiento en el procesamiento de consultas.
  2. Definir los procesos de extracción, filtrado, transformación y carga de datos que se deben implementar para poblar ese modelo de datos.
  3. Definir los procesos de administración de la información que permanece en el Data Warehouse.
  4. Definir las formas de consultas a la información del Data Warehouse que se le proporcionará al usuario. Para esto, debe considerarse la necesidad de resolver un problema y la potencia de consulta.
  5. Completar el modelo de consulta base, relativo a las áreas seleccionadas.
  6. Implementar los procesos estratégicos de las áreas de trabajo, es decir, implementar herramientas especializadas de Scoring, herramientas especializadas de Data Mining,…

Y uno se puede preguntar entonces, cuál podría ser una estrategia óptima:

  • Seleccionar un número de usuarios basados en el valor de la empresa y hacer un análisis de sus puntos, preguntas y necesidades de acceso de datos.
  • Posteriormente se analizan las diversas fuentes de datos para conocer los datos de origen y sus interrelaciones, determinar los temas principales de la organización, establecer metadatos y determinar la integridad de datos.
  • De acuerdo a esas necesidades y al análisis, se constituyen prototipos Data Warehousing y se prueban para que los usuarios finales puedan experimentar y modificar sus requerimientos.
  • Una vez se tenga un consenso general sobre las necesidades, entonces se consiguen los datos provenientes de los sistemas operacionales existentes a través de la empresa y/o desde fuentes externas de datos y se cargan al Data Warehouse.
  • Creación de Datamarts dependientes del Data Warehouse para los departamentos que así lo requieran por sus necesidades informacionales.
  • Establecer períodos de análisis de futuras necesidades de la organización para la futura implementación.

Y de nuevo, me pregunto ¿qué más añadirías a estas listas? ¿Qué factores deberían tenerse también en cuenta?

Arquitectura de un datawarehouse

Vamos a hablar hoy de los elementos dentro de la arquitectura Data Warehouse (que es una forma de representar la estructura global de los datos, la comunicación, los procesos y la presentación del usuario final). Como ya sabemos la construcción del data warehouse se establece como elemento crítico en el proceso de implantación de una herramienta Business Intelligence y por lo tanto resulta interesante recordar todos estos conceptos:

  • Base de datos operacional/nivel de base de datos externos: hace referencia a los sistemas operacionales/transaccionales de la organización y a fuentes que forman parte del proceso de Data Warehousing.
  • Nivel de acceso a la información: es la capa de interacción del usuario cuya finalidad es la conversión de los datos almacenados en información fácil y transparente para las herramientas de los usuarios finales.
  • Nivel de acceso a los datos: comunica el nivel de acceso a la información con el nivel operacional de forma universal.
  • Nivel de directorio de datos (metadatos): repositorio de metadatos de los datos almacenados que proporcionan información sobre el origen y sobre la transformación de los mismos en el proceso de Data Warehousing.
  • Nivel de gestión de procesos: planificación de las tareas y procesos para la construcción y mantenimiento actualizado del Data Warehouse.
  • Nivel de mensaje de la aplicación: determina el transporte de información a lo largo del entorno de computación de la organización a modo de middleware pero más allá de meramente protocolos de red.
  • Nivel Data Warehouse (físico): es el repositorio central altamente flexible de información donde residen copias de los datos operacionales y/o externos optimizados para su acceso para la consulta.
  • Nivel de organización de datos: incluye todos los procesos necesarios para seleccionar, editar, resumir (normalmente sumarizar), combinar y cargar en el Data Warehouse y en la capa de acceso a la información los datos operacionales y/o externos.

Respecto la arquitectura del Data Warehouse, podríamos considerar tres aspectos como los de mayor importancia y los presentamos en orden decreciente:

  1. Nivel de organización de datos: las organizaciones suelen tener fuentes de datos sumamente interesantes y con un gran potencial de información para la estrategia de negocio. Por lo tanto, es absolutamente necesario que exista un proceso ágil que homogeinice los datos, los depure, los transforme adecuadamente y los cargue siguiendo las necesidades de negocio de la organización. De lo que deviene que este nivel de arquitectura sea el de mayor importancia en la arquitectura dado que si no se realiza con la mayor excelencia el proyecto puede no aportar nada a la organización.
  2. Nivel de directorio de datos: el uso de metadatos es crucial para el éxito del Data Warehouse porque permiten integrar datos de diferentes fuentes, permite evitar inconsistencias en el modelo de datos, son un soporte a la calidad de los datos, es una guía para el mapping de datos en la transformación del ambiente operacional al Data Warehouse, describiendo la localización, la estructura y el significado. Debe incluir dominio, reglas de validación, derivación y transformación de los datos extraídos y es una guía de los algoritmos usados para la esquematización entre el detalle de datos actual con los datos ligeramente resumidos, y éstos con los datos completamente resumidos, etc.
  3. Nivel de gestión de procesos: los procesos de actualización y mantenimiento del Data Warehouse es el tercer aspecto que debemos comentar. Dado que las necesidades de una organización evolucionan, exactamente ocurre para la información que necesita. De modo que, a través de los metadatos, pueda realizarse un mantenimiento de los datos almacenados con una periodicidad fijada y sea fácil extender los datos almacenados.

Eso no significa que los demás puntos no sean importantes. Por ejemplo, no conviene infravalorar ni los requerimientos de Hardware ni tampoco cómo se presenta la información ni la combinación de la misma a los usuarios finales. Pero, en todo caso es posible presentar los seleccionados como los principales.

¿Qué opinan mis lectores?

Fuente: Master Business Intelligence UOC