[Snowflake] Query Acceleration Service (QAS)

차지예·2026년 6월 9일

Snowflake

목록 보기
33/49
post-thumbnail

🎯 한 줄 정의

QAS = "튀는 쿼리(outlier)"의 무거운 스캔·필터 작업을 공유 컴퓨팅 자원에 떠넘겨(offload) 빠르게 처리하는 서비스

핵심 동사 "offload(오프로드)" 하나만 기억하면 됩니다.


✔️ "에·온·둘"

글자의미내용
EnterpriseQAS는 Enterprise Edition 이상 ⭐
ON (활성화)ENABLE_QUERY_ACCELERATION = TRUE
2가지 패턴①큰 스캔+필터 ②대량 insert/copy

⭐가속되는 쿼리 2가지

🔑 "스캔이 크고(Large Scan), 둘 중 하나"

  1. 큰 스캔 + 선택적 필터(selective filter) 또는 집계(aggregation)
  2. 큰 스캔 + 대량 insert / copy (예: INSERT, COPY로 많은 행 추가)

📌 공통점: "많이 스캔하는데 결과는 적게 나오는" 쿼리 = 오프로드 효과 큼


⭐Scale Factor (스케일 팩터)

정의

비용 상한선(cost control) = 가속에 빌릴 수 있는 자원의 최대 배수

기본값 암기: "명8 · 자2 · 영무"

상황암기
시적으로 TRUE 설정8명8
Gen2·multi-cluster 동 활성화2자2
0 설정상한선 제거(무제한)영무(無)

파라미터: QUERY_ACCELERATION_MAX_SCALE_FACTOR

💰 비용 계산 공식

추가 최대 비용 = (웨어하우스 시간당 크레딧) × (scale factor)
  • 예) Medium(4 credits/hr) × scale 5 = 최대 +20 credits/hr

기억할 특징

  • Scale factor는 웨어하우스 전체에 적용 (single·multi 무관)
  • Multi-cluster에서는 scale factor 올리는 게 유리

⭐ 자동 활성화 (default ON)

"Gen2 표준 + Multi-cluster = 기본 켜짐"

  • Gen2 standard warehouse → QAS 기본 활성화
  • Multi-cluster warehouse → QAS 기본 활성화
  • (이때 scale factor 기본값은 2)

🛠️ 활성화 SQL

-- 생성 시
CREATE WAREHOUSE my_wh
  WITH ENABLE_QUERY_ACCELERATION = TRUE;

-- 나중에 켜기
ALTER WAREHOUSE my_wh
  SET ENABLE_QUERY_ACCELERATION = TRUE
      QUERY_ACCELERATION_MAX_SCALE_FACTOR = 0;

"이 쿼리 가속 될까?" 식별 도구 (2종 세트)

암기: "뷰는 목록, 함수는 한 개"

도구용도
QUERY_ACCELERATION_ELIGIBLE view혜택 큰 쿼리/웨어하우스 목록 찾기 (Account Usage)
SYSTEM$ESTIMATE_QUERY_ACCELERATION 함수특정 쿼리 1개 적격 여부 + scale factor별 예상시간
  • 부적격이면 ineligibleReason 출력 (예: NO_LARGE_ENOUGH_SCAN)

❌ 가속 안 되는 흔한 이유

글자이유
티션이 너무 적음 (자원 획득 지연이 이득 상쇄)
터가 비선택적 / GROUP BY 카디널리티 과다
일부 LIMIT 절 (QAS가 자동 판단)
비결정적 함수: RANDOM, SEQ

비용 핵심 (암기: "서·초·별")

  • 버리스(serverless) 자원 사용
  • 단위 과금 (사용 중일 때만)
  • 웨어하우스 비용과 도 청구 ⭐

모니터링 (어디서 보나?)

QUERY_HISTORY view (가속 효과 확인)

  • QUERY_ACCELERATION_BYTES_SCANNED
  • QUERY_ACCELERATION_PARTITIONS_SCANNED
  • QUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTOR

비용(크레딧) 조회

  • QUERY_ACCELERATION_HISTORY (view = Account/Org Usage / 함수 = Information Schema)
  • Snowsight: Admin → Cost Management → Consumption → Query Acceleration

Search Optimization과의 관계 (순서 주의)

① 먼저 프루닝 → ② 다음 가속

  1. Search Optimization: 불필요한 마이크로 파티션 프루닝(제거)
  2. QAS: 남은 작업을 공유 자원에 오프로드

두 서비스는 함께 사용 가능.

0개의 댓글