🧹 VACUUM y los archivos obsoletos en Delta Lake
- 19 jun
- 1 min de lectura
Después de entender cómo funcionan las Delta Tables, el Transaction Log y el Time Travel, surge una pregunta bastante natural:
👉 ¿Qué ocurre con los archivos antiguos cuando realizamos cambios sobre una tabla?
La respuesta está relacionada con una característica fundamental de Delta Lake: los archivos son inmutables. Por ello, operaciones como:
INSERT
UPDATE
DELETE
MERGE
OPTIMIZE
no modifican archivos existentes. En su lugar:
📦 Se generan nuevos archivos Parquet.
📝 Se registra una nueva versión en el Transaction Log.
🚫 Los archivos anteriores quedan marcados como obsoletos.
Estos archivos permanecen físicamente almacenados porque pueden ser necesarios para funcionalidades como:
⏳ Time Travel
🔄 Restore Table
📜 Auditoría histórica
¿Qué hace VACUUM?
VACUUM es el mecanismo que permite eliminar físicamente aquellos archivos que ya no son necesarios para la tabla. Por defecto, Delta Lake mantiene protegidos los archivos generados durante los últimos 7 días, permitiendo recuperar versiones recientes mediante Time Travel o RESTORE. Sin embargo, una vez que los archivos son eliminados por VACUUM:
❌ Ya no pueden utilizarse para Time Travel.
❌ Ya no pueden utilizarse para RESTORE.
❌ No pueden recuperarse mediante Delta Lake.
Conclusión
VACUUM no existe para mejorar consultas ni acelerar lecturas, su objetivo principal es liberar almacenamiento eliminando archivos obsoletos que ya no son necesarios para la operación normal de la tabla. Por ello, siempre debe utilizarse considerando el equilibrio entre:
⚖️ Capacidad de recuperación de datos
🧹 Uso eficiente del almacenamiento
📌 En el notebook asociado a esta práctica muestro una demostración sencilla del comportamiento de los archivos obsoletos y del período de retención utilizado por Delta Lake. Repositorio-GitHub


Comentarios