Storage costs for Time Travel and Fail-safe
Storage costs for Time Travel and Fail-safe (타임 트래블과 페일세이프 저장 비용)
타임 트래블과 페일세이프 기간 동안 과거 데이터를 유지하는 데 저장 수수료가 발생해요. Snowflake는 테이블 타입과 테이블의 타임 트래블 보존 기간에 따라 과거 데이터를 유지해요.
본문
저장 사용량과 수수료
수수료는 데이터가 변경된 시점부터 매 24시간(즉 1일)마다 계산돼요. Snowflake가 과거 데이터를 유지하는 일수는 테이블 타입과 테이블의 타임 트래블 보존 기간에 따라 달라져요.
또한 Snowflake는 업데이트되거나 삭제된 개별 테이블 행을 복원하는 데 필요한 정보만 유지함으로써 과거 데이터에 필요한 저장 공간을 최소화해요. 그 결과 저장 사용량은 변경된 테이블의 비율로 계산돼요. Snowflake는 테이블이 드롭되거나 잘릴(truncate) 때만 테이블 전체 사본을 유지해요.
임시(temporary) 및 일시(transient) 테이블
타임 트래블과 페일세이프와 관련된 저장 비용을 관리하기 위해 Snowflake는 표준(즉, 영구, permanent) 테이블과 동일한 수수료가 발생하지 않는 임시 및 일시 테이블이라는 두 가지 테이블 타입을 제공해요.
- 일시(transient) 테이블은 타임 트래블 보존 기간을 0일 또는 1일로 가질 수 있어요.
- 임시(temporary) 테이블도 타임 트래블 보존 기간을 0일 또는 1일로 가질 수 있지만, 이 보존 기간은 테이블이 드롭되거나 테이블을 만든 세션이 끝나는 즉시 종료돼요.
- 일시 및 임시 테이블에는 페일세이프 기간이 없어요.
그 결과 이 테이블 타입들이 타임 트래블과 페일세이프로 인해 발생하는 최대 추가 수수료는 1일로 제한돼요. 다음 표는 테이블 타입에 따른 다양한 시나리오를 보여 줘요:
| 테이블 타입 | 타임 트래블 보존 기간 (일) | 페일세이프 기간 (일) | 유지되는 과거 데이터 최소, 최대 (일) |
|---|---|---|---|
| 영구 | 0 또는 1 (Snowflake Standard Edition) | 7 | 7, 8 |
| 0 ~ 90 (Snowflake Enterprise Edition) | 7 | 7, 97 | |
| 일시 | 0 또는 1 | 0 | 0, 1 |
| 임시 | 0 또는 1 | 0 | 0, 1 |
저장 비용 관리를 위한 임시·일시 테이블 사용 시 고려 사항
데이터를 영구, 임시, 일시 테이블 중 어디에 저장할지 선택할 때 다음 세부 사항을 고려해요.
- 임시 테이블은 생성된 세션이 끝나면 드롭돼요. 임시 테이블에 저장된 데이터는 테이블이 드롭된 후 복구할 수 없어요.
- 일시 테이블의 과거 데이터는 타임 트래블 보존 기간이 끝난 후 Snowflake가 복구할 수 없어요. 일시 테이블은 Snowflake와 독립적으로 복제하거나 재생성할 수 있는 데이터에만 사용해요.
- 팩트 테이블처럼 오래 존재하는 테이블은 페일세이프로 완전히 보호되도록 항상 영구로 정의해야 해요.
- 수명이 짧은 테이블은 일시로 정의해 페일세이프 비용을 없앨 수 있어요. 예를 들어 ETL 작업 테이블처럼 수명이 1일 미만인 데이터에 일시 테이블을 사용할 수 있어요.
- 다운타임과 손실된 데이터를 다시 로드하는 데 필요한 시간이 중요하다면, 영구 테이블이 추가 페일세이프 비용이 들더라도 일시 테이블보다 더 나은 전체 솔루션이 될 수 있어요.
Note
테이블의 기본 타입은 영구(permanent)예요. 테이블을 임시 또는 일시로 정의하려면 테이블 생성 시 타입을 명시적으로 지정해야 해요:
CREATE [ OR REPLACE ] [ TEMPORARY | TRANSIENT ] TABLE <name> ...
자세한 내용은 CREATE TABLE을 참고해요.
영구 테이블에서 일시 테이블로 데이터 마이그레이션
영구 테이블에서 일시 테이블로 데이터를 마이그레이션하려면 다음 작업을 수행해요.
- CREATE TABLE … AS SELECT를 사용해 원래 영구 테이블의 데이터로 일시 테이블을 만들고 채워요.
- 원래 테이블에 부여된 모든 접근 제어 권한을 새 테이블에 적용해요. 접근 제어에 대한 자세한 내용은 접근 제어 개요를 참고해요.
- DROP TABLE을 사용해 원래 테이블을 삭제해요.
- 선택적으로 ALTER TABLE을 사용해 새 테이블이 원래 테이블과 일치하도록 이름을 바꿔요.
백업 비용
다음 표는 백업 요금을 설명해요.
크레딧 소비에 대한 정보는 Snowflake Service Consumption Table을 참고해요.
| 비용 구성 요소 | 설명 | 청구 |
|---|---|---|
| 백업 컴퓨팅 | Snowflake 관리형 컴퓨팅 서비스가 예약된 백업 생성과 만료를 생성해요. | 예 |
| 복원 컴퓨팅 | Snowflake 관리형 웨어하우스가 백업에서 객체를 복원하는 데 사용돼요. | 예 |
| 백업 저장 | 백업 데이터를 저장하는 Snowflake 관리형 클라우드 객체 저장소. | 백업에 보존된 바이트에 대해 청구, 클론에 보존된 바이트와 유사함. |
백업 저장 비용은 TABLE_STORAGE_METRICS 뷰의 RETAINED_FOR_CLONE_BYTES 컬럼과 BACKUP_STORAGE_USAGE 뷰에서 모니터링할 수 있어요.
더 알아보기 (Learn more)
- Snowflake Time Travel & Fail-safe — 타임 트래블과 페일세이프 개요
- Understanding overall cost — 전체 비용 이해
- CREATE TABLE — 테이블 생성 구문
- 데이터 저장 고려 사항 — 저장 관련 고려 사항