[AWS] Amazon Redshift

도덩이의 개발 일지·2024년 5월 12일
2

AWS

목록 보기
1/5
post-thumbnail

안녕하세요 !

오늘은 Amazon의 Redshift에 대한 포스트를 작성해볼까 합니다 !

Redshift는 어떤 서비스이고 어떤 특징을 가지고 있는지에 대해서 정리해보겠습니다.


Redshift 서비스란 ?

Amazon Redshift는 클라우드에서 완전히 관리되는 페타바이트급 데이터 웨어하우스 서비스입니다. Redshift는 PostgreSQL을 기반으로 합니다.

Redshift의 데이터 웨어하우스는 엔터프라이즈 급 관계형 데이터베이스 쿼리 및 관리시스템 (RDBMS) 입니다. 또한 비즈니스 인텔리전스 (BI), 데이터 및 분석 도구를 비롯한 다양한 유형의 애플리케이션 간 클라이언트 연결을 지원합니다.

Redshift는 대규모 병렬 처리, 컬럼 데이터 저장 등을 통해 효율적인 저장 및 최적의 쿼리 성능을 제공합니다.


시스템 아키텍처

Redshift의 전체 시스템 아키텍처는 다음 그림과 같습니다.


클러스터

Redshift 데이터 웨어하우스의 핵심 인프라 구성 요소는 클러스터입니다.

클러스터에는 하나 이상의 데이터베이스가 포함되어 있습니다.

클러스터는 하나 이상의 컴퓨팅 노드로 구성되며 두 개 이상의 컴퓨팅 노드로 구성될 경우 리더 노드가 나머지 컴퓨팅 노드를 관리하며 외부 통신을 처리합니다.

이 경우 클라이언트 애플리케이션은 리더 노드랑만 상호 작용을 합니다.


리더 노드

리더 노드는 발생하는 모든 통신을 관리합니다. 데이터베이스 작업, 복합 쿼리 등을 연이어 실행하기 위한 실행 계획을 만듭니다. 이 실행 계획에 따라 코드를 컴파일하여 컴퓨팅 노드로 배포한 후 데이터 구간을 각 컴퓨팅 노드로 할당합니다.

리더 노드는 컴퓨팅 노드에 저장된 테이블을 참조할 때만 SQL문을 컴퓨팅 노드에 배포합니다. 다른 쿼리는 리더 노드에서만 실행됩니다.

또한, 리더 노드는 노드를 구성하는 조각에 대한 데이터 분산을 관리하면서 작업 워크로드를 각 조각으로 할당합니다.

할당된 실행 작업을 마친 컴퓨팅 노드는 작업물을 리더노드에 다시 보냅니다.


노드 조각

컴퓨팅 노드는 다수의 조각으로 분할됩니다. 노드 당 조각 수는 클러스터의 노드 크기에 따라 달라집니다.

분할된 조각은 각 노드의 메모리 및 디스크 공간으로 할당되며 노드에 할당된 워크로드를 처리합니다. 각 조각들은 병렬 방식으로 실행되어 작업을 완료합니다.


관리형 스토리지

Redshift의 데이터 웨어하우스 데이터는 Redshift 관리형 스토리지 (RMS)에 저장됩니다.

RMS는 Amazon S3 스토리지를 사용하여 스토리지를 페타바이트로 확장할 수 있는 기능을 제공합니다. RMS를 사용하면 컴퓨팅 및 스토리지에 대해 독립적으로 확장하고 비용을 지불할 수 있으므로 컴퓨팅 요구사항에 맞춰 클러스터 크기를 조정할 수 있습니다.


데이터베이스

Amazon Redshift는 관계형 데이터베이스 관리 시스템인 RDBMS이며 다른 RDBMS와 호환됩니다. 데이터 삽입 및 삭제와 같은 온라인 트랜잭션 처리(OLTP) 기능을 포함하여 일반적인 RDBMS와 동일한 기능을 제공하지만 Redshift는 매우 큰 데이터 집합의 고성능 분석을 위해 최적화되어 있습니다.


내부 네트워크

Amazon Redshift는 고 대역폭 연결, 근접성 및 맞춤형 통신 프로토콜을 활용하여 리더노드와 컴퓨팅 노드 사이에 개인 고속 네트워크 통신을 제공합니다. 리더노드가 아닌 컴퓨팅 노드를 클라이언트 애플리케이션이 절대 직접 엑세스 못하도록 격리된 네트워크를 사용합니다.

profile
말하는 감자에서 개발자로 ( ´͈ ᵕ `͈ )◞♡

0개의 댓글