Study/aws

Amazon Redshift

minzihun 2023. 2. 10. 03:04

 

Redshift의 기본원리는 클라우드에 최적화된 MPP 기반의 DW, Columnar 기반의 OLAP DB이다.

 

Amazon Redshift는

 - AWS DW, Data Lake, DB를 통합하여 다양한 데이터 분석이 가능하다.

 - 일반적인 DW 대비 최대 3배의 안정적인 성능을 보장한다.

 - 필요한 만큼만 On-demand RI로 선택 시 최대 75% 비용 절이 가능하다.

 

Redshift 클러스터 아키텍처: Massively parallel, shared nothing architecture.

•Leader 노드

    - SQL 엔드포인트

    - 메타데이터 관리

    - 병렬처리 구성 및 ML 최적화

    - 2개 이상 노드 구성 시 비용 제외

Compute 노드

    - 열기반 스토리지

    - 병렬적으로 쿼리 수행

    - S3: Load, unload, backup, restore

 

Compute 노드 | Slice

 - Compute 노드는 다수의 Slice로 구성

 - Slice는 가상적인 컴퓨팅 엔진 단위

 - 각 Slice는 독립적인 메모리 및 디스크 공간 할당받아 Leader가 Compute 노드에 요청한 워크로드를 수행

 - Leader 노드의 Slice 단위로 데이터를 분산하고 쿼리 및 DB 작업을 배정

 - 병렬처리를 위한 SMP (Symmetric Multiprocessing) 메커니즘

 

복원성

 - 99.9% SLA

 - 2nd 노드로 데이터 자동 복제 가능

 - 디스크 및 노드 장애에 대한 자동 감지 및 복구

 - 자동 데이터 백업

 - 백업 데이터를 다른 리전으로 복제

 - RA3 활용 시 다른 가용영역으로 이전 가능

 

자동 WLM (WorkLoad Management)

 - Adaptive concurrency: 워크로드 수행 시간을 기반으로 동시성 레벨 적용

 - Smarter preemption: 높은 우선순위 쿼리가 낮은 순위의 쿼리를 선점할 수 있도록 제한, 남은 수행시간을 고려하여 선점 조건 판단

 - Improved ML prediction model: 성능 저하없이 시스템의 자원을 최대한 활용하여 더 많은 쿼리를 수행

 - Turbo-boost mode / SQA (Short Query Acceleration): 쿼리가 감지되었을때 대기 쿼리가 많은 자원을 필요로 하지 않을 경우

 - Concurrency Scaling: 중요 워크로드를 SLA 충족시키기 위하여 우선순위 및 비용 기반의 동시성 확장

 

Redshift 클러스터 크기 조정

탄력적 크기 조정

    - 운영중인 클러스터 노드 추가 및 삭제

    - Scale Out 확장 지원

    - 몇 분 이내의 빠른 전환

    - 백그라운드 Slice 재분배

클래식 크기 조정

    - 신규 클러스터 생성 후 원본 클러스터에서 데이터 복사

    - 원본 클러스터의 데이터 크기에 따른 조정 시간 필요

    - 신규 클러스터 기반으로 Slice 재조정

 

데이터 공유

: Redshift 클러스터 간에 안전하고 쉬운 공유 가능

 - 데이터의 이동 및 복사없이 활용 가능

 - 일관성있는 라이브 데이터 활용

 - 내부/외부 조직에 안전한 협업 구조 생성

 - 공유 데이터를 접근하는 워크로드를 분리 가능

 - 단위 그룹이 협업 및 데이터 공유 시 활용

 - 다른 AWS Analytics 서비스와 연계 가능

 

S3 데이터 레이크를 활용한 다중 클러스터 접근

 - 목적에 따라 비용, 성능, SLA을 구분하여 다중 클러스터 구성

 - 데이터 특성에 따른 클러스터 분리

 - 사용자 그룹에 따른 비용 모델 적용

 - 데이터 레이크의 데이터를 다중 클러스터가 공유해서 사용

 

Redshift Spectrum 개요

: S3 데이터를 테이블에 적재하지 않고도 정형 및 비정형 데이터를 효율적으로 쿼리

 - S3 데이터 레이크를 활용하여 엑사바이트 데이터 처리

 - 데이터 로딩 없이 즉각적인 쿼리 지원

 - 데이터 생애주기 티어링(warm/cold) 구축 가능

 - AWS Glue, Amazon Athena와 호환되는 데이터 카탈로그를 사용하여 외부 테이블 생성 및 관리

 - Amazon Redshift Spectrum 전용 노드 활용

 - S3를 활용한 Materialized View 적용 가능