≡En resumen
- Un data lake guarda los datos tal como llegan y deja la transformación para el momento del análisis.
- Admite datos estructurados, semiestructurados, no estructurados y binarios en el mismo repositorio.
- Frente al data warehouse gana en flexibilidad y coste, pero pierde en orden y rapidez para informes.
- Sin catálogo, permisos y control de calidad se convierte en un data swamp (pantano de datos).
- El lakehouse combina el almacenamiento barato del lago con las garantías de un almacén de datos.
01 ¿Qué es un data lake?
El término lo propuso James Dixon, entonces CTO de la empresa de software Pentaho, en una entrada de su blog publicada el 14 de octubre de 2010. Para explicarlo comparó un data mart con agua embotellada (limpia, envasada y lista para consumir) y el data lake con una gran masa de agua en estado natural, a la que cada usuario acude a examinar, bucear o tomar muestras. La idea nació con el auge de Hadoop y del big data, cuando guardar todo empezó a salir más barato que decidir qué descartar.
02 Cómo funciona un lago de datos: schema-on-read
La clave técnica es el schema-on-read (esquema en lectura). En una base de datos clásica o en un almacén de datos se usa schema-on-write: antes de escribir hay que definir columnas, tipos y reglas. En un data lake el dato se escribe tal cual y la estructura se aplica en el momento de consultarlo, con la herramienta y el formato que necesite cada análisis.
-
1
Ingesta
Los datos llegan desde bases de datos, APIs, ficheros, sensores o registros de la web, por lotes o en tiempo real.
-
2
Zona en bruto
Se guardan sin modificar, normalmente en almacenamiento de objetos barato y organizados por origen y fecha.
-
3
Catalogación
Un catálogo de metadatos registra qué hay, de dónde viene, quién es responsable y qué datos personales contiene.
-
4
Zona depurada
Procesos de limpieza y transformación generan versiones fiables en formatos columnares como Parquet.
-
5
Consumo
Analistas, científicos de datos y herramientas de BI consultan los datos preparados o los modelos de machine learning se entrenan con ellos.
03 Qué datos se guardan en un data lake
Estructurados
Tablas de bases de datos relacionales, exportaciones del ERP o del CRM con filas y columnas.
Semiestructurados
Ficheros CSV, JSON, XML o logs de servidor con cierta organización pero sin esquema fijo.
No estructurados
Correos electrónicos, documentos PDF o Word, transcripciones y comentarios de clientes.
Binarios
Imágenes, audio y vídeo, útiles para visión artificial o análisis de llamadas.
04 Data lake vs data warehouse vs lakehouse
| Aspecto | Data lake | Data warehouse | Data lakehouse |
|---|---|---|---|
| Tipo de datos | Cualquiera, en bruto | Estructurados y depurados | Cualquiera, con capa de tablas gestionadas |
| Esquema | En lectura (schema-on-read) | En escritura (schema-on-write) | Ambos, según la capa |
| Coste de almacenamiento | Bajo (almacenamiento de objetos) | Más alto por volumen | Bajo, sobre almacenamiento de objetos |
| Usuario típico | Ingenieros y científicos de datos | Analistas de negocio y dirección | Ambos perfiles |
| Uso principal | Machine learning, exploración, archivo | Informes y cuadros de mando | BI y machine learning sobre los mismos datos |
| Riesgo | Convertirse en un pantano de datos | Rigidez ante datos nuevos | Mayor complejidad técnica |
El data warehouse guarda datos ya limpios y modelados para responder rápido a preguntas conocidas, y es la base habitual del business intelligence. El lago guarda todo por si acaso y sirve mejor para preguntas nuevas. En la práctica muchas empresas usan los dos: el lago como zona de aterrizaje y el almacén como capa de consumo.
05 Para qué sirve un data lake: usos y ejemplos
Machine learning
Entrenar modelos de recomendación, previsión de demanda o detección de fraude con históricos completos.
Analítica de clientes
Unir navegación web, compras, emails y llamadas para entender el recorrido completo del cliente.
IoT y registros
Almacenar millones de lecturas de sensores o logs de servidores que no caben en una base de datos transaccional.
Archivo y cumplimiento
Conservar datos históricos a bajo coste durante los plazos que exija la normativa.
Una cadena de clínicas guarda en su lago las citas del software de gestión, las llamadas transcritas de su centralita, las reseñas de Google y los resultados de sus campañas. Con esos datos:
- Detecta qué franjas horarias tienen más cancelaciones.
- Clasifica automáticamente los motivos de queja en las reseñas.
- Aplica técnicas de data mining para descubrir qué tratamientos se contratan juntos.
Los informes mensuales para dirección, en cambio, salen de un almacén de datos alimentado desde el propio lago.
06 Riesgos: el data swamp y la privacidad
- ✓Catálogo de metadatos con origen, responsable y fecha de cada conjunto de datos.
- ✓Permisos por zona y por tipo de dato, con registro de accesos.
- ✓Identificación de datos personales y plazos de conservación conforme al RGPD.
- ✓Seudonimización o cifrado de la información sensible antes de abrirla a analistas.
- ✓Controles de calidad y deduplicación en el paso de la zona en bruto a la depurada.
- ✓Política de borrado para lo que ya no tiene uso ni obligación legal de guardarse.
07 Herramientas para crear un data lake
| Herramienta | Proveedor | Papel en el lago |
|---|---|---|
| Amazon S3 y AWS Lake Formation | Amazon Web Services | Almacenamiento de objetos y gobierno de permisos |
| Azure Data Lake Storage | Microsoft | Almacenamiento optimizado para analítica en Azure |
| Google Cloud Storage y BigLake | Google Cloud | Almacenamiento y tablas consultables desde BigQuery |
| HDFS | Apache Hadoop (código abierto) | Sistema de ficheros distribuido en servidores propios |
| Delta Lake y Apache Iceberg | Código abierto | Formatos de tabla que convierten el lago en lakehouse |
| Apache Spark | Código abierto | Procesamiento y transformación de grandes volúmenes |
Si te interesa el enfoque de negocio más que el técnico, este artículo explica cómo ayuda un data lake a un CMO en la estrategia de marketing, con ejemplos de uso para el departamento de marketing.
08 ¿Necesita tu empresa un data lake?
-
1
Mira el volumen y la variedad
Si tus datos caben en una base SQL y son tablas, probablemente no lo necesitas todavía.
-
2
Define el caso de uso
Un lago tiene sentido cuando quieres entrenar modelos, cruzar texto, audio o logs, o guardar históricos masivos.
-
3
Empieza pequeño
Un bucket en la nube, dos o tres fuentes y un catálogo sencillo bastan para validar el valor.
-
4
Gobierna desde el primer día
Asigna responsables, permisos y reglas de conservación antes de que el volumen crezca.
Para una pyme lo habitual no es montar un lago desde cero, sino conectar sus herramientas a un almacenamiento en la nube cuando aparece un proyecto concreto, como un modelo de previsión o un asistente que responda con los datos de la empresa. En esos casos solemos combinar el desarrollo de aplicaciones empresariales que recogen y ordenan los datos con proyectos para implantar inteligencia artificial en tu empresa sobre esa base.
Preguntas frecuentes sobre Data Lake
Significa lago de datos: un repositorio que almacena datos en su formato original, sin transformarlos, para analizarlos más adelante con distintas herramientas.
Sirve para centralizar datos de muchas fuentes y formatos a bajo coste y usarlos después en machine learning, analítica avanzada, informes o archivo histórico.
El data lake guarda datos en bruto y aplica la estructura al leerlos; el data warehouse guarda datos ya limpios y modelados para consultas e informes rápidos.
Es un data lake mal gestionado, lleno de datos sin documentar, sin responsable y de calidad dudosa, que nadie puede aprovechar.
Es una arquitectura que combina el almacenamiento barato y flexible de un data lake con funciones de data warehouse como transacciones ACID y control de calidad.
Las más habituales son Amazon S3, Azure Data Lake Storage y Google Cloud Storage para almacenar, y Apache Spark, Delta Lake o Apache Iceberg para procesar y organizar.
James Dixon, CTO de Pentaho, en una entrada de su blog publicada el 14 de octubre de 2010.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗