최적화 방법

Snowflake 데이터 파이프라인 자동화

Emily Melhuish

Technical Curriculum Developer, Snowflake

컴퓨팅 확장이 항상 해결책은 아닙니다

더 큰 집

Snowflake 데이터 파이프라인 자동화

네 가지 접근 방법

nanobanana: half: 2×2 격자로 배열된 네 가지 기하학적 도구 아이콘, 추상적인 플랫 디자인, DataCamp 네이비 블루와 그린 색상, 흰색 배경, 텍스트 없음, 미니멀리스트 디자인

  • 검색 최적화 - 고카디널리티 ID에 대한 동등 조회
  • 쿼리 가속 서비스 - 예측 불가한 대용량 스캔
  • 자동 클러스터링 - 동일 컬럼에 반복되는 범위 필터
  • 구체화된 뷰 - 자주 실행되는 고비용 집계
Snowflake 데이터 파이프라인 자동화

검색 최적화

  • 대형 테이블에서 소수의 행을 조회하는 쿼리 성능 향상
  • 영구적인 액세스 경로를 구축하여 일부 마이크로 파티션 스킵 가능
  • 액세스 경로 유지를 위한 스토리지 및 컴퓨팅 비용 발생
ALTER TABLE logistics.shipments
  ADD SEARCH OPTIMIZATION;
1 docs.snowflake.com/en/user-guide/search-optimization-service
Snowflake 데이터 파이프라인 자동화

쿼리 가속 서비스

  • 예측 불가한 대규모 스캔 처리
  • SELECT, INSERT, CREATE TABLE AS SELECT, COPY INTO 지원
  • QUERY_ACCELERATION_MAX_SCALE_FACTOR: 기본값 8; 0은 무제한(비활성화 아님)
ALTER WAREHOUSE harbr_wh SET
  ENABLE_QUERY_ACCELERATION = TRUE
  QUERY_ACCELERATION_MAX_SCALE_FACTOR 
  = 8;
1 docs.snowflake.com/en/user-guide/query-acceleration-service
Snowflake 데이터 파이프라인 자동화

자동 클러스터링

  • 대부분의 쿼리에서 동일한 필터 컬럼이 사용되는 테이블에 적합
  • 마이크로 파티션을 재정렬하여 범위 필터의 데이터 스킵 향상
  • 백그라운드 유지 관리 - 웨어하우스 불필요
  • 단점: 새 데이터 유입 시 지속적인 컴퓨팅 비용 발생
ALTER TABLE logistics.delivery_events
  CLUSTER BY (region, dispatch_date);
1 docs.snowflake.com/en/user-guide/tables-auto-reclustering
Snowflake 데이터 파이프라인 자동화

구체화된 뷰

  • 비용이 큰 쿼리가 반복 실행될 때 유용
  • 쿼리 결과를 사전 계산하여 저장; 조회 시 저장된 결과 사용
  • Snowflake가 백그라운드에서 자동 유지 관리
  • SQL 제한 적용: HAVING 불가, 조인 제한, 윈도우 함수 불가
CREATE MATERIALIZED VIEW 
logistics.emea_summary_mv AS
  SELECT region, carrier_id,
         COUNT(*) AS shipments,
         AVG(delivery_days) AS avg_days
  FROM logistics.shipments
  WHERE region = 'EMEA'
  GROUP BY region, carrier_id;
1 docs.snowflake.com/en/user-guide/views-materialized
Snowflake 데이터 파이프라인 자동화

적합한 방법 선택

쿼리 프로파일 신호 고려할 방법
TableScan이 거의 모든 파티션 읽음; 고카디널리티 컬럼에 동등 조회 검색 최적화
대규모 집계, 대용량 스캔, 불규칙적 발생 쿼리 가속 서비스
대부분의 쿼리에서 동일한 필터 컬럼 사용; 프루닝 효율 낮음 자동 클러스터링
느리게 변하는 데이터에 동일한 고비용 집계가 반복 실행됨 구체화된 뷰
  • 각 방법은 서로 보완적으로 사용 가능
Snowflake 데이터 파이프라인 자동화

연습해 봅시다!

Snowflake 데이터 파이프라인 자동화

Preparing Video For Download...