La arquitectura de un datawarehouse puede tener diferentes estructuras en diferentes implementaciones. Algunas pueden tener un ODS (operational data store), mientras que otras pueden tener múltiples data marts. Algunas pueden tener un pequeño número de fuentes de datos, mientras que otras pueden tener docenas de fuentes de datos. Visto esto, es mucho más razonable de presentar las diferentes capas de la arquitectura de un datawarehouse en lugar de discutir sobre ningún sistema específico.
En general, toda arquitectura de un datawarehouse tiene las siguientes capas:
- Capa de extracción de datos
- Capa de almacenamiento de datos
- Capa de presentación de datos
- Capa de metadatos
- Capa de operaciones del sistema
Propiedades de la arquitectura de un datawarehouse
Las siguientes propiedades son esenciales para la arquitectura de un datawarehouse :
- Separación: el proceso analítico y transaccional deben mantenerse separados tanto como sea posible.
- Escalabilidad: la arquitectura de un datawarehouse, tanto de hardware como de software, debe ser fácil de actualizar a medida que crece el volumen de datos que debe ser gestionado y procesado, así como el número de requisitos de los usuarios que tienen que ser satisfechos.
- Extensibilidad: la arquitectura debería ser capaz de alojar nuevas aplicaciones y tecnologías sin necesidad de revisar todo el sistema.
- Seguridad: monitorizar los accesos es esencial debido a los datos estratégicos que hay almacenados en el datawarehouse.
- Administrabilidad: la gestión del datawarehouse no debería ser excesivamente difícil.
Capas de toda arquitectura de un datawarehouse
Veamos cada una de las capas de la arquitectura de un datawarehouse a continuación:
- Capa de fuentes de datos: Esta representa las diferentes fuentes de datos que alimentan los datos del datawarehouse. La fuente de datos puede estar en cualquier formato: archivo de texto plano, base de datos relacional, otros tipos de base de datos, archivo Excel, etc. Todos estos pueden actuar como fuente de datos. Además, los tipos de datos pueden ser muy variados:
- Datos de operaciones, como datos de ventas, datos de recursos humanos, datos de productos, datos de inventario, datos de marketing y datos de sistemas.
- Logs de un servidor web, con datos de navegación de los usuarios.
- Datos internos de investigación de mercado.
- Datos de terceros, como datos del censo, datos demográficos o datos de encuestas.
- Capa de extracción de datos: Los datos se extraen de las fuentes de datos y se llevan al sistema datawarehouse. Es probable que en esta capa se limpien algunos datos mínimos, pero no es previsible que haya una transformación de datos importante.
- Área de pruebas: aquí es donde los datos son depurados y transformados en un datamart y datawarehouse. Tener un área común facilita el proceso y la integración posterior de los datos.
- Capa de almacenamiento de datos: Aquí es dónde se colocan los datos transformados y limpios. Basándose en el alcance y la funcionalidad se pueden encontrar tres tipos de entidades: datawarehouse, data mart y almacén de datos operacional (ODS). En cualquier sistema puedes encontrar sólo uno de los 3, 2 de los 3, o los tres tipos juntos.
- Capa lógica de datos: Aquí es donde se almacenan las reglas de negocio. Estas reglas de negocio no afectan a las reglas de transformación de datos, pero afectan a lo que luego puedes ver en los informes.
- Capa de presentación de datos: Se refiere a la información que llega a los usuarios. Esto puede ser en forma de un informe tabular o gráfico a través de un navegador, un informe enviado por email que se genera automáticamente y se envia a diario, una alerta que advierte a los usuarios acerca de excepciones, etc. Usualmente en esta capa se utiliza una herramienta OLAP y una herramienta de generación de informes.
- Capa de metadatos: Aquí es donde la información sobre los datos almacenados en el datawarehouse es almacenada. Un modelo de datos lógico sería un ejemplo de algo que está en esta capa de metadatos. Frecuentemente se utiliza una herramienta de metadatos para administrar los metadatos.
- Capa de operaciones del sistema: Esta capa incluye información sobre cómo está funcionando el sistema de datawarehouse, cuál es el estado de trabajo ETL, cuál es el rendimiento del sistema y el historial de acceso de los usuarios.