CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
  • Week 1
    • 1.데이터 엔지니어링이란
    • 2.배치 vs 스트리밍
    • 3.AWS 데이터 서비스 조감도
    • 4.데이터 포맷과 모델링
    • 5.Week 1 종합 복습
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
    • 1.Amazon Redshift: 분산/정렬 키와 워크로드 최적화
    • 2.Amazon Athena: 서버리스 쿼리와 비용 최적화
    • 3.DynamoDB (분석 관점): 키 설계와 스트림 기반 파이프라인
    • 4.RDS/Aurora & 스토어 선택: OLTP, 제로 ETL, 워크로드→스토어 결정
    • 5.Week 7 종합: 분석 스토어 복습
  • Week 8
  • Week 9
  • Week 10
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← DEA-C01/Week 7/Day 1

기준: DEA-C01 시험 가이드·오류 제보

DEA-C01· AssociateWeek 7 · Day 1읽기 약 16분
핵심 정리
  • Redshift 는 리더 노드가 계획하고 컴퓨트 노드의 슬라이스가 병렬로 실행하는 컬럼형 MPP 웨어하우스다. 성능은 "데이터가 슬라이스에 어떻게 놓였는가"에서 갈린다.
  • 분산 스타일: KEY(조인 키로 같은 슬라이스에 모음), ALL(작고 잘 안 바뀌는 차원 테이블을 모든 노드에 복제), EVEN(라운드로빈), AUTO(기본, 크기에 따라 자동 변경). 편향된 DISTKEY 는 스큐를 만든다.
  • 정렬 키는 1MB 블록마다 기록된 최소·최대값(zone map)으로 범위 조건 밖의 블록을 건너뛰게 한다. COMPOUND 는 앞 컬럼 필터에, INTERLEAVED 는 여러 컬럼 조합 필터에 맞는다.
  • RA3 는 컴퓨팅과 스토리지를 분리했고, Spectrum 은 적재 없이 S3 의 외부 테이블을 읽는다(스캔량 과금, 읽기 전용).
  • 자동 WLM + 동시성 스케일링 + SQA 가 동시 쿼리 폭증의 표준 답이다. 적재는 여러 파일로 나눈 COPY 가 기본이다.

Day 1 - Amazon Redshift: 분산/정렬 키와 워크로드 최적화

Redshift 아키텍처 개요

Amazon Redshift 는 페타바이트급 컬럼형 MPP(Massively Parallel Processing) 데이터웨어하우스다. 클러스터는 리더 노드 하나와 여러 컴퓨트 노드로 구성된다.

클라이언트(SQL) ──► 리더 노드 : 파싱 · 실행 계획 · 결과 취합
                        │
        ┌───────────────┼───────────────┐
   컴퓨트 노드 1    컴퓨트 노드 2    컴퓨트 노드 3
   [슬라이스][슬라이스] ...            ← 슬라이스 = 병렬 처리의 최소 단위
  • 리더 노드는 쿼리를 계획해 컴퓨트 노드에 나눠 주고, 돌아온 중간 결과를 합친다.
  • 각 컴퓨트 노드는 여러 슬라이스로 나뉜다. 테이블의 행은 슬라이스에 나뉘어 저장되고, 슬라이스마다 자기 몫을 동시에 처리한다.
  • 저장은 컬럼 단위다. 컬럼 하나의 값들이 1MB 블록에 모여 압축되므로 "수억 행에서 컬럼 몇 개만 집계"하는 쿼리가 빠르다.

💡 관련 이론: MPP 의 성능은 가장 느린 슬라이스가 정한다. 모든 슬라이스가 끝나야 쿼리가 끝나기 때문이다. 한 슬라이스에 데이터가 몰리면(스큐) 나머지 슬라이스가 놀고 있어도 쿼리는 그 슬라이스를 기다린다. 분산 키 설계의 목표는 "고르게 나누되, 조인할 행끼리는 같은 곳에"다.

분산 스타일 (Distribution Style)

테이블의 행이 슬라이스에 어떻게 놓이는지를 정한다.

-- KEY 분산: 지정 컬럼의 값이 같으면 같은 슬라이스에 배치
CREATE TABLE orders (
  order_id   BIGINT,
  customer_id BIGINT,
  amount     DECIMAL(12,2)
)
DISTSTYLE KEY
DISTKEY (customer_id);
 
-- ALL 분산: 테이블 전체를 모든 노드에 복제 (작은 차원 테이블용)
CREATE TABLE dim_region (region_id INT, region_name VARCHAR(50))
DISTSTYLE ALL;
 
-- EVEN 분산: 라운드로빈으로 균등 분배 (조인 키가 명확치 않을 때)
CREATE TABLE event_log (event_id BIGINT, payload VARCHAR(2000))
DISTSTYLE EVEN;
스타일배치 방식맞는 경우치르는 값
AUTO(기본)작을 때 ALL 로 시작, 커지면 KEY(기본 키 등 적합한 컬럼) 또는 EVEN 으로 자동 변경대부분의 테이블직접 제어하지 않음
KEY한 컬럼의 값이 같으면 같은 슬라이스큰 테이블끼리 같은 키로 자주 조인값이 편향되면 스큐
ALL모든 노드에 전체 사본작고 자주 바뀌지 않는 차원 테이블저장량이 노드 수만큼 곱해지고 적재·갱신이 느려짐
EVEN컬럼 값과 무관하게 라운드로빈조인에 참여하지 않거나 KEY·ALL 을 고르기 애매할 때조인 시 재분배

조인에서 벌어지는 일이 분산 스타일을 고르는 기준이다.

  • 두 테이블이 같은 컬럼을 DISTKEY 로 가지면 조인할 행이 이미 같은 슬라이스에 있다. 네트워크로 행을 옮기지 않는 코로케이티드 조인이 된다.
  • 한쪽이 ALL 이면 모든 노드에 사본이 있으므로 역시 옮길 것이 없다.
  • 그 외에는 조인 직전에 한쪽(또는 양쪽) 테이블의 행을 조인 키 기준으로 슬라이스 사이에 다시 뿌린다. EXPLAIN 에서 DS_DIST_NONE·DS_DIST_ALL_NONE 은 재분배 없음, DS_BCAST_INNER(안쪽 테이블을 전 노드로 복사)·DS_DIST_BOTH(양쪽 재분배)는 비용이 큰 신호다.

DISTKEY 는 테이블당 컬럼 하나다. 여러 테이블과 조인하는 팩트 테이블은 가장 크고 가장 자주 조인하는 상대의 키를 고르고, 나머지 작은 차원은 ALL 로 둔다.

  • ALL 은 "작은 테이블"보다 "천천히 변하는 테이블" 에 맞는 선택이다. 쓰기가 노드 수만큼 반복되기 때문이다. 공식 문서는 아주 작은 차원 테이블은 쿼리 중 재분배 비용이 원래 낮아 ALL 의 이득이 크지 않다고도 적는다. 시험에서는 "작은 차원 테이블 + 조인 재분배 제거 = ALL"로 묻는다.
  • AUTO 가 스타일을 바꾸는 작업은 백그라운드에서 일어난다.

⚠️ 함정: DISTKEY 를 조인 키라는 이유만으로 고르면 스큐가 난다. 값이 몇 개뿐이거나(status, country) 한 값에 행이 몰린 컬럼(NULL 이 대부분인 컬럼, 한 대형 고객이 주문의 절반을 차지하는 customer_id)은 한 슬라이스를 무겁게 만든다. SVV_TABLE_INFO 의 skew_rows 가 크면 키를 바꾸거나 EVEN 으로 간다.

-- 테이블별 분산 스타일, 정렬 키, 스큐, 미정렬 비율 확인
SELECT "table", diststyle, sortkey1, skew_rows, unsorted, stats_off
FROM svv_table_info
ORDER BY skew_rows DESC;

정렬 키 (Sort Key)

정렬 키는 디스크에 행을 정렬해 저장한다. Redshift 는 컬럼 데이터를 1MB 블록에 담고 블록마다 최소·최대값을 메타데이터로 둔다(zone map). 범위 조건이 걸리면 최소·최대 범위가 조건과 겹치지 않는 블록을 통째로 건너뛴다.

CREATE TABLE sales (
  sale_date  DATE,
  region     VARCHAR(20),
  amount     DECIMAL(12,2)
)
DISTKEY (region)
COMPOUND SORTKEY (sale_date, region);
  • 5년치를 날짜로 정렬해 두고 한 달을 조회하면 블록의 대부분을 읽지 않는다. 정렬되어 있지 않으면 값이 블록마다 흩어져 최소·최대 범위가 넓어지고, 건너뛸 블록이 없어진다.
  • zone map 은 정렬 키가 없어도 존재한다. 정렬 키가 하는 일은 건너뛸 수 있게 값을 모아 주는 것이다.
축COMPOUND(기본)INTERLEAVED
정렬선언한 컬럼 순서대로각 컬럼에 같은 가중치
잘 듣는 조건앞쪽 컬럼(접두)을 쓰는 필터키 컬럼의 어떤 조합이든
안 듣는 조건첫 컬럼 없이 둘째 컬럼만 필터단조 증가 컬럼(날짜·일련번호) 위주 테이블
컬럼 수여러 개최대 8개
유지보수VACUUMVACUUM REINDEX(추가 분석 단계가 있어 훨씬 오래 걸림)
권장꾸준히 INSERT·UPDATE·DELETE 되는 테이블필터 축이 다양하고 변경이 적은 큰 테이블
  • SORTKEY AUTO 로 두면 Redshift 가 쿼리 패턴을 보고 정렬 키를 고른다. 공식 문서의 기본 권장이 이것이다.
  • 정렬 키에 함수를 씌운 조건(WHERE TRUNC(sale_ts) = ...)은 블록 건너뛰기를 무력화한다. 컬럼을 그대로 비교한다.
  • 동시성 스케일링은 INTERLEAVED 정렬 키 테이블의 쿼리를 받지 못한다.

RA3, 관리형 스토리지, Redshift Serverless

축RA3 프로비저닝Redshift ServerlessDC2(구세대)
컴퓨팅·스토리지분리. 데이터는 Redshift Managed Storage, 로컬 SSD 는 캐시분리결합(노드의 로컬 SSD)
용량 조절노드 타입·수를 직접RPU 로 자동 확장노드 추가(스토리지도 함께 늚)
과금노드 시간 + 관리형 스토리지(GB-월, 노드 수와 무관)RPU-시간(초 단위, 최소 60초) + 스토리지노드 시간
맞는 경우꾸준한 워크로드, 세밀한 제어간헐적·예측 어려운 워크로드, 운영 최소화기존 클러스터. 지문에서는 RA3 로 옮기는 출발점으로 나온다
  • RA3 의 핵심은 "스토리지가 찼다고 컴퓨팅을 늘릴 필요가 없다"는 것이다. 데이터 공유, 제로 ETL 대상, 쓰기 작업의 동시성 스케일링이 RA3·Serverless 를 요구한다.
  • Serverless 의 용량 단위는 RPU 다(1 RPU = 메모리 16GB). 기본 용량의 기본값은 128 RPU 이고 4 RPU 부터 설정할 수 있다. 쿼리가 없으면 컴퓨팅 요금이 나가지 않는다. 최대 용량·최대 RPU-시간 한도로 비용 상한을 건다.
  • 현행 가격 페이지는 RA3 와 함께 RG 라는 새 노드 타입을 현 세대로 안내한다. 시험 자료는 대체로 RA3 대 DC2 구도로 설명한다.

Redshift Spectrum

데이터를 Redshift 에 적재하지 않고 S3 의 파일을 외부 테이블로 직접 조회한다.

-- Spectrum 외부 스키마 + S3 데이터와 내부 테이블 조인
CREATE EXTERNAL SCHEMA spectrum_ext
FROM DATA CATALOG DATABASE 'datalake_db'
IAM_ROLE 'arn:aws:iam::123456789012:role/RedshiftSpectrumRole';
 
SELECT d.region, SUM(s.amount)
FROM spectrum_ext.raw_events s   -- S3 의 외부 테이블
JOIN dim_region d ON s.region_id = d.region_id  -- Redshift 내부 테이블
WHERE s.dt = '2026-06-26'        -- 외부 테이블의 파티션 컬럼 → 프루닝
GROUP BY d.region;
  • 외부 테이블의 정의는 Glue Data Catalog(또는 Hive 메타스토어)에 있다. Athena 가 쓰는 테이블을 그대로 쓴다.
  • 조건 필터링과 집계 같은 무거운 작업은 클러스터와 별개인 Spectrum 계층으로 내려가 처리된다. 클러스터 자원을 적게 쓰고, 여러 클러스터가 같은 S3 데이터를 사본 없이 조회한다.
  • 과금은 스캔한 바이트 기준이다(쿼리당 최소 10MB). 그래서 Athena 와 똑같이 파티션·Parquet·압축이 곧 비용이다.
  • 외부 테이블은 읽기 전용이다. UPDATE 같은 변경은 지원하지 않는다.
  • 클러스터와 버킷은 같은 리전이어야 한다.
  • 핫 데이터는 Redshift 에, 오래된 대용량 이력은 S3 + Spectrum 에 두고 뷰로 합쳐 보는 것이 레이크하우스 패턴이다.
판단Redshift 에 적재Spectrum 으로 조회Athena
접근 빈도자주, 반복가끔, 이력성간헐적 애드혹
성능가장 빠름(분산·정렬 키)파일 포맷·파티션에 달림파일 포맷·파티션에 달림
과금클러스터/RPU스캔량 + 클러스터스캔량만
전제적재 파이프라인Redshift 가 이미 있음인프라 없음
대표 단서"복잡한 조인의 반복 대시보드""웨어하우스 데이터와 S3 이력을 함께 조인""클러스터 없이 S3 를 SQL 로"

WLM, 동시성 스케일링, SQA

워크로드 관리(WLM) 는 쿼리를 큐에 넣고 큐마다 자원을 나눠 준다.

축자동 WLM(권장·기본)수동 WLM
동시성·메모리Redshift 가 쿼리 요구량을 보고 동적으로 조절큐마다 슬롯 수와 메모리 비율을 고정 지정
큐최대 8개, 큐마다 우선순위사용자 큐 최대 8개, 전체 슬롯 합계 최대 50
무거운 쿼리가 오면동시 실행 수를 줄여 메모리를 몰아줌슬롯에 고정된 메모리만 씀(부족하면 디스크로 넘침)
조정 수단우선순위, 쿼리 모니터링 규칙슬롯 수, 메모리 %, 쿼리 모니터링 규칙
  • 수동 WLM 의 기본 큐는 동시 실행 5 로 시작한다. 슬롯을 늘리면 슬롯당 메모리가 줄어, 메모리 안에서 끝나던 쿼리가 디스크에 중간 결과를 쓰며 느려진다. "동시성을 올렸더니 더 느려졌다"의 원인이다.
  • 쿼리는 사용자 그룹이나 쿼리 그룹 레이블(SET query_group TO 'critical_dashboards';)로 큐에 배정된다.
  • 쿼리 모니터링 규칙(QMR): 실행 시간·스캔 행 수 같은 지표가 임계를 넘는 쿼리를 기록(log)·중단(abort)하거나, 수동 WLM 에서는 다른 큐로 이동(hop), 자동 WLM 에서는 우선순위를 변경한다. 폭주 쿼리 방어 장치다. 큐 단위 WLM 타임아웃은 더 이상 권장되지 않고 QMR 로 대체한다.
  • SQA(Short Query Acceleration): 짧게 끝날 쿼리를 긴 쿼리 뒤에 줄 세우지 않고 먼저 처리한다. 짧은 쿼리 전용 큐를 따로 만들 필요가 없어진다.

동시성 스케일링은 큐에 쿼리가 쌓이면 임시 클러스터를 자동으로 붙여 대기 중인 쿼리를 그쪽에서 돌린다.

  • WLM 큐의 동시성 스케일링 모드를 auto 로 켠다. 붙일 수 있는 클러스터 수는 max_concurrency_scaling_clusters(기본 1)로 정한다.
  • 읽기 쿼리뿐 아니라 COPY·INSERT·DELETE·UPDATE·CTAS 같은 쓰기 작업도 지원한다(쓰기는 RA3 계열에서만).
  • 과금은 임시 클러스터가 실제로 쿼리를 돌린 시간만, 초 단위다. 메인 클러스터가 하루 가동되면 1시간의 무료 크레딧이 쌓이고 최대 30시간까지 누적된다. 그래서 하루 한 번 짧게 몰리는 피크는 대개 추가 비용 없이 흡수된다.
  • 받지 못하는 쿼리: INTERLEAVED 정렬 키 테이블, 임시 테이블, Python·Lambda UDF 를 쓰는 쿼리, DISTSTYLE ALL 테이블에 대한 쓰기 등.

동시성 스케일링은 "스토리지와 메인 클러스터는 그대로 두고 처리 용량만 잠깐 빌리는" 모델이다. 매일 아침 대시보드 갱신처럼 짧고 주기적인 폭증에 맞는다. 하루 종일 큐가 차 있다면 그것은 폭증이 아니라 용량 부족이므로 클러스터를 키우거나(리사이즈) 쿼리·키 설계를 고쳐야 한다.

적재: COPY 를 제대로 쓰기

COPY sales
FROM 's3://acme-datalake-curated/sales/2026/06/'
IAM_ROLE 'arn:aws:iam::123456789012:role/RedshiftCopyRole'
FORMAT AS PARQUET;
  • COPY 는 슬라이스들이 S3 파일을 나눠 읽는 병렬 적재다. 단건 INSERT 를 반복하는 것은 안티패턴이다.
  • 분할 가능한 파일(압축하지 않은 CSV, Parquet·ORC)은 Redshift 가 128MB 이상이면 자동으로 쪼개 병렬로 읽는다.
  • 분할할 수 없는 파일(gzip 한 CSV, JSON 등)은 직접 나눠야 한다. 압축 후 1MB~1GB 의 비슷한 크기로, 파일 수는 슬라이스 수의 배수로 맞춘다. 큰 gzip 파일 하나는 슬라이스 하나가 혼자 읽어 직렬 적재가 된다.
  • 매니페스트 파일로 적재할 파일 목록을 명시하면 프리픽스에 섞인 엉뚱한 파일을 피할 수 있다.
  • 빈 테이블에 처음 COPY 할 때 COMPUPDATE 로 컬럼별 압축 인코딩이 자동 선택된다.
  • 반대 방향은 UNLOAD 다. 쿼리 결과를 S3 로(Parquet·파티션 지정 가능) 병렬로 내보낸다.

유지보수와 기타 최적화

작업하는 일자동화
VACUUM삭제 표시된 행의 공간 회수, 정렬되지 않은 영역 재정렬백그라운드에서 자동 삭제 회수·자동 정렬
ANALYZE옵티마이저용 통계 갱신자동 ANALYZE
머티리얼라이즈드 뷰반복되는 조인·집계 결과를 미리 저장자동 새로 고침, 조건이 맞으면 증분 갱신
결과 캐싱같은 쿼리의 결과를 재사용기본 동작
  • UPDATE·DELETE 는 행을 즉시 지우지 않고 삭제 표시만 한다. 대량 삭제 뒤 디스크가 줄지 않고 스캔이 느린 것은 VACUUM 이 아직 돌지 않아서다.
  • 통계가 낡으면(stats_off 가 큼) 옵티마이저가 조인 순서와 분산 방식을 잘못 고른다. 대량 적재 뒤에는 통계를 확인한다.
  • 머티리얼라이즈드 뷰는 Spectrum 외부 테이블 위에도 만들 수 있어, S3 를 매번 스캔하는 비용을 줄인다. Kinesis Data Streams·MSK 에서 바로 받아 오는 스트리밍 수집도 머티리얼라이즈드 뷰로 구현된다.

증상 → 원인 → 조치

증상원인조치
큰 테이블 조인이 느리고 DS_DIST_BOTH/DS_BCAST_INNER 가 보임조인 키와 분산 키 불일치양쪽을 같은 DISTKEY 로, 작은 쪽은 ALL
한 노드만 디스크·CPU 가 높다DISTKEY 스큐고르게 분포한 키로 변경 또는 EVEN
날짜 범위 쿼리가 전체 블록을 읽는다정렬 키 없음, 미정렬 영역 큼, 컬럼에 함수 적용날짜를 정렬 키 첫 컬럼으로, VACUUM, 조건식 수정
아침마다 쿼리가 큐에서 대기동시 쿼리 폭증동시성 스케일링, SQA
한 쿼리가 클러스터를 독점폭주 쿼리QMR 로 중단하거나 우선순위를 낮춤
슬롯을 늘렸더니 쿼리가 디스크를 쓰며 느려짐수동 WLM 슬롯당 메모리 감소자동 WLM
COPY 가 느리다큰 gzip 파일 하나여러 파일로 분할(슬라이스 수의 배수)
대량 삭제 후에도 느리고 용량이 그대로삭제 표시된 행 잔존VACUUM
스토리지 때문에 노드를 계속 늘린다DC2 의 결합형 구조RA3 또는 오래된 데이터를 S3 + Spectrum 으로

지문 단서 → 정답 판별표

지문 단서정답
"두 큰 테이블을 같은 컬럼으로 자주 조인, 재분배 제거"양쪽 모두 그 컬럼을 DISTKEY
"작은 차원 테이블과 큰 팩트 테이블의 조인"차원 테이블 DISTSTYLE ALL
"날짜 범위 조회가 대부분"날짜를 COMPOUND SORTKEY 첫 컬럼으로
"여러 컬럼 중 무엇으로 필터할지 다양하다"INTERLEAVED SORTKEY
"스토리지는 늘리되 컴퓨팅은 그대로"RA3(관리형 스토리지)
"적재하지 않고 S3 의 이력 데이터를 웨어하우스 테이블과 조인"Redshift Spectrum
"특정 시간대에만 동시 쿼리가 몰려 대기"동시성 스케일링
"짧은 쿼리가 긴 쿼리 뒤에서 기다린다"SQA
"일정 시간 넘게 도는 쿼리를 자동 중단"쿼리 모니터링 규칙
"사용 패턴이 간헐적, 클러스터 관리를 원치 않는다"Redshift Serverless
"S3 의 대량 파일을 가장 빠르게 적재"여러 파일로 나눈 COPY
"반복되는 무거운 집계의 응답 시간 단축"머티리얼라이즈드 뷰

내일은 클러스터 없이 S3 를 SQL 로 조회하는 Athena 와 그 비용 구조를 다룬다.

📖 용어

  • MPP : 데이터를 여러 노드에 나눠 동시에 처리하는 구조. Massively Parallel Processing.
  • 슬라이스 : 컴퓨트 노드를 나눈 병렬 처리 단위. 테이블의 행이 슬라이스별로 저장된다.
  • 분산 키(DISTKEY) : 행을 어느 슬라이스에 둘지 정하는 컬럼. 값이 같으면 같은 슬라이스로 간다.
  • 코로케이티드 조인 : 조인할 행이 이미 같은 슬라이스에 있어 재분배 없이 수행되는 조인.
  • 스큐(skew) : 데이터가 일부 슬라이스에 몰린 상태. 그 슬라이스가 쿼리 전체를 늦춘다.
  • zone map : 블록마다 기록해 둔 최소·최대값. 조건과 겹치지 않는 블록을 건너뛰는 데 쓰인다.
  • Redshift Managed Storage(RMS) : RA3·Serverless 가 쓰는, 컴퓨팅과 분리된 관리형 스토리지.
  • RPU : Redshift Serverless 의 용량 단위. 사용한 RPU-시간만큼 과금된다.
  • WLM : 쿼리를 큐로 나눠 동시성과 메모리를 배분하는 워크로드 관리 기능.
  • 외부 테이블 : 데이터는 S3 에 있고 정의만 카탈로그에 있는 테이블. Spectrum 이 읽는다.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

두 큰 테이블을 customer_id로 자주 조인할 때, 네트워크 재분배 없이 조인(co-located join)되도록 하려면 어떤 설정이 가장 적절한가?

문제 2

작은 차원 테이블을 큰 팩트 테이블과 조인할 때 재분배를 없애기 위한 분산 스타일로 가장 적절한 것은?

문제 3

Redshift에서 데이터를 클러스터에 적재하지 않고 S3에 저장된 외부 테이블을 직접 쿼리하며, 스캔한 데이터량 기준으로 과금되는 기능은?

문제 4

정렬 키와 zone map이 쿼리 성능을 높이는 원리로 가장 정확한 것은?

문제 5

매일 새벽 대시보드 갱신으로 읽기 쿼리가 일시적으로 폭증해 큐 대기가 길어진다. 추가 비용을 최소화하면서 대기를 줄이는 가장 적절한 기능은?

이전Week 6 종합: 데이터 레이크 복습Week 6 · Day 5다음 Amazon Athena: 서버리스 쿼리와 비용 최적화Week 7 · Day 2

참고 공식 자료

  • DEA-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon Redshift 공식 문서(새 탭에서 열림)
  • Amazon S3 공식 문서(새 탭에서 열림)
  • Amazon Athena 공식 문서(새 탭에서 열림)

이 페이지

  • Redshift 아키텍처 개요
  • 분산 스타일 (Distribution Style)
  • 정렬 키 (Sort Key)
  • RA3, 관리형 스토리지, Redshift Serverless
  • Redshift Spectrum
  • WLM, 동시성 스케일링, SQA
  • 적재: COPY 를 제대로 쓰기
  • 유지보수와 기타 최적화
  • 증상 → 원인 → 조치
  • 지문 단서 → 정답 판별표
  • 용어
  • 연습 문제