기존 동적 테이블 변경하기

이 섹션에서는 ALTER DYNAMIC TABLE 명령을 사용하여 기존 동적 테이블을 변경하는 방법에 대해 설명합니다.

  • 동적 테이블의 웨어하우스 또는 목표 지연 변경

  • 동적 테이블에 클러스터링 키 이름 바꾸기, 바꾸기 또는 추가하기

동적 테이블의 웨어하우스 또는 목표 지연 변경

비용 효율성 또는 성능 향상을 위해 동적 테이블의 웨어하우스를 조정할 수 있습니다. 자세한 내용은 컴퓨팅 비용웨어하우스 구성이 동적 테이블 성능에 미치는 영향 섹션을 참조하십시오.

동적 테이블의 목표 지연을 조정하여 더 최신 데이터를 얻거나, 컴퓨팅 비용을 줄이거나, 업스트림 종속성의 새로 고침 간격에 더 잘 맞추고자 할 수 있습니다. 자세한 내용은 동적 테이블 목표 지연 이해하기 섹션을 참조하십시오.

동적 테이블에 대한 웨어하우스 또는 목표 지연을 변경하려면 ALTER DYNAMIC TABLE 명령을 사용하십시오. 예:

-- Change the warehouse for my_dynamic_table to my_other_wh:
ALTER DYNAMIC TABLE my_dynamic_table SET
  WAREHOUSE = my_other_wh;
Copy
-- Specify the downstream target lag for a dynamic table:
ALTER DYNAMIC TABLE my_dynamic_table SET
  TARGET_LAG = DOWNSTREAM;
Copy

동적 테이블 이름 바꾸기

동적 테이블 이름 바꾸기는 특정 테이블 이름에 의존하는 스크립트나 애플리케이션이 있고 기존 스크립트를 변경하지 않고 동적 테이블을 업데이트하려는 시나리오에서 유용할 수 있습니다. 예를 들어, 특정 동적 테이블 이름을 참조하는 스크립트가 있는 경우 테이블 이름을 바꾸면 스크립트는 변경하지 않고 기본 테이블을 교체할 수 있습니다. 이렇게 하면 연속성이 보장되고 스크립트나 프로세스 전반에서 여러 참조를 업데이트해야 하는 번거로움을 피할 수 있습니다.

동적 테이블의 이름을 바꾸려면 ALTER DYNAMIC TABLE … RENAME TO 명령을 사용합니다. 예:

ALTER DYNAMIC TABLE my_dynamic_table RENAME TO my_new_dynamic_table;
Copy

동적 테이블 교체

동적 테이블을 교체하면 워크플로를 중단하거나 종속성 있는 스크립트를 수정하지 않고도 데이터 세트 또는 테이블 버전 간에 원활하게 변환할 수 있습니다. 예를 들어, 새 버전의 테이블을 개발 중이지만 진행 중인 프로세스에 대해 동일한 이름을 유지하려는 경우 스왑을 사용하면 이전 테이블을 새 테이블로 바꿀 수 있습니다. 이 접근법은 다운타임이나 중단을 최소화하면서 업데이트, 테스트 또는 업그레이드를 가능하게 하는 동시에 연속성을 보장합니다.

동적 테이블을 교체하려면 ALTER DYNAMIC TABLE … SWAP WITH 명령을 사용합니다. 동적 테이블은 다른 동적 테이블과만 교체할 수 있습니다.

예:

-- Swap my_dynamic_table with the my_new_dynamic_table:
ALTER DYNAMIC TABLE my_dynamic_table SWAP WITH my_new_dynamic_table;
Copy

동적 테이블에 클러스터링 키 추가하기

동적 테이블에 클러스터링 키를 추가하면 쿼리 효율성과 새로 고침 작업을 개선하여 성능을 향상할 수 있습니다.

  • 쿼리 효율성: 클러스터링 키는 일반 테이블과 마찬가지로 공통 조인 키 또는 필터 열에 클러스터링하여 쿼리 속도를 높이는 데 도움이 됩니다.

  • 새로 고침 작업: 클러스터링 키가 빈번한 변경 패턴에 맞춰져 있으면 새로 고침 속도를 높일 수 있습니다. 예를 들어, 소수의 사용자가 변경되는 업데이트가 있을 때 사용자 ID 별로 클러스터링하는 것이 효과적일 수 있습니다.

증분 또는 전체 새로 고침 모드로 동적 테이블에 클러스터링 키를 지정할 수 있습니다. 전체 새로 고침에서는 새로 고침 중에 클러스터링이 수행되며 백그라운드 재클러스터링이 필요하지 않습니다.

동적 테이블을 클러스터링하려면 ALTER DYNAMIC TABLE … CLUSTER BY 명령을 사용합니다.

ALTER DYNAMIC TABLE my_dynamic_table CLUSTER BY (date);
Copy