Nota: El objetivo de esta entrada es explicar qué es un Data Warehouse y de paso la diferencia entre arquitectura y tecnología . Comenzaré hablando de una situación común que se da en las empresas, posteriormente revisaremos la historia de aceptación para finalmente cerrar con la utilidad que nos ofrece un Data Warehouse. De vez en cuando usaré indistintamente Almacén de Datos, Data Warehouse, Data Warehousing o DW.
En la medida que las empresas requieren ser más competitivas suelen incorporar Software (a la medida o empaquetado) que les permita gestionar sus procesos de negocios de forma tal que se vuelvan predecibles y optimizables. Cada proceso de negocio tiene su complejidad y vida propia, por lo que sin quererlo ni beberlo, las organizaciones comienzan adquirir más Software o Módulos encargados de administrar sus procesos de forma atómica, durable y concurrente.
Con el paso del tiempo lo que era solo el módulo o sistema de ventas, se extiende a un módulo o sistema de comisiones, facturación, RRHH y así sucesivamente, generando un entorno conocido como “The Spider Web”:
Suele suceder que dichos sistemas no usan las mismas tecnologías, puede que no sean del mismo proveedor o sus arquitecturas sean incompatibles. Exigirles además cumplir con fines analíticos sin que merme la operación diaria de vender o facturar es complicado. Si bien, hay propuestas que prometen “all in one” (operación y predicción) suelen tener un problema fundamental: Son propuestas tecnológicas en vez de arquitectónicas.
Considerando este escenario, hace unos ya 30 años, una persona disruptiva propuso un nuevo enfoque encargado de cubrir el ciclo analítico de los datos. Fue entonces cuando nace la división entre el “mundo operacional” versus el “mundo analítico” o como se hablaba en aquella época: Sistemas para la toma de Decisiones – DSS. Esta división generó una serie de consecuencias entre ellas:
Fue William H. Inmon (Padre del Data Warehouse) en aquel entonces quien propuso la arquitectura denominada Data Warehouse (DW). Su propuesta era que el DW estuviera al centro del entorno analítico. Sin embargo no estuvo exento de críticas, de hecho nos ha contado algunas reacciones que te comparto a continuación.
Cuando Bill propuso el término de Data Warehouse hubo todo tipo de reacciones. Algunas personas se burlaron, otras incluso indicaron que la propuesta retrocedía la industria tecnológica en 20 años. Entre ellos había proveedores tecnológicos y consultores.
Algunos académicos indicaban que un Data Warehouse no aportaba nada nuevo, y además que no era válido por carecer de referencias en libros, papers, clases o seminarios. Fue tanta la incomodidad que generó Bill, que incluso intentaron prohibirle hablar en público.
A día de hoy, difícilmente se argumenta contra la utilidad de un Data Warehouse, podemos encontrar muchas consultoras que ofrecen servicios de Data Warehousing y en las universidades al menos se habla del tema. Irónicamente habrás escuchado la frase “una sola fuente de la verdad” acuñada por muchos gigantes tecnológicos, cuando en su momento no apoyaban el término. Las vueltas de la vida.
Data Scientist: Ok Lenin, pero ¿qué es un Data Warehouse?
Con mucho pesar noto que frecuentemente se suele etiquetar a un Data Warehouse como tecnología, principalmente por no distinguir la diferencia entre tecnología y aquitectura. Para ejemplificar, recurriré a mis amigos del programa City Tour:
Federico S: Si comparas el sur de Chile con Santiago, en ambos lugares se utilizan “ladrillos” (tecnología) para las construcciones, pero lo que les da el “toque especial a cada lugar” es su arquitectura Comparini.
Comparini: Federico, ¿realmente es importante la arquitectura?
Federico S: Por supuesto, recordemos lo que pasó hace años con el caso “Puente Cau Cau” el cual fue desastrosamente armado. Si bien el puente puede que haya utilizado los mejores materiales (tecnología), su forma final, era inservible (arquitectura).
Federico S: Por cierto Comparini, Big Data es ¿una tecnología o arquitectura?
Comparini: Dejemos que la audiencia responda 🙂
Como podrás notar querido lector, la arquitectura necesita ladrillos (tecnologías) para ser construidas, pero no es lo mismo. Un Data Warehouse es una arquitectura.
Un Data Warehouse es un repositorio de datos integrado, orientado a temáticas de negocio, no volátil y encargado de preservar la historia de los datos en el tiempo, cuya misión final es ayudar o servir de base para el proceso de toma de decisiones.
El detalle de la arquitectura propuesta por Bill se conoce como CIF (Corporate Information Factory) la cual veremos en otro artículo. Como adelanto podemos decir que CIF propone comenzar “mirando el todo” para luego bajar “a lo particular” de forma iterativa. Enfoque conocido como top down el cual comulga con el framework de Zachman. Una vez que los datos están en nuestro DW se pueden usar para múltiples propósitos a diferencia de cuando los datos residen en los sistemas operacionales cuyo enfoque es funcional.
Un Data Warehouse enfrenta las falencias que se producen naturalmente en la arquitectura Spider Web. Entre ellas encontramos: poca credibilidad en los datos, baja productividad y la dificultad para lograr que los datos se conviertan en información.
Un ejemplo clásico que engloba los puntos anteriores es cuando distintos departamentos reportan el mismo KPI a la alta dirección pero con distintos valores. Usualmente esto se da porque obtienen los datos de forma distinta (extracción). Si a eso sumamos que las definiciones pueden ser distintas, no es solo un problema de credibilidad sino también de productividad. Finalmente el anhelo de obtener un reporte corporativo puede llevar al desafío de consolidar datos que están repartidos en más de un sistema o módulo complicando las extracciones y potenciando por doquier los Excel Spreadmarts.
Un Data Warehouse nos puede aportar o facilitar:
En la práctica se suele asociar a un Data Warehouse con datos estructurados principalmente porque los sistemas que administran las bases de datos (DBMS) permiten almacenar y procesar este tipo de datos con relativa flexibilidad. Sin embargo los datos estructurados representan a lo más un 15% de los datos de la organización. ¿Qué estamos haciendo con los datos no estructurados como email, PDF, WORD, encuestas, PPT, RRSS? ¿Son compatibles con un Data Warehouse?
La respuesta es sí. De hecho cuando mezclamos ambos tipos, abrimos a las organizaciones a enormes posibilidades. ¿Cómo se puede establecer un puente entre el mundo no estructurado y estructurado? A través del Texto y en algunos casos incluyendo su Contexto.
Convertir datos No Estructurados a Texto genera confusión ya que las bases de datos actuales (SQL y NOSQL) permiten almacenar texto de forma variable. Bastaría crear un campo de tipo varchar o blob llamado “comentario”, “post”, “diagnóstico”, etc., donde almacenemos todo el contenido. En la práctica esto no aporta valor para el negocio porque no puedes hacer consultas directas sobre dicho campo. Sin mencionar que probablemente te topes con faltas de ortografías, diminutivos, nombres con distintos significados según el contexto y muchos más inconvenientes propios del lenguaje natural.
Por lo tanto es necesario transformar dicho texto (crudo) en una texto desambiguado y estructurado de forma tal que nos permita hacer consultas incluso en SQL. Repito incluso en SQL. Para esto puedes seguir el camino de NLP, ML o ver una alternativa interesante llamada Textual ETL.
Hasta aquí hemos visto cómo surgió el Data Warehouse, en las próximas entradas profundizaremos y veremos su versión DW 2.0, también veremos la propuesta Data Vault y en ambos casos la relación con Text Analytics.
Nota: Puede que estos artículos sean de tu interés: ¿Qué es un Data Lake, para que sirve y cuánto cuesta implementarlo en AWS, Azure y GCP?, La Metodología Kimball.
Nota: Si crees que este contenido puede ser útil para otras personas no dudes en compartirlo. Además te invitamos a seguirnos en Linkedin, Twitter, Facebook, Instagram y Youtube. Mientras en el Blog liberamos contenido más extenso, en las RRSS publicamos semanalmente tips relacionados con Data Warehouse, BI, Data Science y Visualización de Datos que es justamente lo que más nos apasiona hacer en Lituus.
Fuentes: