DELTA LAKE: QUÉ ES Y CÓMO FUNCIONA
Delta Lake es una capa de almacenamiento open-source (de código abierto) que se coloca encima de un data lake tradicional para convertirlo en algo mucho más confiable y potente, similar a lo que tendrías en una base de datos, pero manteniendo la flexibilidad y bajo costo de un data lake. En palabras simples: Un data lake normal (basado en S3, ADLS, GCS, etc.) guarda archivos (normalmente en formato Parquet), pero tiene problemas graves:- No hay transacciones confiables → puedes terminar con datos corruptos o parciales.
- No valida esquemas → un proceso puede escribir datos con columnas equivocadas.
- No se pueden hacer UPDATE/DELETE/MERGE fácilmente.
- No hay "viaje en el tiempo" (time travel) para ver versiones anteriores.
- El rendimiento se degrada con millones de archivos pequeños.
¿Dónde se usa mucho?
-
Databricks (es el formato por defecto allí)
- Azure Synapse, Azure Databricks.
- AWS (con EMR, Glue, Athena, etc.).
- Google Cloud, Snowflake (soporte creciente).
- Cualquier entorno Spark que quiera un lakehouse moderno.
Características principales de Delta Lake
| Característica | Qué significa | Beneficio principal |
|---|---|---|
| Transacciones ACID | Atomicidad, Consistencia, Aislamiento, Durabilidad | Evita datos corruptos o parciales |
| Registro de transacciones | Un log (como el de una base de datos) que guarda todas las operaciones | Permite confiabilidad y recuperación |
| Time Travel | Puedes consultar cómo estaban los datos en una versión anterior o fecha | Auditoría, rollback, depuración |
| Schema Enforcement + Evolution | Obliga a respetar el esquema + permite evolucionarlo de forma controlada | Evita basura en los datos |
| UPDATE, DELETE, MERGE | Soporta operaciones como en una base de datos (no solo append) | Útil para CDC, correcciones, deduplicación |
| Optimizaciones | Z-Ordering, data skipping, file compaction, caching | Mucho mejor rendimiento en consultas grandes |
| Unified Batch + Streaming | La misma tabla sirve para batch y streaming sin duplicar datos | Arquitectura más simple |