Visualización del Historial de la Tabla (Fundamentos de Time Travel)
Desliza para mostrar el menú
Time Travel es una funcionalidad de Delta Lake que permite consultar versiones anteriores de una tabla. Utilizando el Transaction Log, Databricks puede reconstruir el estado de tus datos en cualquier punto de su historial registrado.
Una de las "redes de seguridad" más potentes en Databricks es la capacidad de ver exactamente quién cambió una tabla, cuándo la cambió y cómo se veían los datos antes de ese cambio.
Para nuestra tabla diamonds en workspace.workshop.diamonds, cada actualización o eliminación se rastrea automáticamente.
1. El comando DESCRIBE HISTORY
Para ver la línea de tiempo completa de tus datos, utiliza el comando DESCRIBE HISTORY — proporciona un registro detallado de cada versión de la tabla.
DESCRIBE HISTORY workspace.workshop.diamonds
Al ejecutar este comando, verás una tabla con las siguientes columnas clave:
- version: un entero que comienza en 0 (la primera vez que se creó la tabla);
- timestamp: la fecha y hora exactas en que ocurrió el cambio;
- userName: la persona que realizó la acción;
- operation: lo que sucedió (por ejemplo,
WRITE,UPDATE,DELETEoMERGE); - operationParameters: detalles técnicos sobre el cambio.
2. Consultar una versión específica
Si una actualización reciente alteró la columna "Price", es posible consultar una versión anterior específica para ver los valores originales utilizando la sintaxis VERSION AS OF.
-- Look at the diamonds table exactly as it was in Version 0
SELECT * FROM workspace.workshop.diamonds VERSION AS OF 0
3. Consultar por marca de tiempo
Si no se conoce el número de versión pero se sabe que los datos eran correctos en un momento específico, es posible "viajar" atrás usando TIMESTAMP AS OF.
-- Look at the data as it existed at a specific time
SELECT * FROM workspace.workshop.diamonds TIMESTAMP AS OF '2026-02-11 09:00:00'
4. Importancia de esta funcionalidad
En bases de datos tradicionales, si se ejecuta accidentalmente un comando DELETE sin cláusula WHERE, es necesario contactar a un administrador de bases de datos para restaurar una copia de seguridad, un proceso que puede tomar horas.
Con Delta Lake Time Travel, es posible corregir el error en segundos seleccionando los datos de una versión anterior y sobrescribiendo la tabla actual dañada con los datos históricos correctos.
5. Gestión del historial
Por defecto, Delta Lake mantiene 30 días de historial. Aunque es muy útil, almacenar el historial requiere conservar archivos de datos antiguos, pero los archivos de datos subyacentes de las versiones eliminadas/sobrescritas solo se conservan durante 7 días (delta.deletedFileRetentionDuration) antes de que VACUUM pueda eliminarlos.
En entornos profesionales, los ingenieros de datos utilizan el comando VACUUM para limpiar archivos muy antiguos y reducir los costos de almacenamiento. Para este curso, tu historial está seguro y listo para su exploración.
VACUUM es un comando de limpieza que elimina permanentemente los archivos de datos antiguos que Delta Lake ya no necesita — aquellos que quedan después de actualizaciones, eliminaciones o sobrescrituras.
VACUUM workspace.workshop.diamonds
Por defecto, Delta mantiene 30 días de historial de archivos para Time Travel. VACUUM elimina los archivos más antiguos que ese umbral para ahorrar espacio de almacenamiento.
También puedes establecer una ventana de retención personalizada:
VACUUM workspace.workshop.diamonds RETAIN 7 HOURS
1. ¿Qué comando SQL te permite ver la lista de todas las versiones anteriores y operaciones realizadas en una tabla?
2. Actualizaste accidentalmente la tabla diamonds y quieres ver los datos de hace 10 minutos. ¿Qué sintaxis deberías usar?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla