Time Travel 및 Fail-safe 관련 저장소 요금¶
Time Travel 및 Fail-safe 기간 동안 내역 데이터를 유지 관리하기 위한 저장소 비용이 발생합니다.
이 항목의 내용:
저장소 사용 및 요금¶
요금은 데이터가 변경된 시점부터 24시간(즉, 1일)마다 계산됩니다. 과거 데이터가 유지되는 기간(일)은 테이블 타입 및 테이블의 Time Travel 보존 기간을 기반으로 합니다.
또한, Snowflake는 업데이트되거나 삭제된 개별 테이블 행을 복원하는 데 필요한 정보만 유지하여 과거 데이터에 필요한 저장 공간을 최소화합니다. 결과적으로 저장소 사용량은 변경된 테이블의 백분율로 계산됩니다. 테이블의 전체 복사본은 테이블이 삭제되거나 잘린 경우에만 유지됩니다.
임시 및 일시적 테이블¶
Time Travel 및 Fail-safe와 관련된 저장소 비용을 관리하는 데 도움이 되도록 Snowflake는 임시 및 일시적의 두 가지 테이블 타입을 제공하며, 이러한 테이블은 표준(즉, 영구) 테이블과 요금이 다릅니다.
일시적 테이블의 Time Travel 보존 기간은 0일 또는 1일입니다.
임시 테이블의 Time Travel 보존 기간은 0 또는 1일일 수 있지만, 이 보존 기간은 테이블이 삭제되거나 테이블이 생성된 세션이 종료되는 즉시 종료됩니다.
일시적 및 임시 테이블에는 Fail-safe 기간이 없습니다.
결과적으로 이러한 타입의 테이블에서 Time Travel 및 Fail-safe에 대해 발생하는 최대 추가 요금은 1일로 제한됩니다. 다음 테이블은 테이블 타입에 따른 다양한 상황을 설명합니다.
테이블 타입 |
Time Travel 보존 기간(일) |
Fail-safe 기간(일) |
유지되는 최소 및 최대 과거 데이터(일) |
---|---|---|---|
영구 |
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 |
임시 및 일시적 테이블을 사용한 저장소 요금 관리에 대한 고려 사항¶
영구, 임시 또는 일시적 테이블에 데이터를 저장할지 여부를 선택할 때 고려해야 하는 사항은 다음과 같습니다.
임시 테이블은 생성된 세션이 종료되면 삭제됩니다. 임시 테이블에 저장된 데이터는 테이블이 삭제된 후에는 복구할 수 없습니다.
임시 테이블의 과거 데이터는 Time Travel 보존 기간이 종료된 후 Snowflake에서 복원할 수 없습니다. Snowflake와 독립적으로 복제하거나 재현할 수 있는 데이터의 경우 일시적 테이블만 사용해야 합니다.
정보 테이블과 같은 장기 유지 테이블은 항상 영구로 정의되어야 Fail-safe를 통해 완전하게 보호됩니다.
ETL 작업 테이블과 같은 단기 유지 테이블(즉, 1일 미만)은 일시적으로 정의하여 Fail-safe 비용이 발생하지 않도록 할 수 있습니다.
가동 중지 시간과 손실된 데이터를 다시 로드하는 데 필요한 시간이 요인인 경우 영구 테이블이 추가된 Fail-safe 비용이 발생하더라고 일시적 테이블보다 더 나은 전체 솔루션을 제공할 수 있습니다.
참고
테이블의 기본 타입은 영구 테이블입니다. 테이블을 임시 또는 일시적으로 정의하려면 테이블 생성 중에 타입을 명시적으로 지정해야 합니다.
CREATE [ OR REPLACE ] [ TEMPORARY | TRANSIENT ] TABLE <이름> ...
자세한 내용은 CREATE TABLE 섹션을 참조하십시오.
영구 테이블에서 일시적 테이블로 데이터 마이그레이션¶
영구 테이블에서 일시적 테이블로 데이터를 마이그레이션하려면 다음 작업을 수행해야 합니다.
CREATE TABLE … AS SELECT 를 사용하여 일시적 테이블을 생성한 후 원래 영구 테이블의 데이터로 채웁니다.
원래 테이블에 부여된 모든 액세스 제어 권한을 새 테이블에 적용합니다. 액세스 제어에 대한 자세한 내용은 액세스 제어의 개요 를 참조하십시오.
DROP TABLE 을 사용하여 원본 테이블을 삭제합니다.
선택 사항으로, ALTER TABLE 을 사용하여 원본 테이블과 일치하도록 새 테이블의 이름을 변경합니다.