¿Qué son las Data Warehouses?

¿Qué son las Data Warehouses?

En la actualidad, toda empresa, negocio o institución de cualquier índole a cargo de la ejecución de algún proceso, debe almacenar la información sobre la realización del mismo.

A diario se almacenan millones de datos concernientes a procesos operativos o transaccionales, esenciales para mantener un historial de lo que se realiza, pero en ocasiones, se desea conocer información más a profundidad y que sea útil para la toma de decisiones. Ahí entra un nuevo concepto: Data Warehouse.


¿Qué es un Data Warehouse?

Es un sistema que extrae de forma constante un conjunto de datos histórico, conocido como dataset, el cual es producto de una o varias fuentes que guardan información transaccional de una entidad. Luego esos datos son estructurados para realizar análisis y consultas.

Básicamente, su principal objetivo es reunir todos los datos que serán analizados en un almacén conocido comúnmente como Data Lake, en el cual se limpia, procesa y transforma esa información, de manera que quede lista para los análisis e incluso que se pueda conectar a aplicaciones de inteligencia de negocios y así crear reportes para usuarios finales.

Una vez definidos los objetivos del análisis de datos, se identifican los campos y registros requeridos para tomar la decisión sobre cómo se va a guardar la información procesada en su última etapa, sea en archivos .csv, .txt, .sql u otros.

También se puede requerir de un modelo de Data Warehouse conocido como modelo dimensional, cuya estructura será definida por las reglas del negocio, siendo los más conocidos el modelo de copo de nieve (Snowflake) y el modelo de estrella (Star schema).

La fase de estructuración o transformación de los datos consiste en llevar la información extraída al modelo final que contendrá solo lo necesario. Por ejemplo: en una tabla de productos puede ser necesario solo el nombre y descripción para lo que se desea observar, mientras que los demás campos de la base de datos transaccional se ignorarán.

¿Qué tienen de diferencia con respecto a una base de datos transaccional?

Las bases de datos contienen toda la información del negocio a nivel histórico y se actualizan cada vez que se lleva a cabo un proceso en el negocio. En cambio, un Data Warehouse tiene como objetivo final un conjunto de datos en específico, listo y estructurado para realizar consultas, estudios analíticos y reportes finales que interesen al usuario y se cargan cada cierto tiempo, lapso definido según la necesidad y capacidad del negocio.

¿Cuáles son sus principales ventajas?

  • Permite estructurar la información de la empresa de manera ordenada, ya sea por departamentos, áreas o procesos, según sea requerido por la institución.
  • Almacena solamente la información de valor para lo que se pretende medir.
  • Mantiene los datos de forma unificada que pueden provenir de distintas ramas y en distintas formas.
  • Un Data Warehouse permite accesibilidad a los datos de forma inmediata.
  • Filtra y adecúa la información que contiene y esto hace que sea veraz y precisa.
  • Mejora en el rendimiento de la consulta de resultados.
  • Transforma los datos de manera que se puedan utilizar para análisis, cálculos y diferentes técnicas de estudio.
  • Se puede conectar a aplicaciones de inteligencia de negocios para procesar resultados y generar reportes.
  • Los resultados obtenidos son pilares para la toma de decisiones en el negocio.

Fases principales de construcción

Convertir los datos de procesos operativos y transaccionales a información que brinde análisis y resultados finales conlleva realizar una serie de fases:

  • Análisis: evaluar las fuentes de datos e identificar aquéllos útiles para los resultados que se quieren medir, para así diseñar la estructura modelo que los contendrá.
  • Extracción: tomar los datos insumo, independientemente de su formato, y albergarlos en un repositorio Data Lake.
  • Transformación: limpiar los datos seleccionados con el fin de garantizar resultados más precisos. Esto incluye actividades como evitar datos repetidos y nulos, cambiar formatos, etc.
  • Carga: llevar los datos a la estructura del modelo diseñado del Data Warehouse de la fase uno y hacer el respectivo llenado.

Elaboración de un Data Warehouse

La implementación de un Data Warehouse involucra una serie de herramientas y tecnologías y procesos, como se observa en la imagen:

Ilustración 1. Estructura de construcción de un Data Warehouse.


Pasos para la elaboración de un Data Warehouse

1) Se identifican todas las fuentes de datos, éstas pueden estar en gestores como PostgresSQL, MySql, SQL Server, archivos en la nube o en dispositivos locales.

2) Se analiza la información transaccional y se identifican los datos que servirán para el análisis que se pretende realizar.

3) Se crea la estructura que va a contener los datos finales, puede ser una sección de carpetas de archivos o un modelo dimensional, eso lo decide el negocio.

Esta información puede estar contenida en cualquier dispositivo de almacenamiento que la soporte, en gestores de bases de datos como si se tratara de una base de datos relacional, pero por tratarse en su mayoría de información voluminosa se recomienda el uso de servicios en la nube, uno de ellos es Redshift de AWS, basado en SQL el cuál procesa datos estructurados y semiestructurados y de gran proporción.

4) Una vez se define la estructura del Data Warehouse se debe llevar la información del dataset a dicho molde, haciendo uso de los procesos ETL (extracción, transformación y carga).

Se empieza con el proceso de extracción, que se realiza mediante la conexión entre las fuentes de datos y un programa elaborado con un lenguaje de programación como Python o Scala con Spark, ya que cuentan con características para tratar con grandes cantidades de datos, o también se puede manejar con herramientas de gestión de data como Talend Open Studio.

5) La información recolectada se debe guardar en su estado inicial, para esto se pueden usar dispositivos de almacenamiento local, pero se recomiendan servicios en la nube como Amazon S3, Google Cloud o Microsoft Azure, para mejor rendimiento y disponibilidad de la información.

6) El siguiente proceso es la transformación de la información, para este paso se deben conectar las herramientas de extracción del paso cuatro al repositorio donde se encuentra el data lake y ejecutar las tareas de limpieza y conversión. Luego se debe almacenar en otro segmento del Data Lake que corresponde a los datos transformados.

7) Cuando la información se encuentra lista se realiza la carga desde el almacén que la contiene a donde se encuentra el modelo del Data Warehouse, haciendo uso de las herramientas del paso cuatro o con funciones propias del contenedor del modelo del Data Warehouse.

8) Con los datos finales cargados se pueden generar las consultas, reportes y resultados esperados.

Riesgos al crear un Data Warehouse

  • Cometer errores en las tareas de transformación de los datos y alterar la información extraída.
  • Extraer datos que no son necesarios para el análisis.
  • Mala planificación en la ejecución de los procesos ETL que puede llevar a perder información o a desperdiciar recursos.
  • Vulnerabilidad de la información si se aloja en contenedores sin ningún tipo de seguridad.

Recomendaciones al crear un Data Warehouse

  • Analizar exhaustivamente la información disponible antes de tomar decisiones de implementación y si es aplicable.
  • Tener claro el nivel de granularidad con la que es almacenada la información en la base de datos transaccional e informar al usuario si es compatible con el análisis que se pretende realizar.
  • Conocer el volumen de datos que se maneja y la frecuencia con las que se desean realizar los cálculos y las consultas. Si éstas no son concurrentes, puede no ser necesario un Data Warehouse y bastará con algún procedimiento de la base de datos que se encargue de dicha tarea.

Por otra parte, es necesario conocer lo anteriormente mencionado para elegir las herramientas de extracción, procesamiento y carga y también el lugar de almacenamiento para el Data Warehouse, esto para evitar recursos insuficientes o herramientas sobrecalificadas para la actividad.

Por último, pero no menos importante, se sabe que la información es muy valiosa para la entidad a la que pertenece. Siempre es necesario mantener la integridad y seguridad de la misma, por lo que se sugiere utilizar las mejores prácticas en el tratamiento de la información y el uso de sistemas de seguridad para restringir su acceso exclusivamente a usuarios autorizados.

Toma en cuenta esta información y así tu Data Warehouse será exitoso. ¡Hasta pronto!

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.