Что такое Snowflake
Коротко
Snowflake — облачное хранилище данных (DWH) для аналитики. Один из мировых лидеров наряду с BigQuery и Redshift. В РФ официально недоступен (санкции), но используется в международных командах.
Зачем нужен
Для компаний, у которых:
- Миллиарды строк данных.
- Нужно аналитика на них — дашборды, ML, BI.
- Не хотят содержать свой кластер.
Snowflake решает это облачно: вы платите за запросы, данные хранятся и обрабатываются в его инфраструктуре.
Ключевые особенности
1. Separation of storage and compute
Обычные БД: данные и вычисления на одном сервере. Ресурсы связаны.
Snowflake: данные — отдельно (в cloud storage), compute — отдельно (виртуальные warehouses). Можно поднять мощный warehouse на час, потом выключить — платите только за час.
2. Zero-copy cloning
Можно клонировать таблицу без физического копирования. Полезно для dev/test.
CREATE TABLE prod_orders_clone CLONE prod.orders;
-- Мгновенно, без затрат места3. Time travel
Можно запросить состояние таблицы в прошлом:
SELECT * FROM orders AT(TIMESTAMP => '2026-04-14 10:00');
-- Увидеть, какими были данные вчера в 10:004. Auto-scaling
Warehouse автоматически подбирает размер под нагрузку. При пиках — добавляет воркеров.
5. Multi-cluster shared data
Несколько команд могут работать с одними данными без конфликтов. У каждой свой warehouse.
Архитектура
Данные в S3 / Azure Blob / GCS
↓
Cloud Services (metadata, optimizer)
↓
Virtual Warehouses (compute, scale отдельно)
↓
Пользователи / BI / AppsПрокачать тему на реальных задачах удобно в боте @kariernik_bot — база вопросов собрана с собеседований в Яндексе, Авито, Ozon, Тинькофф.
SQL в Snowflake
Стандартный ANSI SQL + расширения:
-- Создать warehouse
CREATE WAREHOUSE analytics_wh WITH WAREHOUSE_SIZE = 'MEDIUM';
-- Использовать warehouse
USE WAREHOUSE analytics_wh;
-- Обычные запросы
SELECT DATE_TRUNC('month', created_at), SUM(amount)
FROM orders
GROUP BY 1;Для аналитика — почти идентично PostgreSQL / BigQuery.
Snowflake vs BigQuery vs Redshift
| Критерий | Snowflake | BigQuery | Redshift |
|---|---|---|---|
| Cloud | Multi-cloud (AWS/Azure/GCP) | AWS | |
| Billing | Per compute time | Per query (scanned data) | Per node |
| Scaling | Manual (warehouses) | Auto | Manual |
| Сложность | Средне | Легко | Сложно |
| Цена на масштабе | Высокая | Средняя | Средняя |
Когда использовать
Хорошо
- Enterprise с легальным доступом к облакам.
- Большие аналитические нагрузки.
- Команды, работающие на разных континентах.
- Data sharing между компаниями (secure data sharing).
Плохо
- Российские компании без доступа к западным облакам.
- Маленькие команды без больших объёмов.
- Real-time системы с нагрузкой < 1 сек.
Альтернативы для РФ
Поскольку Snowflake в РФ недоступен, используют:
- ClickHouse — open-source, отличная производительность.
- Yandex DataLens + YDB / Greenplum — отечественные аналоги.
- Self-hosted Postgres + ClickHouse — гибрид для маленьких команд.
Нужно ли аналитику знать Snowflake
В РФ — не критично
В большинстве вакансий требуют PostgreSQL или ClickHouse. Snowflake — опция для международных ролей.
Международный рынок — да
В США, ЕС Snowflake — стандарт. На LinkedIn «Snowflake» в описании вакансии очень часто.
Порог входа низкий
Если знаете стандартный SQL — переход на Snowflake занимает 1–2 недели. Специфика минимальна.
На собесе такие штуки часто спрашивают. Быстрый способ довести до автоматизма — тренажёр в Telegram с задачами из реальных интервью.
Частые команды
-- Загрузка из файла
COPY INTO orders FROM @s3_stage/orders.csv;
-- Массивы и JSON
SELECT
data:user_id::int AS user_id,
data:amount::decimal AS amount
FROM events;
-- UDF
CREATE FUNCTION fahrenheit_to_celsius(f FLOAT)
RETURNS FLOAT AS
$$ (f - 32) * 5 / 9 $$;Типичные ошибки новичков
1. Держать warehouse включённым 24/7
Стоит денег. В идеале — auto-suspend после нескольких минут idle.
2. Query scan всей таблицы
Snowflake billing per compute, но запросы на большие сканы могут тормозить из-за нескольких gigs. Используйте partitioning и cluster keys.
3. Не использовать materialized views
На частых дашбордах MV дают 10-100x ускорение. Нужно включать.
Читайте также
FAQ
Snowflake дорогой?
Зависит от использования. Мелкая команда — $500–2000/мес. Крупная — $10k+/мес. Обычно дешевле, чем содержать свой Hadoop-кластер.
Нужен ли для работы в РФ?
Нет, обычно. Но упоминание в резюме — плюс для международных ролей.
Как учить?
У Snowflake бесплатный trial (30 дней). Пройдите их курс Snowflake University — бесплатно.
Чем Snowflake-компания отличается от Google-компании (BigQuery)?
На уровне аналитика — почти ничем. SQL стандартный. Отличия в billing, administration — это для DBA.