Áreas de Datos
Dentro del diseño de la arquitectura de un sistema de Data Warehouse es conveniente tener en consideración los diferentes entornos por los que han de pasar los datos en su camino hacia el DW o hacia los Data Marts de destino. Dada la cantidad de transformaciones que se han de realizar, y que normalmente el DW, además de cumplir su función de soporte a los requerimientos analíticos, realiza una función de integración de datos que van a conformar el Almacén Corporativo y que van a tener que ser consultados también de la manera tradicional por los sistemas operacionales, es muy recomendable crear diferentes áreas de datos en el camino entre los sistemas origen y las herramientas OLAP.
Cada una de estas Áreas se distingue por las funciones que realiza, de qué manera se organizan los datos en la misma, y a qué tipo de necesidad pueden dar servicio. El Área que se encuentra "al final del camino" es importante, pero no va a ser la única que almacene los datos que van a explotar las herramientas de reporting.
Tampoco hay una convención estándar sobre lo que abarca exactamente cada Área, y la obligatoriedad de utilizar cada una de ellas. Cada proyecto es diferente, e influyen muchos factores como la complejidad, el volumen de información del mismo, si realmente se quiere utilizar el Data Warehouse como almacén corporativo o Sistema Maestro de Datos, o si existen necesidades reales de soporte al reporting operacional.
En los siguientes puntos se explican las áreas de datos que suelen utilizarse, y se perfila una propuesta de arquitectura que hay que adaptar a las necesidades de cada proyecto, teniendo en cuenta que la utilización de cada Área de datos ha de estar justificada. No siempre todas son necesarias.
Staging Area
Es un Área temporal donde se recogen los datos que se necesitan de los sistemas origen.
Se recogen los datos estrictamente necesarios para las cargas, y se aplica el mínimo de transformaciones a los mismos. No se aplican restricciones de integridad ni se utilizan claves. Los datos se tratan como si las tablas fueran ficheros planos. De esta manera se minimiza la afectación a los sistemas origen, la carga es lo más rápida posible para acotar la ventana horaria necesaria, y se reduce también al mínimo la posibilidad de error. Una vez que los datos han sido traspasados, el DW se independiza de los sistemas origen hasta la siguiente carga. Lo único que se suele añadir es algún campo que almacene la fecha de la carga.
Obviamente estos datos NO van a dar servicio a ninguna aplicación de reporting, son datos temporales que una vez que hayan cumplido su función son eliminados; en el esquema lógico de la arquitectura muchas veces NO aparecen, ya que su función es meramente operativa.
Algun@s autor@s consideran que la Staging Area abarca más de lo comentado, o incluso que engloba todo el entorno donde se realizan los procesos de ETL. En este documento se considera sólo como Área temporal.
Operational Data Store
Como su nombre indica, este Área es la que da soporte a los sistemas operacionales.
El modelo de datos del Almacén de Datos Operacional (ODS) sigue una estructura relacional y normalizada, para que cualquier herramienta de reporting o sistema operacional pueda consultar sus datos. Está dentro del Data Warehouse porque se aprovecha el esfuerzo de integración que supone la creación del Almacén de Datos Corporativo para poder atender también a necesidades operacionales, pero no es obligatorio. Ni siquiera es algo específico del BI; los ODS ya existían antes de que surgieran los conceptos de Data Warehousing y Business Intelligence.
No almacena datos históricos, muestra la imagen del momento actual, aunque eso no significa que no se puedan registrar los cambios.
Los datos del ODS se recogen de la Staging Area, y en este proceso sí se realizan transformaciones, limpieza de datos y controles de integridad referencial para que los datos estén perfectamente integrados en el modelo relacional normalizado.
Se debe tener en cuenta que la actualización de los datos del ODS no es instantánea, los cambios en los datos de los sistemas origen no se ven reflejados hasta que finaliza la carga correspondiente. Es decir, que los datos se refrescan cada cierto tiempo, cosa que hay que explicar a l@s usuari@s finales, porque los informes que se lancen contra el ODS siempre devolverán información a fecha de la última carga.
Por esta razón es recomendable definir una mayor frecuencia de carga para el ODS que para el Almacén Corporativo. Se puede refrescar el ODS cada 15 minutos, y el resto cada día, por ejemplo.
Almacén de Datos Corporativo
El Almacén de Datos Corporativo (DW) sí contiene datos históricos, y está orientado a la explotación analítica de la información que recoge.
Las herramientas DSS o de reporting analítico consultan tanto los Data Marts como el Almacén de Datos Corporativo. El DW puede servir para consultas en las que se precisa mostrar a la vez información que se encuentre en diferentes Data Marts.
En él se almacenan datos que pueden provenir tanto de la Staging Area como del ODS. Si ya se realizan procesos de transformación e integración en el ODS no se repiten para pasar los mismos datos al Almacén Corporativo. Lo que no se pueda recoger desde el ODS, hay que ir a buscarlo a la Staging Area.
El esquema se parece al de un modelo relacional normalizado, pero en él ya se aplican técnicas de desnormalización. No debería contener un número excesivo de tablas ni de relaciones ya que, por ejemplo, muchas relaciones jerárquicas que en un modelo normalizado se implementarían con tablas separadas aquí ya deberían crearse en una misma tabla, que después representará una Dimensión.
Otra particularidad es que la mayoría de las tablas han de incorporar campos de fecha para controlar la fecha de carga, la fecha en que se produce un Hecho, o el periodo de validez del registro.
Si el Data Warehouse no es demasiado grande, o el nivel de exigencia no es muy elevado en cuanto a los requerimientos 'operacionales', para simplificar la estructura se puede optar por prescindir del ODS, y si es necesario adecuar el Almacén de Datos Corporativo para servir tanto al reporting operacional como al analítico. En este caso, el Área resultante sería el DW Corporativo, pero en ocasiones también se denomina como ODS.
Data Mart
Otro Área de datos es el lugar donde se crean los Data Marts.
Éstos acostumbran a obtenerse a partir de la información recopilada en el área del Almacén Corporativo, aunque también puede ser a la inversa. Cada Data Mart es como un subconjunto de este almacén, pero orientado a un tema de análisis, normalmente asociado a un departamento de la empresa.
El Data Mart se diseña con estructura multidimensional, cada objeto de análisis es una tabla de Hechos enlazada con diversas tablas de Dimensiones. Si se diseña siguiendo el Modelo en Estrella habrá prácticamente una tabla para cada Dimensión; ésta es la versión más desnormalizada. Si se sigue un modelo de Copo de Nieve las tablas de Dimensiones estarán menos desnormalizadas y para cada Dimensión se podrán utilizar varias tablas enlazadas jerárquicamente.
Este área puede residir en la misma base de datos que las demás si la herramienta de explotación es de tipo ROLAP, o también puede crearse ya fuera de la BD, en la estructura de datos propia que generan las aplicaciones de tipo MOLAP, más conocida como los Cubos Multidimensionales.
Si se sigue una aproximación Top-down para la creación de los Data Mart, el paso del área de DW a ésta ha de ser bastante simple, lo que proporciona una cierta independencia sobre el software que se utiliza para el reporting analítico. Si por cualquier razón es necesario cambiar la herramienta de OLAP hay que redefinir los metadatos y regenerar los Cubos, y si el cambio es entre dos de tipo ROLAP ni siquiera esto último sería necesario. En cualquier caso, las áreas anteriores no tienen por qué ser modificadas.
Obra publicada con Licencia Creative Commons Reconocimiento No comercial Sin obra derivada 4.0