Storage costs for Time Travel and Fail-safe

Storage costs for Time Travel and Fail-safe (타임 트래블과 페일세이프 저장 비용)

타임 트래블과 페일세이프 기간 동안 과거 데이터를 유지하는 데 저장 수수료가 발생해요. Snowflake는 테이블 타입과 테이블의 타임 트래블 보존 기간에 따라 과거 데이터를 유지해요.

출처: Snowflake Documentation

본문

저장 사용량과 수수료

수수료는 데이터가 변경된 시점부터 매 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을 참고해요.

영구 테이블에서 일시 테이블로 데이터 마이그레이션

영구 테이블에서 일시 테이블로 데이터를 마이그레이션하려면 다음 작업을 수행해요.

  1. CREATE TABLE … AS SELECT를 사용해 원래 영구 테이블의 데이터로 일시 테이블을 만들고 채워요.
  2. 원래 테이블에 부여된 모든 접근 제어 권한을 새 테이블에 적용해요. 접근 제어에 대한 자세한 내용은 접근 제어 개요를 참고해요.
  3. DROP TABLE을 사용해 원래 테이블을 삭제해요.
  4. 선택적으로 ALTER TABLE을 사용해 새 테이블이 원래 테이블과 일치하도록 이름을 바꿔요.

백업 비용

다음 표는 백업 요금을 설명해요.

크레딧 소비에 대한 정보는 Snowflake Service Consumption Table을 참고해요.

비용 구성 요소 설명 청구
백업 컴퓨팅 Snowflake 관리형 컴퓨팅 서비스가 예약된 백업 생성과 만료를 생성해요. 예
복원 컴퓨팅 Snowflake 관리형 웨어하우스가 백업에서 객체를 복원하는 데 사용돼요. 예
백업 저장 백업 데이터를 저장하는 Snowflake 관리형 클라우드 객체 저장소. 백업에 보존된 바이트에 대해 청구, 클론에 보존된 바이트와 유사함.

백업 저장 비용은 TABLE_STORAGE_METRICS 뷰의 RETAINED_FOR_CLONE_BYTES 컬럼과 BACKUP_STORAGE_USAGE 뷰에서 모니터링할 수 있어요.

더 알아보기 (Learn more)