마이크로 파티션과 데이터 클러스터링

Snowflake 아키텍처

Emily Melhuish

Technical Curriculum Developer, Snowflake

대용량 테이블 쿼리

예시: 구독(Subscription)

USER_ID REGISTRATION_DATE USER_NAME
912930 2026-04-01 JANEDOE
912931 2026-04-06 JOHNDOE
912932 2026-04-12 JIMMYDOE
... ... ...

쿼리는 이 테이블에서 얼마나 많은 데이터를 읽어야 할까요?

Snowflake 아키텍처

마이크로 파티션

마이크로 파티션과 열 저장 방식 예시

  • 마이크로 파티션 내에서 열은 개별적으로 저장 및 압축됩니다
  • Snowflake는 쿼리에 필요한 열만 읽습니다
Snowflake 아키텍처

메타데이터

메타데이터가 포함된 마이크로 파티션 예시

  • Snowflake는 각 마이크로 파티션의 메타데이터를 저장합니다
  • 클라우드 서비스 레이어에 저장됩니다
Snowflake 아키텍처

파티션 프루닝

프루닝 예시

Snowflake 아키텍처

파티션 프루닝

선택된 옵션이 있는 프루닝 예시

  • Snowflake는 쿼리에 필요한 데이터가 없는 마이크로 파티션을 건너뜁니다.
  • 관련 슬라이스만 읽습니다 = 파티션 프루닝
Snowflake 아키텍처

클러스터링

마이크로 파티션과 열 저장 방식 예시

  • 날짜 기반 쿼리는 프루닝 효과가 높습니다 (예: 시계열 데이터)

  • 값이 여러 파티션에 분산된 경우 프루닝 효과가 낮습니다 (예: 지역)

  • 클러스터링 키: Snowflake가 해당 열을 기준으로 마이크로 파티션을 구성합니다

Snowflake 아키텍처

클러스터링 키: 사용 시기

clustering_key_v5.png

Snowflake 아키텍처

클러스터링 키: 카디널리티와 비용

clustering_key_v5.png

Snowflake 아키텍처

연습해 봅시다!

Snowflake 아키텍처

Preparing Video For Download...