25 Sep del Data Lake al Data Warehouse
En un mundo dominado por los datos, enfrentamos un desafío: ¿Cómo balancear entre tener pocos datos y estar inundado por ellos? ¿De qué sirve tener
muchos datos si no se usan? ¿Cómo diferenciar la paja del trigo? ¿Cómo hacer para encontrar una solución a este dilema, partiendo de un Data Lake y
llegando a un Data Warehouse, listo para ofrecer información valiosa y oportuna?
Digamos que quieres conocer la presencia de tu marca en los medios. Tal vez necesitas entender cómo impacta esta presencia en tus ventas, optimizar tu
inversión o comparar tu estrategia con la de tu competencia. En cualquier caso, vas a necesitar datos.
Contactas algunas agencias y proveedores y compras un CSV con datos del último trimestre. Luego de algunas semanas de análisis, compruebas que en ese
trimestre has perdido decenas de oportunidades. Tomas nota de algunos aprendizajes, pero sabes que esas oportunidades no volverán a aparecer.
Comprendes que la información la necesitas en tiempo real.
Por suerte, hay un mundo enorme de datos ahí afuera, esperando ser capturados y analizados. Mediante el método de scraping, capturas noticias de
portales, contenido de redes sociales, e incluso te aventuras en el mundo de las señales audiovisuales como YouTube, televisión y radio.
Luego de un año de trabajo, ya tienes funcionando todos los crawlers que trabajarán día y noche. Decides almacenar la información en una base de datos
no relacional que permite escalar en volumen y tener flexibilidad en el esquema de datos como Elastic Search o MongoDB. Además, utilizas un Bucket de
Google Storage o S3 para guardar la información audiovisual de manera fiable y performante. Creas así un Data Lake, es decir, un repositorio
centralizado de datos en bruto.
Al poco tiempo tu Data Lake tiene millones de datos esperando que los uses. Sin embargo, la información que proviene de los medios es completamente
heterogénea. Contiene textos, imágenes, audios, videos, cortos y largos, bien y mal escritos, etc. Necesitas, en efecto, transformar estos datos para
normalizarlos y poder consumirlos de manera más homogénea.
Dando sentido a tus datos
La normalización de un dataset es particularmente importante en el caso de los medios. ¿De qué me sirve obtener diariamente el texto de miles de
noticias si no sé a quién se menciona y de qué temática se habla? ¿Para qué saber que se han emitido cierta cantidad de publicidades si no puedo
identificar cuál es la marca, el mensaje central de la misma, su audiencia e impacto?
Afortunadamente, viene a tu rescate el Machine Learning. En los últimos años, viene creciendo de manera exponencial el interés por este campo en el
ámbito académico y en la industria. En este gráfico, podemos ver la cantidad de papers de inteligencia artificial que se han publicado en el sitio
arXiv en los últimos 30 años.
Decides entonces contratar un equipo especializado de ingenieros de machine learning. Luego de dos años de trabajo aplicando decenas de técnicas,
logras convertir tus datos “no estructurados” en datos “estructurados”. Es decir, le das sentido a tus datos.
Y así decides utilizar un motor de base de datos relacional, como PostgreSQL o MySQL, donde vas guardando la información estructurada, normalizada y
homogénea, para facilitar su análisis posterior. Estás por cantar victoria cuando descubres algo inquietante: la cantidad de datos que has acumulado,
que ya llega a los centenares de millones, es tan grande que resulta demasiado lento hacer cualquier consulta medianamente compleja.
La etapa final: El Data Warehouse
Por fin, logras implementar una última etapa en tu pipeline: utilizas un base de datos orientada a columnas, como BigQuery o ClickHouse, para crear un
Data Warehouse, es decir, una base de datos optimizada para el análisis y generación de informes.
Ahora sí, ya tienes todo para responder a tus preguntas originales. Sin embargo, han pasado 4 años. ¿Cuál es la buena noticia? Que en Seenka ya hicimos todo eso por vos, y puedes conseguir esta información de
manera inmediata en nuestra plataforma. Y si lo prefieres, puedes integrar la información directamente en tu BigQuery para analizarla con tus propias
herramientas.