51. Contrast Snowflake Time Travel with Fail-safe recovery.
Explain who initiates recovery, when each mechanism applies, and how transient tables differ.
Time Travel is customer-controlled recovery during the configured retention window using historical queries, cloning, or UNDROP. Fail-safe follows Time Travel for permanent tables, lasts seven days, and is a best-effort Snowflake recovery service. Transient tables have 0 or 1 day of Time Travel and no Fail-safe.
Snowflake Time Travel and Fail-safe protect historical data at different stages of its lifecycle. Time Travel is the normal recovery mechanism available directly to authorized users while historical data remains within the object's retention period. Fail-safe applies afterward to historical data from permanent tables and is an exceptional, best-effort recovery service operated by Snowflake rather than a customer-accessible historical-query feature. The key interview distinction is control, timing, and table type: users perform Time Travel operations themselves, Snowflake handles Fail-safe recovery requests, and transient tables intentionally have no Fail-safe protection after their short Time Travel window expires.
- Should I compare permanent and transient tables explicitly?
- Do you want me to include how Snowflake edition affects the maximum Time Travel retention period?
- Should I discuss the storage-cost and recoverability trade-off of transient tables?
Start with the recovery lifecycle. When data is modified or an eligible object is dropped, Snowflake can preserve historical state for the configured Time Travel retention period. While that historical state is still inside Time Travel, authorized users can directly perform supported Time Travel operations. These include querying historical table data, creating a clone from an earlier state, and using UNDROP for supported dropped objects. This makes Time Travel the normal first-line mechanism for investigating or recovering recent accidental changes.
After the Time Travel retention period ends, historical data for permanent tables transitions into Fail-safe. Fail-safe is separate from Time Travel and lasts for a non-configurable seven-day period. Customers cannot use Fail-safe as an extended historical-query window, cannot issue normal Time Travel queries against Fail-safe data, and cannot use CLONE or UNDROP to recover an object once its usable Time Travel history has expired. If an extreme failure requires recovery and other recovery options have been exhausted, the customer can contact Snowflake Support. Snowflake may be able to recover the data on a best-effort basis; recovery is not guaranteed.
Table type is an important part of the comparison. Permanent tables have a seven-day Fail-safe period after their Time Travel retention ends. Transient tables can have a Time Travel retention period of only 0 or 1 day and have no Fail-safe period. After the retained historical data for a transient table is gone, neither the customer nor Snowflake can recover it through Fail-safe. Therefore, transient tables are appropriate only when the data does not require Fail-safe protection or can be reconstructed independently.
Time Travel retention also depends on Snowflake edition and table type. For permanent tables in Standard Edition, the retention period is 0 or 1 day. With Enterprise Edition or higher, permanent-table retention can be configured from 0 through 90 days. Transient tables remain limited to 0 or 1 day. A retention setting of 0 effectively disables usable Time Travel for the object, although permanent-table historical data can still transition to Fail-safe through Snowflake's background processing.
For example, suppose a production permanent table is accidentally dropped. If it is still within Time Travel, an authorized user should use the supported Time Travel recovery mechanism, such as UNDROP, rather than depend on Fail-safe. If Time Travel is no longer available but the relevant historical data is still within the following Fail-safe period, the organization must contact Snowflake Support and recovery is best effort. If the same object were a transient table and its Time Travel window had expired, there would be no Fail-safe fallback.
The trade-off is protection versus storage cost and recoverability. Permanent tables are appropriate for important data that is difficult to reconstruct because they include Fail-safe protection. Transient tables avoid Fail-safe storage and can be useful for reproducible staging or intermediate data, but the team must explicitly accept that the historical data is unrecoverable through Snowflake after its Time Travel retention ends.
- Identify whether the affected table is permanent or transient.
- Determine whether the required historical state is still within the table's effective Time Travel retention period.
- If it is, use the appropriate customer-controlled Time Travel operation, such as a historical query, clone, or UNDROP.
- If Time Travel has expired and the table is permanent, determine whether the historical data is still within the following seven-day Fail-safe period.
- If exceptional recovery is necessary and other options have been exhausted, contact Snowflake Support; understand that Fail-safe recovery is best effort rather than guaranteed.
- If the table is transient and Time Travel has expired, reconstruct the data from an independent source if one exists because Fail-safe is unavailable.
- Validate the recovered or reconstructed data before resuming normal downstream use.
The main cost is storage rather than application CPU or memory. Snowflake must retain historical data changed or deleted during Time Travel, so longer retention can increase storage usage, particularly for high-churn tables. Permanent tables also retain historical data for the seven-day Fail-safe period. Transient tables avoid Fail-safe storage and have at most one day of Time Travel, reducing historical-storage overhead but also reducing recoverability. Time Travel is operationally simpler because authorized users can perform supported recovery operations themselves. Fail-safe involves escalation to Snowflake and should not be treated as a normal or guaranteed recovery workflow. Network and compute costs are usually secondary to the storage and operational implications for this comparison.
Interviewers want to see whether you understand Snowflake's recovery lifecycle instead of treating Time Travel and Fail-safe as interchangeable backup features. A strong answer distinguishes who performs recovery, when each mechanism applies, what operations are available, the best-effort nature of Fail-safe, and why transient tables trade additional recoverability for lower historical-storage overhead.
A common mistake is describing Fail-safe as seven extra days of Time Travel. It is not: normal Time Travel querying, historical cloning, and UNDROP are not available once the relevant history has left Time Travel. Another mistake is claiming customers directly restore Fail-safe data with SQL; Snowflake operates Fail-safe recovery, and customers must contact Snowflake Support for exceptional recovery. Candidates also sometimes present Fail-safe recovery as guaranteed, although Snowflake describes it as best effort. Finally, transient tables have no Fail-safe period, and their Time Travel retention is limited to 0 or 1 day regardless of the longer retention available for permanent tables on higher Snowflake editions.
Explain the lifecycle in order: Time Travel first, then Fail-safe for permanent-table historical data. Emphasize three contrasts: customer-controlled versus Snowflake-operated recovery, retention-period timing, and permanent versus transient table protection. Mention that Fail-safe is best effort so you do not accidentally present it as a guaranteed backup.









