자동 테이블 최적화 작업 - Amazon Redshift

자동 테이블 최적화 작업

자동 테이블 최적화는 관리자 개입 없이 정렬 및 배포 키를 적용하여 테이블 디자인을 자동으로 최적화하는 자체 조정 기능입니다. 자동화를 사용하여 테이블 설계를 조정하면 테이블 최적화를 수동으로 조정하고 구현하는 데 시간을 투자할 필요 없이 시작하고 가장 빠른 성능을 얻을 수 있습니다.

자동 테이블 최적화는 쿼리와 테이블의 상호 작용 방식을 지속적으로 관찰합니다. 고급 인공 지능 방법으로 정렬 및 배포 키를 선택하여 클러스터의 워크로드에 대한 성능을 최적화합니다. 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로 설정되었는지 여부를 나타내는 열과 함께 시스템의 모든 테이블이 나열됩니다.

이러한 시스템 뷰에 대한 자세한 내용은 시스템 모니터링(프로비저닝만 해당) 섹션을 참조하세요.