Amazon Redshift - WLM, VACUUM, SQA

2026. 7. 2. 16:50·Data Engineering/AWS

들어가며

Amazon Redshift는 대규모 데이터를 빠르게 분석할 수 있도록 설계된 데이터 웨어하우스입니다. 하지만 데이터가 증가하고 동시에 여러 사용자가 SQL을 실행하면 적절한 리소스 관리와 데이터 유지 관리가 필요합니다.

 

이번 글에서는 Redshift를 운영할 때 자주 사용되는 Workload Management(WLM), VACUUM, Short Query Acceleration(SQA)에 대해 알아보겠습니다.


1. Workload Management(WLM)이란?

https://aws.amazon.com/ko/blogs/big-data/manage-your-workloads-better-using-amazon-redshift-workload-management/

Workload Management(WLM)은 동시에 실행되는 SQL을 관리하고 컴퓨팅 자원을 효율적으로 분배하는 기능입니다.

여러 사용자가 동시에 Redshift에 SQL을 실행하면 모든 쿼리를 한 번에 처리할 수 없습니다.

이때 WLM은 SQL을 Queue에 배치하고 Compute Node의 리소스를 적절히 할당하여 순차적으로 실행합니다.

사용자 A ─┐
사용자 B ─┼──▶ WLM ───▶ Redshift
사용자 C ─┘

이를 통해 특정 사용자의 긴 쿼리가 다른 사용자의 작업에 과도한 영향을 주는 것을 방지할 수 있습니다.


2. WLM Queue

WLM은 작업의 성격에 따라 여러 Queue를 구성할 수 있습니다.

 

  • 여러 Queue는 동시에 실행될 수 있습니다.
  • 각 Queue는 자신에게 할당된 리소스와 슬롯을 사용해 병렬로 작업을 처리합니다.
  • Queue 내부에서도 슬롯 수만큼 쿼리가 동시에 실행되며, 슬롯이 모두 사용 중이면 이후 쿼리는 대기합니다.

 


3. VACUUM이란?

Redshift는 DELETE 성능을 높이기 위해 삭제 시 데이터를 즉시 이동하지 않고 삭제 표시만 남깁니다.

이러한 공간이 계속 증가하면

  • 저장 공간 낭비
  • 정렬 순서 손상
  • 조회 성능 저하

와 같은 문제가 발생할 수 있습니다. 이러한 삭제 공간을 정리하고 데이터를 다시 정렬하는 기능이 VACUUM입니다.

 VACUUM을 실행할 때 여러 삭제를 한 번에 정리하여 공간을 회수하고 정렬을 복원합니다. 이렇게 하면 대량의 UPDATE·DELETE가 발생하는 환경에서도 불필요한 디스크 I/O를 크게 줄일 수 있습니다.

3-1) VACUUM 동작 과정

3-2) VACUUM 명령어

3-2-1) 전체 데이터 정리

VACUUM;

3-2-2) 특정 테이블 정리

VACUUM orders;

3-2-3) 삭제 공간만 정리

VACUUM DELETE ONLY orders;

3-2-4) 정렬만 수행

VACUUM SORT ONLY orders;

4. Short Query Acceleration(SQA)

Short Query Acceleration(SQA)는 WLM(Workload Management)의 기능 중 하나로, 실행 시간이 짧을 것으로 예상되는 SQL을 자동으로 식별하여 긴 쿼리보다 먼저 실행하는 기능입니다.

 

WLM은 여러 사용자의 SQL을 Queue에 배치하고 리소스를 할당하여 전체 작업을 관리합니다. 이 과정에서 SQA는 대기 중인 쿼리를 분석하여 짧은 실행 시간이 예상되는 쿼리를 우선 실행함으로써 응답 시간을 단축합니다.


 

5. 마치며

이번 글를 정리하며 Redshift는 단순히 대용량 데이터를 저장하고 분석하는 데이터 웨어하우스가 아니라, 안정적인 분석 환경을 유지하기 위한 다양한 운영 기능을 제공한다는 점을 이해할 수 있었습니다.

 

특히 WLM을 통해 여러 사용자의 SQL을 효율적으로 관리하고, SQA를 통해 짧은 조회 쿼리의 응답 시간을 줄일 수 있다는 점을 알게 되었습니다. 또한 UPDATE와 DELETE가 반복되는 환경에서는 VACUUM을 수행하여 삭제 공간을 정리하고 데이터 정렬 상태를 유지하는 것이 성능 관리에 중요한 요소라는 점도 함께 배울 수 있었습니다.

'Data Engineering > AWS' 카테고리의 다른 글

Amazon Redshift - Materialized View, Data Sharing, Lambda UDF  (0) 2026.07.03
Amazon Redshift Serverless란  (0) 2026.07.02
Amazon Redshift - Distribution Style 이해  (0) 2026.07.02
Amazon Redshift - Spectrum, Durability, Scaling  (0) 2026.07.02
Amazon Redshift란?  (0) 2026.07.02
'Data Engineering/AWS' 카테고리의 다른 글
  • Amazon Redshift - Materialized View, Data Sharing, Lambda UDF
  • Amazon Redshift Serverless란
  • Amazon Redshift - Distribution Style 이해
  • Amazon Redshift - Spectrum, Durability, Scaling
jjaehyeok
jjaehyeok
jjaehyeok 님의 블로그 입니다.
  • jjaehyeok
    jjaehyeok 님의 블로그
    jjaehyeok
  • 전체
    오늘
    어제
    • 분류 전체보기 (108) N
      • Navisafe (15)
        • Infrastructure (13)
        • Data Pipeline (0)
        • Trouble shooting (2)
      • Data Engineering (56) N
        • Airflow (11)
        • Kafka (3)
        • Spark (0)
        • ELK (2)
        • Kubernetes (7)
        • AWS (33) N
        • Flink (0)
      • CodingTest (31)
        • 문제 풀이(Lv1~Lv2) (21)
        • 문제 풀이(Lv3) (10)
        • SQL (0)
      • 알고리즘 정리 (3)
        • 자료구조 (스택, 큐, 해시) (3)
        • 정렬 & 그리디 (0)
        • DFS & BFS (0)
        • 이분탐색 (0)
        • DP (0)
      • 자격증 (1)
        • CKAD (1)
        • DEA-C01 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    batch
    Kafka
    trouble shooting
    elk
    EC2
    Redshift
    RDS
    DEA-C01
    DynamoDB
    datasync
    eks
    k8s
    Airflow
    documentdb
    datatransfer
    Glue
    CKAD
    S3
    ECR
    AWS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
jjaehyeok
Amazon Redshift - WLM, VACUUM, SQA
상단으로

티스토리툴바