You have a large table in BigQuery that is updated constantly. You need to perform a query that is consistent. What should you use?
Time travel reads a consistent version of the table as of a past timestamp, so concurrent streaming inserts cannot skew results mid-query. This satisfies the stem's consistency constraint on a constantly updated table, unlike a plain query that may observe rows arriving during execution.
Why this answer
BigQuery time travel lets you query a table as it existed at any point within the last seven days, and table snapshots preserve a consistent view of the data at a specific moment. Because the table is constantly updated, querying the live table can return rows from different micro-batches; time travel or a snapshot gives you a point-in-time consistent read.
Exam trap
The trap here is confusing 'consistent' with 'fast' or 'cached' — candidates pick materialized views thinking they give stable results, but MVs refresh and reflect current data, not a point-in-time state.
How to eliminate wrong answers
Option A is wrong because a stored procedure is just a reusable SQL script — it does not provide snapshot isolation against concurrent writes. Option B is wrong because an external table reads from external storage (GCS, BigLake) and offers no consistency guarantee relative to BigQuery-managed updates. Option D is wrong because a materialized view is automatically refreshed and reflects the latest base-table state, so it is not a consistent point-in-time view.