TABLE_STORAGE_METRICS 뷰¶
이 뷰는 테이블 수준 저장소 사용률 정보를 표시합니다. 이는 계정의 각 테이블에 대한 저장소 청구를 계산하는 데 사용되며, 여기에는 삭제되었지만 여전히 저장소 비용이 발생하는 테이블이 포함됩니다.
테이블 메타데이터 외에도 뷰에는 각 테이블에 대해 청구되는 저장소 바이트 수가 표시됩니다. Snowflake는 바이트를 다음 범주로 나눕니다.
쿼리할 수 있는 테이블의 데이터를 나타내는 활성 바이트입니다.
시스템에서 아직 제거되지 않았기 때문에 저장소 요금이 계속 발생하는 삭제된 바이트입니다. 이러한 바이트는 다음 하위 범주로 분류됩니다.
Time Travel의 바이트(즉, 최근에 삭제되었지만 여전히 테이블의 Time Travel 보존 기간 내에 있음).
Fail-safe의 바이트(즉, Time Travel 보존 기간이 지났지만 테이블의 Fail-safe 기간 내에 있는 삭제된 바이트).
복제본에 대해 보존된 바이트(즉, 더 이상 Time Travel 또는 Fail-safe에 있지 않지만 테이블의 복제본이 해당 바이트를 참조하기 때문에 여전히 보존되는 삭제된 바이트).
즉, 테이블 내 데이터의 가능한 상태(즉, 활성, Time Travel, Fail-safe 또는 복제본에 대해 보존됨)와 관계없이 해당 테이블에 더 이상 저장소 요금이 청구되지 않을 때까지 이 뷰에서 행이 유지됩니다.
테이블의 데이터 저장소에 대한 자세한 내용은 데이터 저장소 고려 사항 을 참조하십시오.
참고
이 뷰를 쿼리하려면 ACCOUNTADMIN 역할을 사용해야 합니다. 이 뷰는 다른 뷰에서 볼 수 있고 쿼리할 수 있지만, 쿼리는 행을 반환하지 않습니다.
열¶
열 이름 |
데이터 타입 |
설명 |
---|---|---|
TABLE_CATALOG |
TEXT |
테이블이 속한 데이터베이스입니다. |
TABLE_SCHEMA |
TEXT |
테이블이 속한 스키마입니다. |
TABLE_NAME |
TEXT |
테이블의 이름입니다. |
ID |
NUMBER |
테이블의 고유 식별자입니다. |
CLONE_GROUP_ID |
NUMBER |
이 테이블의 가장 오래된 복제본 상위 항목에 대한 고유 식별자입니다. 테이블이 복제본이 아닌 경우 ID와 동일합니다. |
IS_TRANSIENT |
TEXT |
테이블이 일시적이거나 임시적이면 ‘YES’, 그렇지 않으면 ‘NO’입니다. 일시적 및 임시 테이블에는 Fail-safe 기간이 없습니다. |
ACTIVE_BYTES |
NUMBER |
이 테이블이 소유하고 이 테이블에 청구되는 바이트로, 해당 테이블에 대해 활성 상태에 있습니다. |
TIME_TRAVEL_BYTES |
NUMBER |
이 테이블이 소유하고 이 테이블에 청구되는 바이트로, 해당 테이블에 대해 Time Travel 상태에 있습니다. |
FAILSAFE_BYTES |
NUMBER |
이 테이블이 소유하고 이 테이블에 청구되는 바이트로, 해당 테이블에 대해 Fail-safe 상태에 있습니다. |
RETAINED_FOR_CLONE_BYTES |
NUMBER |
이 테이블이 소유하고 이 테이블에 청구되는 바이트로, 이 테이블의 복제본 한 개 이상에서 참조하기 때문에 삭제 후에도 보존되어 있습니다. |
TABLE_CREATED |
TIMESTAMP_LTZ |
테이블이 만들어진 날짜 및 시간입니다. |
TABLE_DROPPED |
TIMESTAMP_LTZ |
테이블이 삭제된 날짜 및 시간입니다. 테이블이 삭제되지 않은 경우 NULL입니다. |
TABLE_ENTERED_FAILSAFE |
TIMESTAMP_LTZ |
테이블이 삭제된 경우 Fail-safe 상태 또는 NULL이 된 날짜 및 시간입니다. 이 상태에서는 UNDROP을 사용하여 테이블을 복원할 수 없습니다. |
CATALOG_CREATED |
TIMESTAMP_LTZ |
테이블을 포함하는 데이터베이스가 만들어진 날짜 및 시간입니다. |
CATALOG_DROPPED |
TIMESTAMP_LTZ |
테이블을 포함하는 데이터베이스가 삭제된 날짜 및 시간입니다. |
SCHEMA_CREATED |
TIMESTAMP_LTZ |
테이블을 포함하는 스키마가 만들어진 날짜 및 시간입니다. |
SCHEMA_DROPPED |
TIMESTAMP_LTZ |
테이블을 포함하는 스키마가 삭제된 날짜 및 시간입니다. |
COMMENT |
TEXT |
테이블에 대한 설명입니다. |
사용법 노트¶
active_bytes
,time_travel_bytes
,failsafe_bytes
,retained_for_clone_bytes
에 대한 저장소 관련 통계를 업데이트하는 데 1-2시간 지연이 있을 수 있습니다.ID 및 CLONE_GROUP_ID:
테이블의 이름이 바뀌거나 삭제되는 경우를 포함하여 수명 주기 동안 테이블의 ID는 변경되지 않습니다.
CLONE_GROUP_ID 는 테이블이 삭제되었지만 여전히 저장소 비용이 발생하는 경우를 포함하여 복제본의 가장 오래된 상위 항목의 ID입니다. 예:
테이블
t2
는t1
에서 복제됩니다.테이블
t3
는t2
에서 복제됩니다.
t1
이 삭제되고 결국 Snowflake에서 제거되더라도 세 테이블 모두t1
의 ID 를 CLONE_GROUP_ID 로 나열합니다.ID 및 CLONE_GROUP_ID가 동일하면 해당 테이블은 복제본이 아닙니다.
저장소 바이트는 해당 바이트가 처음 추가된 테이블이 항상 소유하므로 해당 테이블에 청구됩니다. 그런 다음 테이블이 복제되는 경우, 이러한 초기 바이트에 대한 저장소 메트릭은 복제본으로 전송되지 않습니다. 초기 바이트가 소스 테이블에서 삭제되더라도 마찬가지입니다.
복제된 테이블은 원본 테이블이나 복제된 테이블이 수정될 때까지 마이크로 파티션 수준에서 동일한 기본 저장소를 공유합니다. 각 테이블이 변경될 때마다 테이블은 변경된 바이트의 “소유권”을 갖습니다.
삭제된 테이블은 여전히 저장소 비용이 발생하는 한 뷰에 표시됩니다.
삭제된 테이블은 활성 저장소 메트릭을 보존하며, 이는 테이블이 복원될 경우 활성 상태가 될 바이트 수를 나타냅니다.
테이블의 Time Travel 보존 기간에 삭제된 테이블은 UNDROP을 사용하여 복원할 수 있습니다.
Fail-safe(TABLE_ENTERED_FAILSAFE가 NULL이 아님)에서 삭제된 테이블은 다음을 제외하고 대부분의 열에 잠재적으로 NULL 값을 표시합니다.
- ID 열:
ID , CLONE_GROUP_ID
- 바이트 열:
ACTIVE_BYTES , TIME_TRAVEL_BYTES , FAILSAFE_BYTES , RETAINED_FOR_CLONE_BYTES
이러한 테이블은 UNDROP을 사용하여 복원할 수 없습니다.
Time Travel 보존 기간이 0일인 테이블에서 데이터가 삭제되면 비동기 백그라운드 프로세스는 테이블 형식에 따라 활성 바이트를 제거하거나 Fail-safe 저장소로 직접 옮깁니다. 완료하는 데 시간이 조금 걸릴 수 있습니다. 이 시간 동안
TIME_TRAVEL_BYTES
열은 Time Travel 보존 기간이 0일인 경우에도, 0이 아닌 값을 포함할 수 있습니다.FAILSAFE_BYTES
는 Time Travel을 넘어 지나간 바이트를 나타냅니다. 이러한 모든 바이트는 현재 테이블에 청구됩니다.여러 행의 TABLE_NAME 열에 동일한 값이 있는 경우, 이는 여러 버전의 테이블이 있음을 나타냅니다. CREATE OR REPLACE TABLE 명령이 기존 테이블에서 실행되는 경우를 포함하여, 테이블이 삭제되고 동일 이름의 새 테이블이 만들어질 때마다 버전이 만들어집니다. 현재 버전은 TABLE_DROPPED 열에 대해 NULL 값을 갖습니다. 다른 모든 버전에는 타임스탬프 값이 있습니다. 테이블의 각 버전은 Time Travel(그리고 테이블이 영구적인 경우 Fail-safe)과 관련된 저장소 비용을 발생시키기 때문에 이 점에 유의하는 것이 중요합니다.
어떤 경우에는 활성 바이트에 삭제된 열의 데이터에 대한 바이트가 포함될 수 있습니다. 자세한 내용은 ALTER TABLE의 사용법 노트 를 참조하십시오.