티스토리 뷰
성능
RA3 노드 및 관리형 스토리지
구체화된 뷰(materialized view)
자동화된 성능 튜닝(vaccum)
동시성 확장작업(워크로드 매니저 내의 서비스)
Redshift 시작하기
1. 권한 생성 및 role 생성
2. redshift 클러스터 생성
- 컴퓨터 노드 결정: RA3 노드 vs DC노드
- 컴퓨터 노드는 슬라이스로 구성됨(슬라이스들이 병렬 처리함)
- 슬라이스는 컴퓨터 노드 내의 물리적인 구분
- 클러스터 스토리지 용량 = (노드당 스토리지) x (노드 수)
- 리더 노드는 aws가 관리
<클러스터 설계> 전체 데이터 크기 결정 네트워크 설계 파라미터 그룹 셋팅 |
3. 데이터 적재(COPY)
4. 쿼리
분산 방식
-> 데이터 로드하는 방식에 따라서 성능 차이가 생김
-> Broadcast 모션 지양하기 (redistribution 은 어느정도 일어날 수 있지만..)
Redistribution: 동일 노드의 슬라이스간의 데이터 이동 Broadcast: 서로 다른 노드간의 데이터 이동 |
1. All 분산 방식
2. Even 분산 방식 (Round Robin)
3. Key 분산 방식
데이터 저장 성능에 중요한 3요소
분산, 압축, 정렬
- 저장하기 위해서는 메모리상에 데이터가 올라가야 하는데, 계속 디스크에 있어서 계속 찾는 현상
- 임의의 쿼리에 EXPLAIN 을 추가
-> 쿼리 계획은 처리되는 모든 쿼리에 대해 쿼리 최적화 프로그램에 의해 생성되므로 EXPLAIN 키워드를 추가하여 쿼리 결과와 함께 쿼리 계획을 반환하여 확인해보기
Redshift spectrum
- 단독으로 쓸 수 없고, redshift cluster 가 반드시 있어야 함
- Parquet 으로 s3 데이터 레이크에 쿼리할 수 있음 (실제 데이터는 dw 에 없음)
- athena 처럼 scan 에 따른 비용구조 (차이점은 athena는 serverless 라는 것)
Workload Manager(WLM) 기능
1. 파라미터 그룹
- wlm 을 구성하는 데에 사용됨
2. 쿼리 대기열 및 동시성
- 동시성이 올라가면(slice 증가) 슬라이스당 메모리가 적어짐, 반대로 동시성이 내려가면 슬라이스당 메모리가 많아짐
- super user queue => 동시성 1인 큐(dw 관리용)
3. 단기 쿼리 가속화
- 단기 쿼리의 우선순위를 지정해서 장기 실행 쿼리로 인해 중단되지 않도록 하는 것
4. 자동 WLM
- 대기열에 대한 메모리 또는 동시성을 정의할 필요가 없음, 자동으로 처리량에 맞는최적화를 위해 동시성을 동적으로 조정함
'Data Engineering' 카테고리의 다른 글
AWS Redshift 를 데이터 분석 파이프라인에서 사용하기 (0) | 2024.10.22 |
---|---|
데이터 카탈로그란 (AWS Glue, AWS Lake Formation) (1) | 2024.10.15 |
DataLake 가 무엇인가 (0) | 2024.10.15 |
[Flink] Kafka connector (0) | 2022.09.18 |
[Flink] 플링크의 스냅샷 생성 (0) | 2022.09.18 |