El respaldo de los Data Warehouses y Data Lakes en los proyectos de datos

Machine Learning, Inteligencia Artificial, Data Lakes, Data Warehouses, proyectos de datos

La cantidad de datos disponibles aumenta con el paso del tiempo. Estos datos, que provienen de diversas fuentes y son de distinto tipo (estructurados, semi-estructurados o no estructurados), con el debido tratamiento pueden ser utilizados por las organizaciones, tanto para la toma de decisiones como para crear y ofrecer nuevos productos y servicios. En este contexto surgen los Data Lakes y los Data Warehouses, caminos para organizar los datos en un proyecto de datos, y que permiten respaldar el análisis empresarial, la Inteligencia Artificial (IA) y los procesos de Machine Learning.

Diferencias entre Data Lakes y Data Warehouses

Los Data Lakes son repositorios de datos que se encuentran almacenados en su forma nativa, es decir, sin procesar (estructurados, semi-estructurados o no estructurados). Estos almacenan no sólo los datos que se utilizan en el momento, sino también datos históricos. Estos datos quedan a disposición de análisis posteriores por parte de los Data Scientists y Data Analyst del negocio.

Por otro lado, los Data Warehouses contienen únicamente información estructurada que permite la operación de un proyecto de datos, tanto desde el punto de vista técnico, como desde el aspecto de negocio. Cabe destacar que los Data Warehouses se diferencian principalmente de las bases de datos operacionales en que estas últimas contienen, sobre todo, información actual y soportan un gran volumen de operaciones transaccionales, mientras que los Data Warehouses soportan una gran carga de operaciones analiticas y contienen informacion historica. Esta forma de almacenamiento de los datos requiere un conocimiento del negocio y del proyecto que se está abordando.

Diferencias entre Data Lakes y Data Warehouses

La importancia técnica y de negocio de los Data Warehouses

Uno de los principales indicadores del éxito de un proyecto de datos son los KPIs (key performance indicator). Los KPIs surgen, en primer lugar, de una necesidad del negocio de medir el éxito de un proyecto de datos. Una vez definidos los KPIs, se confecciona un esquema de la base de datos (a partir de las mediciones del KPI y su contexto) y, por medio de queries, los sectores de gestión pueden medir el avance y éxito del proyecto.

En este contexto, surge la importancia de los Data Warehouses que, no solo son de gran utilidad para respaldar las decisiones de negocio y el éxito o fracaso de un proyecto de datos, sino que también permiten validar el funcionamiento del aspecto técnico.

El aspecto técnico de un proyecto de datos viene dado por las implementaciones que los ingenieros de software y data scientists realizan para mejorar los KPIs. En el caso de los data scientists, esta implementación puede venir dada por el entrenamiento de un modelo a partir de los datos que se encuentran en los Data Warehouses y los Data Lakes. Y, en el caso de los ingenieros de software, surgirá de distintas heurísticas o algoritmos custom a partir de los datos disponibles. También existe la posibilidad de hacer una mezcla de ambos.

Estos perfiles pueden servirse también de los Data Warehouses, tanto para analizar el impacto técnico de su implementación, como para generar nuevos esquemas dentro del Data Warehouse que puedan generar métricas para el monitoreo de ciertos aspectos o la generación de nuevos KPIs.

Sin embargo, como se mencionó anteriormente, los Data Warehouses no fueron concebidos como bases de datos transaccionales, por lo que la operación (hablando desde un punto de vista técnico) no debe servirse de estos datos para ejecutar la lógica computacional.

Posibles soluciones a la falta de transaccionalidad de los Data Warehouses

Dada la falta de transaccionalidad de los Data Warehouses, debe pensarse en posibles alternativas para solventar este problema.

A continuación compartimos dos posibles soluciones a este desafío;

Base de datos transaccional + job

Este camino supone crear una base de datos transaccional que, durante el tiempo operacional del modelo de Machine Learning y/o la lógica custom ejecutada en tiempo real o como proceso batch, cargue los datos y al final de dia, por medio de un job creado, se cargue al Data Warehouse, aplicando algún procesamiento (de ser necesario).

Servicio S3 de AWS + job

Otra posible solución es cargar durante la operación diaria los datos parciales en un bucket de S3 con la fecha del día. Luego de cierto tiempo deseado, se puede ejecutar un job que cargue los datos del bucket S3 en distintas tablas dentro de un Data Warehouse.

Soluciones a la falta de transaccionalidad de los Data Warehouse

Importancia técnica y de negocio de los Data Lakes

Una de las principales ventajas de los Data Lakes es que funcionan bajo un principio denominado ‘Schema-on-read’

¿Esto qué significa? Que no existe un esquema en el que se deban encajar los datos para almacenarlos. Este esquema para los datos se arma a la hora de analizar y tratar los mismos. Esta característica disminuye el time-to-market respecto de los Data Warehouses, ya que los datos se pueden almacenar sin cumplir un paso previo de definición del esquema. Desde el punto de vista de negocio, no es necesaria la definición previa de un KPI en el caso de los Data Lakes, como sí pasa en los Data Warehouses.

Por otra parte, al no ser los Data Lakes concebidos a partir de una métrica, y al contener datos de distinto formato, permiten responder un abanico mayor de preguntas y potenciar el negocio.

Sin embargo, más allá de las ventajas que los Data Lakes presentan frente a los Data Warehouses en cuanto a variedad y cantidad de datos, y al time-to-market, para realizar el análisis de los datos se necesita personal altamente capacitado, ya que no solo se deben comprender las relaciones entre los datos que se encuentran almacenados, sino también contar con aptitudes técnicas para poder procesar distintos tipos de datos (como por ejemplo csv, texto, imágenes, datos provenientes de comunicaciones MQTT, etc)

En conclusión

Los Data Warehouses son una parte fundamental de cualquier proyecto de datos. No solo permiten almacenar datos, para un fácil despliegue de analíticos, informes y gráficos que permiten tomar decisiones de negocio, sino que también son de gran utilidad para los desarrolladores. Ellos, a su vez, a partir del monitoreo de métricas generadas a partir de los datos, pueden retroalimentar el negocio y generar nuevas métricas para generar valor agregado.

Sin embargo, como se comentó, se deben tener en cuenta diferentes aspectos para su correcta confección y operación, ya que carecen de carácter transaccional, y se crean a partir de KPIs. KPIs deficientes pueden llevar a crear tablas sin utilidad alguna, del mismo modo que utilizar estos datos para la operación a nivel software, puede llevar a distintos problemas técnicos relacionados con la concurrencia.

Por su parte, los Data Lakes representan una fuente extensa de datos disponibles para el análisis, porque no se crean a partir de KPIs (es decir, no se está introduciendo un sesgo de negocio) y porque los datos almacenados se encuentran en su formato crudo. 

Esto no solo permite tener más información para potenciar el negocio, sino que también presentan un time-to-market menor al de los Data Warehouses, ya que no hay que pensar en un esquema de datos. 

Desde el punto de vista de la operatoria, los Data Warehouses son más simples de operar que los Data Lakes. Esto produce que los profesionales requeridos para operar Data Lakes deban estar altamente capacitados para entender las relaciones entre los datos que se almacenan de las diversas fuentes. Deberán contar con un perfil técnico muy marcado, que les permita entender y procesar los distintos formatos, no solo para obtener información útil, sino también para poder correlacionar las distintas fuentes.

¿Cómo podemos ayudarte?

7Puentes se especializa en el procesamiento inteligente de los datos y ayuda a organizaciones de todos los tamaños y especialidades a transformar esos datos en su ventaja competitiva.

Sin importar qué fuentes de datos tengamos disponibles, podremos minar o explotar la información de tu negocio o startup para ayudarte a descubrir mejoras, puntos débiles y potenciales nuevos productos y servicios.

En todos los casos, siempre estamos dispuestos a emprender el desafío que nos presenten los distintos tipos de datos y a dar el apoyo y las recomendaciones necesarias para darle el mejor uso posible a los datos. 

Somos el partner que necesitás. Contactanos.