분산 스타일 - Amazon Redshift

분산 스타일

테이블을 생성할 때는 AUTO, EVEN, KEY, ALL 등 네 가지 분산 스타일 중 하나를 지정할 수 있습니다.

배포 스타일을 지정하지 않으면 Amazon Redshift에서는 AUTO 배포를 사용합니다.

AUTO 분산

AUTO 배포를 사용하면 Amazon Redshift에서는 테이블 데이터의 크기를 기반으로 최적의 배포 스타일을 할당합니다. 예를 들어 AUTO 배포 스타일을 지정하면 Amazon Redshift는 처음에 작은 테이블에 ALL 배포 스타일을 할당합니다. 테이블이 커지면 Amazon Redshift는 기본 키(또는 복합 기본 키의 열)를 배포 키로 선택하여 배포 스타일을 KEY로 변경할 수 있습니다. 테이블이 커지고 배포 키로 적합한 열이 없으면 Amazon Redshift는 배포 스타일을 EVEN으로 변경합니다. 배포 스타일 변경은 사용자 쿼리에 미치는 영향을 최소화하면서 백그라운드에서 이루어집니다.

Amazon Redshift가 테이블 배포 키를 변경하기 위해 자동으로 수행한 작업을 보려면 SVL_AUTO_WORKER_ACTION 섹션을 참조하세요. 테이블 배포 키 변경에 대한 현재 권장 사항을 보려면 SVV_ALTER_TABLE_RECOMMENDATIONS 섹션을 참조하세요.

테이블에 적용된 분산 스타일을 보려면 PG_CLASS_INFO 시스템 카탈로그 보기를 쿼리합니다. 자세한 내용은 분산 스타일 보기 단원을 참조하십시오. CREATE TABLE 문을 사용해 배포 스타일을 지정하지 않으면 Amazon Redshift에서는 AUTO 배포를 적용합니다.

EVEN 분산

리더 노드는 특정 열 값에 상관없이 행을 라운드 로빈 방식으로 조각에 분산시킵니다. EVEN 배포는 테이블이 조인에 참여하지 않는 경우 적합하며, KEY 배포와 ALL 배포 사이에 명확한 선택이 없는 경우에도 적합합니다.

KEY 분산

행이 열 1개의 값에 따라 분산됩니다. 리더 노드는 일치하는 값을 동일한 노드 조각에 할당합니다. 조인 키를 기준으로 테이블 페어를 분산시키면 리더 노드가 조인 열의 값에 따라 행을 조각에 공동 배치하기 때문에 공통 열에서 일치하는 값은 물리적으로 함께 저장됩니다. 이렇게 하면 공통 열의 일치하는 값이 물리적으로 함께 저장됩니다.

ALL 분산

전체 테이블의 복사본이 모든 노드로 분산됩니다. EVEN 분산이나 KEY 분산은 테이블 행의 일부를 각 노드에 할당하는 반면 ALL 분산은 테이블이 참여하는 조인마다 모든 행을 공동 배치합니다.

ALL 분산은 필요한 스토리지를 클러스터 노드 수와 곱하기 때문에 데이터를 다수의 테이블에 로드하거나, 업데이트하거나, 삽입하는 데 더 많은 시간이 걸립니다. 따라서 비교적 느리게 이동하는 테이블, 즉 업데이트가 자주 또는 광범위하게 이루어지지 않는 테이블에 한해 적합합니다. 쿼리 중에 작은 테이블을 재분산하는 비용이 적기 때문에 작은 차원 테이블을 DISTSTYLE ALL로 정의하는 이점이 크지 않습니다.

참고

열에 대한 배포 스타일을 지정하면 Amazon Redshift가 클러스터 수준에서 데이터 배포를 처리합니다. Amazon Redshift는 데이터베이스 객체 내 데이터 분할 개념을 요구하거나 지원하지 않습니다. 따라서 테이블 공간을 생성하거나 테이블 분할 방식을 정의할 필요도 없습니다.

특정 시나리오에서는 이미 생성된 테이블의 분산 스타일을 변경할 수 있습니다. 자세한 내용은 ALTER TABLE 단원을 참조하십시오. 이미 생성된 테이블의 분산 스타일을 변경할 수 없는 시나리오에서는 테이블을 다시 생성하고 전체 복사를 통해 새 테이블을 채우십시오. 자세한 내용은 전체 복사 수행 섹션을 참조하세요.