기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Redshift 데이터 웨어하우스의 아키텍처 구성 요소
Amazon Redshift 데이터 웨어하우스의 핵심 아키텍처 구성 요소에 대한 기본적인 이해를 갖추는 것이 좋습니다. 이 지식은 최적의 성능을 위해 쿼리와 테이블을 설계하는 방법을 더 잘 이해하는 데 도움이 될 수 있습니다.
Amazon Redshift의 데이터 웨어하우스는 다음과 같은 핵심 아키텍처 구성 요소로 구성되어 있습니다.
-
클러스터 — 하나 이상의 컴퓨팅 노드로 구성된 클러스터는 Amazon Redshift 데이터 웨어하우스의 핵심 인프라 구성 요소입니다. 컴퓨팅 노드는 외부 애플리케이션에 영향을 주지 않지만 클라이언트 애플리케이션은 리더 노드와만 직접 상호 작용합니다. 일반적인 클러스터에는 두 개 이상의 컴퓨팅 노드가 있습니다. 컴퓨팅 노드는 리더 노드를 통해 조정됩니다.
-
리더 노드 - 리더 노드는 클라이언트 프로그램과 모든 컴퓨팅 노드의 통신을 관리합니다. 또한 리더 노드는 클러스터에 쿼리가 제출될 때마다 쿼리를 실행하기 위한 계획을 준비합니다. 계획이 준비되면 리더 노드는 코드를 컴파일하고 컴파일된 코드를 컴퓨팅 노드에 배포한 다음 각 컴퓨팅 노드에 데이터 슬라이스를 할당하여 쿼리 결과를 처리합니다.
-
컴퓨팅 노드 - 컴퓨팅 노드가 쿼리를 실행합니다. 리더 노드는 쿼리를 실행할 계획의 개별 요소에 대한 코드를 컴파일하고 개별 컴퓨팅 노드에 코드를 할당합니다. 그러면 컴퓨팅 노드가 컴파일 코드를 실행한 후 최종 집계를 위해 중간 결과를 리더 노드에 다시 보냅니다. 각 컴퓨팅 노드에는 자체 전용 CPU, 메모리 및 연결된 디스크 스토리지가 있습니다. 그래도 워크로드가 증가하더라도 노드 수를 늘리거나, 노드 유형을 업그레이드하거나, 혹은 두 가지 방법 모두 사용하여 클러스터의 컴퓨팅 용량과 스토리지 용량을 늘릴 수 있습니다.
-
노드 슬라이스 - 컴퓨팅 노드는 슬라이스라는 단위로 분할됩니다. 컴퓨팅 노드의 모든 슬라이스에는 노드의 메모리 및 디스크 공간 일부가 할당되며, 여기서 노드에 할당된 워크로드의 일부를 처리합니다. 그러면 각 조각이 병렬 방식으로 실행되어 작업을 완료합니다. 데이터는 특정 테이블의 배포 스타일 및 배포 키를 기반으로 슬라이스 간에 분산됩니다. 데이터를 균등하게 분배하면 Amazon Redshift에서 슬라이스에 워크로드를 균등하게 할당하고 병렬 처리의 이점을 극대화할 수 있습니다. 컴퓨팅 노드당 슬라이스 수는 노드 유형에 따라 결정됩니다. 자세한 내용은 Amazon Redshift 설명서에서 Amazon Redshift의 클러스터 및 노드를 참조하십시오.
-
대규모 병렬 처리 (MPP) — Amazon Redshift는 MPP 아키텍처를 사용하여 복잡한 쿼리와 방대한 양의 데이터를 포함한 데이터를 빠르게 처리합니다. 여러 컴퓨팅 노드가 데이터의 일부에 대해 동일한 쿼리 코드를 실행하여 병렬 처리를 극대화합니다.
-
클라이언트 애플리케이션 — Amazon Redshift는 다양한 추출, 변환 및 로드 (ETL), 비즈니스 인텔리전스 (BI) 보고, 데이터 마이닝 및 분석 도구와 통합됩니다. 모든 클라이언트 애플리케이션은 리더 노드를 통해서만 클러스터와 통신합니다.
다음 다이어그램은 Amazon Redshift 데이터 웨어하우스의 아키텍처 구성 요소가 함께 작동하여 쿼리를 가속화하는 방법을 보여줍니다.