자동 테이블 최적화 작업
자동 테이블 최적화는 관리자 개입 없이 정렬 및 배포 키를 적용하여 테이블 디자인을 자동으로 최적화하는 자체 조정 기능입니다. 자동화를 사용하여 테이블 설계를 조정하면 테이블 최적화를 수동으로 조정하고 구현하는 데 시간을 투자할 필요 없이 시작하고 가장 빠른 성능을 얻을 수 있습니다.
자동 테이블 최적화는 쿼리와 테이블의 상호 작용 방식을 지속적으로 관찰합니다. 고급 인공 지능 방법으로 정렬 및 배포 키를 선택하여 클러스터의 워크로드에 대한 성능을 최적화합니다. Amazon Redshift에서 키를 적용하면 클러스터 성능이 향상되었다고 판단하면 쿼리에 대한 영향을 최소화하면서 클러스터가 생성된 시점으로부터 몇 시간 이내에 테이블이 자동으로 변경됩니다.
이 자동화를 활용하기 위해 Amazon Redshift 관리자가 새 테이블을 생성하거나 자동 최적화를 사용할 수 있도록 기존 테이블을 변경합니다. 배포 스타일 또는 정렬 키가 AUTO
인 기존 테이블이 이미 자동화에 사용됩니다. 이러한 테이블에 대해 쿼리를 실행하면 Amazon Redshift가 정렬 키 또는 배포 키가 성능을 향상시킬지 결정합니다. 이 경우 Amazon Redshift는 관리자 개입 없이 자동으로 테이블을 수정합니다. 최소 수의 쿼리를 실행하면 클러스터가 시작된 후 몇 시간 이내에 최적화가 적용됩니다.
Amazon Redshift에서 배포 키가 쿼리 성능을 향상시킨다고 판단하면 배포 스타일이 AUTO
인 테이블은 배포 스타일을 KEY
로 변경할 수 있습니다.
자동 테이블 최적화 사용
기본적으로 정렬 키나 배포 키를 명시적으로 정의하지 않고 생성된 테이블은 AUTO
로 설정됩니다. 테이블 생성 시 수동으로 정렬 또는 배포 키를 명시적으로 설정할 수도 있습니다. 정렬 또는 배포 키를 설정하면 테이블이 자동으로 관리되지 않습니다.
기존 테이블이 자동으로 최적화되도록 하려면 ALTER 문 옵션을 사용하여 테이블을 AUTO
로 변경합니다. 정렬 키에 대해 자동화를 정의하지만 배포 키에 대해서는 자동화를 정의하지 않도록 선택할 수 있습니다(반대의 경우도 마찬가지). ALTER 문을 실행하여 테이블을 자동화된 테이블로 변환하면 기존 정렬 키와 배포 스타일이 유지됩니다.
ALTER TABLE table_name
ALTER SORTKEY AUTO;
ALTER TABLE table_name
ALTER DISTSTYLE AUTO;
자세한 내용은 ALTER TABLE 단원을 참조하십시오.
처음에는 테이블에 배포 키나 정렬 키가 없습니다. 배포 스타일은 테이블 크기에 따라 EVEN
또는 ALL
로 설정됩니다. 테이블 크기가 커지면 Amazon Redshift가 최적의 배포 키와 정렬 키를 적용합니다. 최적화는 최소 수의 쿼리 실행 후 몇 시간 이내에 적용됩니다. 정렬 키 최적화를 결정할 때 Amazon Redshift는 테이블 스캔 중 디스크에서 읽은 데이터 블록을 최적화하려고 합니다. 배포 스타일 최적화를 결정할 때 Amazon Redshift는 클러스터 노드 간에 전송되는 바이트 수를 최적화하려고 합니다.
테이블에서 자동 테이블 최적화 제거
자동 최적화에서 테이블을 제거할 수 있습니다. 자동화에서 테이블을 제거하려면 정렬 키나 배포 스타일을 선택해야 합니다. 배포 스타일을 변경하려면 특정 배포 스타일을 지정합니다.
ALTER TABLE table_name
ALTER DISTSTYLE EVEN;
ALTER TABLE table_name
ALTER DISTSTYLE ALL;
ALTER TABLE table_name
ALTER DISTSTYLE KEY DISTKEY c1
;
정렬 키를 변경하려면 정렬 키를 정의하거나 [없음(none)]을 선택합니다.
ALTER TABLE table_name
ALTER SORTKEY(c1, c2
);
ALTER TABLE table_name
ALTER SORTKEY NONE;
자동 테이블 최적화 작업 모니터링
시스템 뷰 SVV_ALTER_TABLE_RECOMMENDATIONS
는 테이블에 대한 현재 Amazon Redshift Advisor 권장 사항을 기록합니다. 이 뷰는 모든 테이블(자동 최적화를 위해 정의된 테이블과 그렇지 않은 테이블)에 대한 권장 사항을 보여줍니다.
자동 최적화를 위해 테이블이 정의되어 있는지 보려면 시스템 뷰 SVV_TABLE_INFO
를 쿼리합니다. 현재 세션의 데이터베이스에 표시되는 테이블에 대한 항목만 나타납니다. 권장 사항은 클러스터가 생성된 후 몇 시간 이내에 시작하여 하루에 두 번 뷰에 삽입됩니다. 권장 사항이 사용 가능한 상태가 되면 1시간 이내에 시작됩니다. Amazon Redshift 또는 사용자에 의해 적용된 권장 사항은 더 이상 뷰에 표시되지 않습니다.
시스템 보기 SVL_AUTO_WORKER_ACTION
에는 Amazon Redshift에서 수행한 모든 작업에 대한 감사 로그와 테이블의 이전 상태가 표시됩니다.
시스템 뷰 SVV_TABLE_INFO
에는 테이블의 정렬 키 및 배포 스타일이 AUTO
로 설정되었는지 여부를 나타내는 열과 함께 시스템의 모든 테이블이 나열됩니다.
이러한 시스템 뷰에 대한 자세한 내용은 시스템 모니터링(프로비저닝만 해당) 섹션을 참조하세요.