Микроразделы и кластеризация данных

Архитектура 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

Микроразделы

Пример микроразделов и совместного хранения столбцов

  • Внутри микроразделов столбцы хранятся и сжимаются отдельно
  • Snowflake читает только те столбцы, которые нужны запросу
Архитектура Snowflake

Метаданные

Пример микроразделов с метаданными

  • Snowflake хранит метаданные для каждого микрораздела
  • Хранятся на уровне облачных сервисов
Архитектура Snowflake

Отсечение разделов

Пример отсечения разделов

Архитектура Snowflake

Отсечение разделов

Пример отсечения разделов с выбранным параметром

  • Snowflake пропускает микроразделы, которые заведомо не содержат нужных данных.
  • Читаются только релевантные фрагменты = отсечение разделов
Архитектура Snowflake

Кластеризация

Пример микроразделов и совместного хранения столбцов

  • Запросы по дате часто хорошо поддаются отсечению (например, временные ряды)

  • Отсечение неэффективно, если значения разбросаны по разделам (например, регион)

  • Ключ кластеризации: Snowflake организует микроразделы вокруг этого столбца

Архитектура Snowflake

Ключ кластеризации: когда использовать

clustering_key_v5.png

Архитектура Snowflake

Ключ кластеризации: кардинальность и стоимость

clustering_key_v5.png

Архитектура Snowflake

Давайте попрактикуемся!

Архитектура Snowflake

Preparing Video For Download...