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.
Delta Lake soluciona todo esto añadiendo una capa inteligente encima de los archivos Parquet.

¿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