
[analytics] Amazon Redshift
수억 건을 집계하는 분석 쿼리는 일반 DB로는 버겁습니다. 대량 분석에 특화된 웨어하우스, Redshift.
One-Line Summary
Redshift는 대규모 데이터에 복잡한 분석 쿼리(OLAP)를 빠르게 돌리는 완전관리형 데이터 웨어하우스다. 열 기반 저장 + MPP(대규모 병렬 처리)로 BI·리포팅에 강하다. 시험에서는 데이터 웨어하우스 / 복잡·빈번한 분석 쿼리(OLAP) / Redshift Spectrum으로 S3 직접 조회 / OLTP인 RDS와의 구분 이 핵심이다. "여러 소스를 모아 복잡한 분석을 상시로"면 Redshift다.
Why It Exists
RDS 같은 트랜잭션 DB(OLTP)는 행 단위 읽고 쓰기에 최적화돼 있어, 수억 행을 스캔·집계하는 분석 쿼리(OLAP) 에는 느리고 비싸다. 분석 전용 저장·처리 구조가 필요하다.
Redshift는 열 기반 저장과 병렬 처리로 대규모 집계·조인을 빠르게 처리하는 웨어하우스다.
여러 소스(RDS/로그/S3) -> ETL(Glue) -> Redshift(웨어하우스)
열 기반 저장 + MPP로 복잡한 집계/조인 쿼리 고속 처리
-> BI 도구(QuickSight 등)로 리포팅/대시보드
시험 감각:
"데이터 웨어하우스 / 복잡한 분석 쿼리 / BI 리포팅 / OLAP" = Redshift.
Abbreviations
| 약어 | 풀네임 | 의미 |
|---|---|---|
OLAP | Online Analytical Processing | 대규모 집계·분석 중심 처리 |
OLTP | Online Transaction Processing | 소량 행의 잦은 트랜잭션 처리(RDS 영역) |
MPP | Massively Parallel Processing | 여러 노드에 쿼리를 병렬 분산 처리 |
Spectrum | Redshift Spectrum | 로드 없이 S3 데이터를 직접 조회하는 기능 |
COPY | COPY command | S3 등에서 대량 데이터를 병렬 적재하는 명령 |
왜 분석에 빠른가 (열 기반 + MPP)
| 특성 | 효과 |
|---|---|
| 열 기반 저장(columnar) | 분석에 필요한 컬럼만 읽어 I/O 감소 |
| 압축(encoding) | 저장·스캔 효율 향상 |
| MPP | 리더 노드가 쿼리를 여러 컴퓨트 노드로 병렬 분산 |
"지난 3년 지역별 매출 합계" 같은 대규모 집계
-> 필요한 컬럼만, 여러 노드가 병렬로 -> 빠른 응답
Redshift Spectrum — S3 직접 조회 (빈출)
Spectrum은 데이터를 Redshift로 로드하지 않고, S3에 있는 데이터를 그 자리에서 조회하게 한다. 웨어하우스 안 데이터와 S3 데이터를 함께 조인할 수도 있다.
자주 쓰는 데이터 -> Redshift 내부에 로드
방대한 원시/과거 데이터 -> S3에 두고 Spectrum으로 필요할 때만 조회
시험 감각:
"Redshift로 로드하지 않고 S3의 방대한 데이터를 조회/조인" = Redshift Spectrum.
확장·운영 기능 (알아둘 것)
| 기능 | 의미 |
|---|---|
| RA3 노드 + 관리형 스토리지 | 컴퓨트와 스토리지를 분리해 독립 확장 |
| Concurrency Scaling | 동시 쿼리 급증 시 자동으로 임시 용량 추가 |
| Redshift Serverless | 클러스터 관리 없이 사용량 기반으로 실행 |
| 스냅샷 | S3에 백업, 다른 리전 복제 가능 |
Redshift vs RDS vs Athena (핵심 비교, 아주 빈출)
| 구분 | Redshift | RDS/Aurora | Athena |
|---|---|---|---|
| 성격 | 데이터 웨어하우스(OLAP) | 트랜잭션 DB(OLTP) | 서버리스 S3 SQL 조회 |
| 적합 쿼리 | 복잡·대규모 집계/조인, 상시 | 잦은 소량 읽기/쓰기 | 간헐적·즉석 분석 |
| 데이터 규모/패턴 | 수 TB~PB, 분석 워크로드 | 애플리케이션 트랜잭션 | S3 데이터 즉석 |
| 비용 형태 | 클러스터(또는 서버리스) | 인스턴스 상시 | 스캔량 |
시험 감각:
"복잡한 분석을 상시·고성능으로" = Redshift. "앱 트랜잭션" = RDS · "가끔 S3 즉석 조회" = Athena.
Common Wrong Directions
| 오답 방향 | 왜 부족한가 |
|---|---|
| 트랜잭션(OLTP) 워크로드를 Redshift에 | Redshift는 분석(OLAP) 전용 → 트랜잭션은 RDS/Aurora |
| 간헐적·즉석 S3 조회에 상시 Redshift 클러스터 | 비용 과함 → 즉석이면 Athena |
| 방대한 원시 데이터를 전부 Redshift로 로드 | 필요 시 Spectrum으로 S3 직접 조회 |
| 동시 쿼리 폭증을 노드 상시 증설로만 | Concurrency Scaling으로 탄력 대응 |
| 실시간 스트림 분석을 Redshift로 | 실시간은 Flink(Redshift는 웨어하우스) |
Exam Triggers
| 문제에서 이런 표현이 나오면 | 떠올릴 것 |
|---|---|
| "data warehouse / OLAP / BI reporting" | Redshift |
| "complex analytical queries over large datasets, frequently" | Redshift |
| "join data warehouse with data in S3 / query S3 without loading" | Redshift Spectrum |
| "load large data from S3 into the warehouse" | COPY 명령 |
| "handle spikes in concurrent queries" | Concurrency Scaling |
| "high-volume transactions (OLTP)" | Redshift 아님 → RDS/Aurora |
| "occasional ad-hoc query on S3" | Redshift 아님 → Athena |
Memory Sentence
Redshift는 열 기반 + MPP 데이터 웨어하우스로, 복잡·빈번한 분석 쿼리(OLAP)에 강하다. S3를 로드 없이 조회하려면 Spectrum, 동시 쿼리 급증엔 Concurrency Scaling. 앱 트랜잭션(OLTP)은 RDS, 간헐적 S3 즉석 조회는 Athena.
References
댓글
아직 댓글이 없습니다.