수동 재클러스터링 — 사용되지 않음

계정에서 수동 재클러스터링을 계속 사용할 수 있는 경우 ALTER TABLE 명령을 RECLUSTER 절과 함께 사용하여 언제든지 클러스터링된 테이블을 수동으로 재클러스터링할 수 있습니다.

이 항목의 섹션:

수동 재클러스터링이란 무엇입니까?

RECLUSTER 절은 Snowflake가 지정된 테이블의 즉시 재클러스터링을 수행하도록 지시합니다. 자동 클러스터링과 다르게, 이 DML 작업을 위해서는 계정에 가상 웨어하우스가 필요하고 작업 기간 동안 테이블을 잠금 으로 설정해야 합니다.

또한 자동 클러스터링이 활성화되지 않은 클러스터링된 테이블에서 일정 기간 동안 상당한/지속적인 DML 작업을 수행한 후 원하는 결과를 얻으려면 테이블에서 수동 재클러스터링을 여러 번 수행해야 할 수 있습니다.

이러한 이유와 다른 이점 때문에 수동 재클러스터링 대신 자동 클러스터링 을 사용하는 것이 좋습니다.

일반적인 경험 및 모범 사례에 따라 클러스터링된 테이블에서 상당한 DML 작업을 수행한 후 수동 재클러스터링을 권장합니다. 테이블에 대한 클러스터링 정보 를 사용하여 DML로 인해 테이블의 클러스터링이 저하되었는지 여부를 측정할 수 있습니다.

수동 재클러스터링의 성능 영향

Snowflake가 수동 재클러스터링 중에 수행하는 그룹화/정렬은 재클러스터링을 수행하는 데 사용되는 가상 웨어하우스의 성능에 영향을 미칠 수 있습니다.

이러한 영향으로 인해 수동 재클러스터링을 수행하기로 선택한 경우 별도의 전용 웨어하우스를 사용하고 웨어하우스가 충분한 크기인지 확인하는 것이 좋습니다.

수동 재클러스터링에서 자동 클러스터링으로 전환하기

계정에서 수동 재클러스터링을 계속 사용할 수 있는 경우 계정에 대해 아직 자동 클러스터링 을 활성화할 수 없습니다.

계정에 대해 자동 클러스터링을 활성화하도록 요청할 수 있지만, 기능이 활성화된 이후에 정의된 클러스터링된 테이블에만 영향을 미칩니다.

기능이 활성화되기 전에 정의된 클러스터링된 테이블의 경우 각 테이블에 대해 자동 클러스터링을 명시적으로 “재개”해야 합니다. SQL을 사용하여 지정된 테이블에 대해 자동 클러스터링이 활성화되었는지 여부를 결정할 수 있습니다.

자세한 내용은 다음을 참조하십시오.

수동으로 테이블 재클러스터링하기

클러스터링 키가 정의된 테이블을 수동으로 재클러스터하려면 RECLUSTER 절과 함께 ALTER TABLE 을 사용합니다. WHERE 절을 사용하여 테이블의 데이터를 다시 클러스터링할 조건이나 범위를 지정할 수 있습니다.

예:

  • t1 테이블을 재클러스터링하려면:

    ALTER TABLE t1 RECLUSTER;
    
    Copy
  • 2016년의 첫 주에 테이블 t1 에 삽입된 데이터를 재클러스터링하려면:

    ALTER TABLE t2 RECLUSTER WHERE CREATE_DATE BETWEEN ('2016-01-01') AND ('2016-01-07');
    
    Copy

이 예에서는 현재 웨어하우스(세션용)를 사용하여 테이블을 재클러스터합니다. 수동 재클러스터링에 할당되는 리소스의 양은 웨어하우스의 크기를 기반으로 합니다. 웨어하우스가 클수록 재클러스터 명령에 더 많은 자원이 할당되어 재클러스터링이 더 효과적입니다.

참고

수동 재클러스터링은 클러스터링된 테이블(즉, 클러스터링 키가 정의된 테이블)에서만 수행할 수 있습니다.