개발자 쿠키

[AWS] Redshift 본문

database

[AWS] Redshift

개발자 쿠키 2025. 9. 10. 12:33

1) Redshift

DW System Architecture

Redshift는 PostgreSQL을 베이스로 한 클라우드 데이터 웨어하우스
PostgreSQL의 권한/롤 개념을 그대로 가져오면서 AWS 특화 기능이 추가

리더 노드 (Leader Node)
1. 클라이언트(ODBC, JDBC, BI 툴)에서 SQL을 받음
2. SQL을 쿼리 플랜으로 변환 → 어떤 노드가 어떤 데이터를 처리할지 분배
3. 결과를 모아서 최종 결과만 클라이언트에 반환
4. 데이터 저장은 하지 않고, 메타데이터 관리 + 쿼리 조율이 주 역할

컴퓨팅 노드 (Compute Node)
1. 실제 데이터를 저장하고, 쿼리에서 할당받은 연산을 수행
2. 각 노드 안에는 슬라이스(Slice) 라는 더 작은 단위가 있음 ex) 노드가 16 vCPU면 슬라이스도 16개
3. 각 슬라이스가 로컬에 저장된 데이터만 스캔/조인/집계 → 결과를 리더 노드로 보냄.


2) 배포 모델

1. Provisioned(클러스터형): 리더/컴퓨트 노드를 직접 사이징. 항상 과금
2. Serverless 
- Workgroup(네트워크/엔드포인트) + Namespace(데이터/DB)로 구성
- 쿼리한 시간만 과금(RPU-초), 미사용 시 컴퓨트 0원(저장 데이터는 스토리지 과금)
- Usage limits로 일/월 한도 차단 및 알림 가능

 

3) 핵심 개념

  • Database → Schema → Table/View/UDF
  • 분산 스타일(Distribution Style): AUTO(권장), EVEN, KEY, ALL
  • 정렬 키(Sort Key): AUTO, COMPOUND, INTERLEAVED
  • 압축(Encoding): AUTO 권장 (열 단위 압축)
  • 워크로드 관리: Serverless는 RPU 자동 할당 + 우선순위/동시성 정책, 클러스터형은 WLM 큐


4) IAM과 DB ROLE의 차이

구분               IAM (AWS 레벨)                                                            DB ROLE (Redshift DB 내부)
목적 누가 AWS 리소스에 접근하나(로그인, S3, Glue 등) 무엇을 DB 안에서 할 수 있나(SELECT/INSERT/DDL 등)
적용 위치 콘솔/CLI/ODBC의 인증과 S3/Glue 같은 서비스 권한 스키마/테이블/뷰/함수 오브젝트 권한
대표 주체 IAM User/Role/Policy ROLE / USER
예시 권한 redshift-serverless:GetCredentials, s3:GetObject USAGE ON SCHEMA, SELECT ON TABLES
생성/관리자 AWS 관리자(IAM) DBA/Redshift 관리자
세션 영향 임시 DB 비번 발급(IAM 인증), S3 COPY/UNLOAD 허용 쿼리 허용/거부를 결정
흔한 혼동 “IAM Role 만들었는데 테이블이 안 보임” “DB Role 줬는데 S3 COPY가 안 됨”
키 포인트 로그인/외부 서비스 권한 DB 내부 오브젝트 권한

핵심: IAM은 밖(로그인/리소스), DB ROLE은 안(테이블/스키마)

AWS Redshift

https://ap-northeast-2.console.aws.amazon.com/redshiftv2/home?region=ap-northeast-2#/serverless-dashboard

 

ETL에서는 Spark로 전처리 후, Redshift 적재하는 방식이 가장 흔함

 


참고 : https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/c_high_level_system_architecture.html 

'database' 카테고리의 다른 글

[Oracle, Tibero] NLS_CHARACTERSET과 NLS_NCHAR_CHARACTER 차이  (0) 2025.10.30
[MSSQL] CentOS 7.6 환경에서 설치  (0) 2025.09.15
NoSQL  (0) 2025.07.22
[Tibero DB] 설치 방법  (1) 2025.06.27
[PostgreSQL] 설치 방법  (0) 2025.05.18