타임트래블, Fail-safe, 제로카피 클로닝 — 데이터 복구 3종 세트
55 Snowflake Interview Questions Hiring DEs Actually Ask (2026) — 미상 (데이터 엔지니어 인터뷰 준비 블로그, 2026) Core Architecture & Fundamentals Q5, Q6, Q7 (pp.3-4); Advanced Transformation & Features Q49 (p.16); FAQ 절 Time Travel/Zero-copy Cloning (pp.17-19)
이 모듈을 다 읽으면
- Time Travel과 Fail-safe의 보존 기간·조회 가능 여부·적용 대상(테이블 종류)을 구분할 수 있다
- Zero-Copy Cloning이 즉시 스토리지를 복제하지 않는 이유(메타데이터 포인터 공유)를 설명할 수 있다
- UNDROP과 AT/BEFORE 절이 각각 어떤 복구 시나리오에 쓰이는지 판단할 수 있다
Time Travel(최대 90일, 사용자가 직접 조회·복구 가능)과 Fail-safe(고정 7일, Snowflake 지원팀을 통한 재해 복구 전용)는 서로 이어지는 두 겹의 데이터 보호 장치다. 다만 원문은 이 두 기능이 모든 테이블에 동일하게 적용되는 것처럼 서술하는데, 실제로는 Fail-safe가 영구(Permanent) 테이블에만 적용되고 트랜지언트·임시 테이블에는 적용되지 않는다는 중요한 예외가 있다. Zero-Copy Cloning은 물리적 복제 없이 메타데이터 포인터만 새로 만들어 순간적으로 스냅샷을 뜨는 기능이고, UNDROP은 이 보존 기간 안에서 실수로 삭제된 객체를 즉시 되살리는 명령이다.
Time Travel
Time Travel은 테이블·스키마·데이터베이스를 과거 특정 시점의 상태로 조회하거나, 클론하거나, 복원할 수 있게 해주는 기능이다. 모든 계정은 기본적으로 1일의 보존 기간을 가지며, Enterprise 이상 에디션에서는 이를 최대 90일까지 늘릴 수 있다. SQL의 AT 또는 BEFORE 절을 사용해 특정 시점(타임스탬프, 오프셋, 또는 쿼리 ID 이전)의 상태를 조회할 수 있으며, 이는 실수로 실행된 DROP 명령이나 의도치 않은 데이터 업데이트를 되돌릴 때 핵심적으로 쓰인다.
핵심 포인트
- Time Travel은 기본 1일, Enterprise 이상 에디션에서는 최대 90일까지 보존 기간을 설정할 수 있다
- AT/BEFORE 절로 과거 특정 시점의 테이블 상태를 조회·클론·복원할 수 있다
- 실수로 인한 DROP이나 잘못된 데이터 업데이트를 되돌리는 데 핵심적으로 사용된다
Fail-safe — 정정(적용 대상 명확화)
Fail-safe는 Time Travel 보존 기간이 끝난 직후부터 시작되는, 설정 불가능한 고정 7일짜리 데이터 보호 기간이다. 사용자는 Fail-safe 상태의 데이터를 직접 쿼리할 수 없고, 시스템 장애나 재해적 데이터 손실 상황에서 Snowflake 지원팀이 복구를 대행해주는 최후의 안전망 역할만 한다.
정정 — 원문은 이 설명을 마치 모든 테이블에 동일하게 적용되는 것처럼 서술하지만, 실제로 Fail-safe는 영구(Permanent) 테이블에만 적용된다. 트랜지언트(Transient) 테이블과 임시(Temporary) 테이블은 Fail-safe 기간이 아예 없다(사실상 0일). 대신 이 두 테이블 유형은 Time Travel 보존 기간도 짧게(트랜지언트는 최대 1일, 임시 테이블은 세션 종료 시 즉시 소멸) 제한되는 대신 스토리지 비용이 낮다.
이는 실무 판단으로 이어진다 — 장기 보관이 필요 없는 스테이징·중간 변환 테이블은 트랜지언트로 만들어 Fail-safe 비용(및 Time Travel 장기 보존 비용)을 아끼고, 반드시 재해 복구 안전망이 필요한 핵심 원본/집계 테이블만 영구 테이블로 유지하는 것이 비용 최적화의 기본 패턴이다.
핵심 포인트
- Fail-safe는 Time Travel 보존 기간 종료 직후 시작되는 고정 7일짜리 Snowflake 지원팀 전용 복구 기간이다
- 정정: Fail-safe는 영구(Permanent) 테이블에만 적용되며, 트랜지언트/임시 테이블에는 적용되지 않는다
- 장기 보관이 불필요한 스테이징 테이블을 트랜지언트로 만들면 Fail-safe·장기 Time Travel 비용을 절감할 수 있다
Zero-Copy Cloning과 UNDROP
Zero-Copy Cloning은 데이터베이스·스키마·테이블의 순간 스냅샷을 물리적 스토리지 복제나 추가 스토리지 비용 없이 만드는 기능이다. 내부적으로는 기존 마이크로파티션을 그대로 가리키는 새 메타데이터 레코드만 생성하며, 클론 이후 원본이나 클론 어느 한쪽에서 데이터가 변경될 때 비로소 새로운 마이크로파티션이 만들어진다(copy-on-write와 유사한 동작). 이 덕분에 프로덕션 데이터를 기반으로 한 Dev/QA 환경을 수 초 만에 만들 수 있다.
UNDROP은 실수로 삭제된 데이터베이스·스키마·테이블을 Time Travel 보존 기간 안에서 즉시 복원하는 명령이다. 백업에서 복원하거나 오래 걸리는 ETL 잡을 재실행할 필요 없이, 삭제 직전 상태 그대로를 되살릴 수 있다는 점에서 데이터 엔지니어에게 실질적인 안전망이 된다.
핵심 포인트
- Zero-Copy Cloning은 메타데이터 포인터만 새로 만들어 순간적으로 스냅샷을 생성하며, 변경이 생길 때만 새 마이크로파티션이 만들어진다
- 클론은 별도 스토리지 비용 없이 Dev/QA 환경을 즉시 만들 수 있게 해준다
- UNDROP은 Time Travel 보존 기간 내에서 실수로 삭제된 객체를 백업 복원 없이 즉시 되살린다