マイクロパーティションとデータクラスタリング

Snowflake アーキテクチャ

Emily Melhuish

Technical Curriculum Developer, Snowflake

大きなテーブルへのクエリ

例: サブスクリプション

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

このクエリはこのテーブルからどれだけのデータを読み取る必要がありますか?

Snowflake アーキテクチャ

マイクロパーティション

micro-partitions と、データが列ごとにまとめて保存される仕組みを示す例

  • マイクロパーティション内では、列は個別に保存・圧縮されます
  • Snowflake はクエリに必要な列のみを読み取ります
Snowflake アーキテクチャ

メタデータ

メタデータ付きマイクロパーティションの例

  • Snowflake は各マイクロパーティションのメタデータを保存します
  • クラウドサービス層に保存されています
Snowflake アーキテクチャ

パーティションプルーニング

剪定の例

Snowflake アーキテクチャ

パーティションプルーニング

オプションが選択された剪定の例

  • Snowflake は、クエリに必要なデータを含む可能性のないマイクロパーティションをスキップします。
  • 関連するスライスのみを読み取ります = パーティションプルーニング
Snowflake アーキテクチャ

クラスタリング

マイクロパーティションと、データが列ごとにまとめて保存される仕組みを示す例

  • 日付ベースのクエリは、しばしばうまく絞り込めます(たとえば、時系列)

  • パーティション全体に分散している値(例: region)には、プルーニングは有効ではありません

  • クラスタリングキー: Snowflake はその列の周囲にマイクロパーティションを整理します

Snowflake アーキテクチャ

クラスタリングキー: 使用するタイミング

clustering_key_v5.png

Snowflake アーキテクチャ

クラスタリングキー: カーディナリティとコスト

clustering_key_v5.png

Snowflake アーキテクチャ

練習しましょう!

Snowflake アーキテクチャ

Preparing Video For Download...