티스토리 뷰

Data Engineering

Redshift Notes

헐리 2024. 10. 22. 11:10

성능

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

  • 대기열에 대한 메모리 또는 동시성을 정의할 필요가 없음, 자동으로 처리량에 맞는최적화를 위해 동시성을 동적으로 조정함
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함