La arquitectura del Data Warehouse consta de tres capas, definidas como Data Modeling & Design, más una de capa destinada al acceso de datos.
Staging
Consiste en una copia directa de los datos en bruto de los sistema fuentes (Source Systems) En esta capa no se aplica ningún tipo de transformación de datos ni reglas de negocio. Cada sistema fuente se almacena en un esquema diferente dentro de la capa de Staging.
Adicionalmente, en esta capa también se encuentran almacenados los datos maestros (Masterdata). Esta capa puede contener datos de procesos destinados a la calidad de dato que posteriormente pueden ser exportados en la herramienta de Business Intelligence para aplicar correcciones.
Core
En esta capa se realiza la integración de datos. Aquí es donde se definen los conceptos de negocio. Los datos no son volátiles y cada cambio en el sistema fuente se ve reflejado en la capa Core manteniendo el histórico de los mismos.
En esta capa se deben definir cuáles serán las Claves únicas de negocio para su posterior relación entre conceptos (por ejemplo, identificador único de cliente o de producto, transversal a toda la compañía). No se aplica ninguna regla de negocio, únicamente se limpian, transforman e integran los datos para enriquecer a la siguiente capa de áreas temáticas.
Data Mart
En esta capa se almacenan todos los cubos y dimensiones de las diferentes áreas temáticas. Estos datos serán explotados posteriormente por el sistema de reporting. Aquí es donde se aplican las reglas de negocio, ya que en función del área temática éstas pueden variar.
La granularidad de los datos puede cambiar, ya que en esta capa se suelen realizar los cálculos y agregaciones para que el sistema de reporting sea capaz de presentar los datos de forma eficaz.
Access
Esta capa actúa como interfaz entre el Data Warehouse y el sistema de reporting u otras aplicaciones externas de visualización y análisis de datos. Cada unidad de negocio tendrá asociado un esquema que tendrá permisos para ver los datos asociados de la unidad de negocio.
Para que todo esto sistema funcione correctamente, es fundamental tener implementados mecanismos para los despliegues entre entornos y administración de procesos de carga (Data Storage & Operation). Esta parte nos permite promocionar los cambios en el código a los diferentes entornos minimizando errores.
Los procesos de carga deben ser monitorizados para asegurar que los datos han sido actualizados correctamente. Los metadatos nos ayudarán a realizar estas tareas de auditoria entre otras como detección de malos rendimientos en las cargas, calidad del desarrollo, etc.