BigData / Apache Iceberg Interview questions
What is time travel in Apache Iceberg?
Time travel is the ability to query an Iceberg table as it existed at a past point in its committed history, by specifying either a specific snapshot ID or a timestamp, rather than only ever being able to query the table's current, latest state.
SELECT * FROM events FOR SYSTEM_TIME AS OF '2026-01-15 10:00:00'; SELECT * FROM events FOR SYSTEM_VERSION AS OF 89347598;
Because every write produces a new, immutable snapshot rather than modifying existing data, and old snapshots (along with the data files they reference) remain available until explicitly expired, querying a past snapshot is simply a matter of following that older snapshot's manifest list and manifest files instead of the current one — the same query planning mechanism, just anchored to a different point in the table's history.
Common use cases include debugging ("what did this table look like when this report was generated?"), reproducible machine learning experiments (training against the exact dataset version used previously), and auditing changes over time, all without needing a separate, manually maintained backup or versioning system layered on top of the table.
More Related questions...