
AWS Redshift란?
1. Redshift란
병렬처리 아키텍처를 Columnar 스토리지 및 자동 압축과 함께 사용하므로, 페타 바이트 규모의 데이터 셋(data set)에 대해서 매우 빠른 쿼리 퍼포먼스를 제공한다.
*병렬처리 : 하나의 작업(task)를 보다 작은 작업으로 세분화하고, 다수의 프로세스를 사용해 이 작업들을 동시 처리함으로써 전반적으로 업무 처리 효율을 향상 시키는 처리기법.
2. Amazon Redshift DW아키텍처 아래의 그림과 같이 하나의 리더 노드에 n개(n>=1)의 컴퓨팅 노드로 구성되어 있다. 각 노드는 여러 개의 슬라이스로 구성되어 있다.

2-1) 클러스터
클러스터는 하나 이상의 컴퓨팅 노드로 구성되며, 클라이언트 프로그램과 직접 통신을 한다.
2-2) 리더노드
클라이언트 프로그램 및 컴퓨팅 노드와의 모든 통신을 관리하는 노드 데이터베이스 조작을 수행하기 위해 실행 계획, 구체적으로는 복잡한 쿼리의 결과를 취득하기 위해 필요한 일련의 과정을 해석 및 작성한다. 실행 계획(the execution plan)에 기반하여 코드를 컴파일하고, 컴파일이 끝난 코드를 컴퓨팅 노드에 배포한 뒤에, 데이터를 나누어 각 컴퓨팅 노드에 할당한다.
2-3) 컴퓨팅 노드
리더노드가 코드를 컴파일한 뒤, 각각의 컴퓨팅 노드에 할당하면 컴퓨팅 노드는 해당 코드를 실행하고, 중간 결과를 리더노드로 반환한다. 중간결과는 리더노드에 남아 있다가, 마지막으로 집계할 때 사용된다.
2-4) 노드 슬라이스
컴퓨팅 노드는 슬라이스로 분할된다. 리더노드는 슬라이스로의 데이터 분산을 관리하고, 쿼리나 데이터베이스의 워크로드를 슬라이스에 분배하면 슬라이스는 이를 병렬 처리한다. 각 노드당 슬라이스 수는 클러스터의 노드 사이즈에 따라 달라진다.
3. Redshift특징 및 장점
・기존의 데이터 웨어 하우스에 비해 성능이 뛰어나다.
・확장이 쉽고 간편하다.
・PostgreSQL기반으로 표준 쿼리 사용이 가능
・열 기반(Columnar) 스토리지로 데이터 분석에 뛰어나다.
[참고사이트]
https://docs.aws.amazon.com/redshift/