Time Travel
also called Data Versioning, Snapshot Query
Querying a table as it existed at a previous version or timestamp, made possible by keeping the metadata and files of prior commits.
Because an open table format commits by writing new metadata rather than mutating files, previous versions remain valid until the files are explicitly expired. Querying an old version is therefore just reading an old metadata pointer.
Four uses that justify it independently:
Reproducibility. A model trained or a report produced against version 1,847 can be re-run against exactly that data years later — which is a regulatory requirement in several industries and otherwise impossible once a table has been updated.
Recovery. A bad job that corrupted a table is undone by rolling back to the previous version, in seconds, without a restore.
Debugging. Diffing two versions answers "what changed between these runs" directly.
Incremental processing. Reading only the changes between two versions is what makes efficient downstream pipelines possible without a separate change stream.
The cost is storage: old files persist until expired, so retention is a deliberate policy with a bill attached. And it interacts with deletion obligations — a GDPR erasure is not complete while an old snapshot still contains the row, so retention must be short enough to satisfy the shortest deletion deadline, or the erasure must be crypto-shredding.