보관된 데이터 검색

참고

:doc:`저장소 수명 주기 정책</user-guide/storage-management/storage-lifecycle-policies>`은 현재 정부 리전에서 사용할 수 없습니다.

CREATE TABLE … FROM ARCHIVE OF 명령을 사용하여 보관된 데이터를 읽습니다.

예를 들어, 다음 문은 보관된 행에서 event_timestamp 열의 값이 2023년 1월 15일에서 1월 20일 사이인 새 테이블을 생성합니다.

CREATE TABLE my_table
  FROM ARCHIVE OF my_source_table AS st
  WHERE st.event_timestamp BETWEEN '01/15/2023' AND '01/20/2023';
Copy

구문 세부 정보 및 매개 변수 설명에 대해서는 CREATETABLE 설명서에서 :ref:`CREATE TABLE … FROM ARCHIVE OF <label-create_table_from_archive_of_syntax>`를 참조하세요.

참고

  • 이 명령을 사용하려면 소스 테이블에 대한 OWNERSHIP 권한이 필요합니다.

  • 열 정의, 정책, 태그 또는 기타 제약 조건을 지정하는 것은 지원되지 않습니다. Snowflake는 소스 테이블에서 테이블 스키마, 정책, 태그 및 제약 조건을 자동으로 검색합니다.

  • WHERE 절은 필수입니다. 보관된 데이터 읽기는 비용이 많이 소요되므로 자주 수행하지 않아야 합니다. WHERE 절을 사용하여 결과를 필터링하면 Snowflake가 아카이브 저장소에서 필요한 데이터만 읽게 되므로 비용을 최소화할 수 있습니다.

  • Snowflake가 아카이브 저장소에서 검색할 파일 수를 예측하려면 이 작업 전에 EXPLAIN 명령을 실행합니다. 출력에는 createTableFromArchiveData 작업이 포함되며, TableScan 작업에 대한 objects 열에 ARCHIVE OF <table>`이 표시됩니다. 자세한 내용은 :ref:`label-slp_retrieve_explain 섹션을 참조하십시오.

  • 아카이브 저장소에서 데이터 검색 기록을 보려면 :doc:`/sql-reference/account-usage/archive_storage_data_retrieval_usage_history`를 사용하세요.

  • 아카이브 저장소의 COLD 계층에서 데이터를 검색하려는 경우 Snowflake는 먼저 외부 클라우드 저장소에서 파일을 복원해야 합니다. 이 프로세스에는 최대 48시간이 걸릴 수 있습니다.

    이 프로세스를 지원하려면 다음 매개 변수를 적절하게 설정하세요.

    • :ref:`STATEMENT_TIMEOUT_IN_SECONDS <label-statement_timeout_in_seconds>`는 48시간 이상이어야 합니다.

    • :ref:`ABORT_DETACHED_QUERY <label-abort_detached_query>`는 FALSE여야 합니다.

    COLD 저장소 계층 복원 작업은 복원 작업당 최대 100만 개의 파일을 지원합니다.

  • 아카이브 저장소에서 데이터를 검색하는 CREATE TABLE 작업을 취소해도 여전히 검색 비용이 발생할 수 있습니다.

EXPLAIN을 사용하여 검색 비용 예측

EXPLAIN 명령을 사용하여 Snowflake가 아카이브 저장소에서 검색할 파일 수를 예측합니다.

이 명령 출력에는 다음이 포함됩니다.

  • operation 열의 createTableFromArchiveData 작업

  • TableScan 작업에 대한 objects 열에 있는 ARCHIVE OF <table>

  • 아카이브 TableScan 작업의 assignedPartitions 열에서 검색할 파티션 수. 이 값은 Snowflake가 아카이브 저장소에서 데이터를 검색하기 위해 콜드 계층에서 복원할 파티션의 수를 나타냅니다.

예:

EXPLAIN
CREATE TABLE my_table
  FROM ARCHIVE OF my_source_table AS st
  WHERE st.event_timestamp BETWEEN '01/15/2023' AND '01/20/2023';
Copy