Data Lake vs Data Warehouse: разница
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Короткий ответ
- Data Warehouse (DWH) — структурированное хранилище с явной схемой для аналитики
- Data Lake — хранилище сырых данных любой формы (schema-on-read)
DWH — для SQL-аналитики. Lake — для ML и raw-данных.
Современный подход — Lakehouse (объединение обоих).
Сравнение
| Data Warehouse | Data Lake | |
|---|---|---|
| Формат | структурированный (tables) | любой (JSON, CSV, Parquet, видео) |
| Схема | schema-on-write | schema-on-read |
| Обработка | ELT, SQL | ML, Python, Spark |
| Пользователи | BI аналитики, продакты | data scientists, engineers |
| Стоимость хранения | дороже | дешевле |
| Скорость запросов | быстрая | медленнее |
| Примеры | Snowflake, BigQuery, Redshift | S3, HDFS, Azure Blob |
Data Warehouse — что это
Хранилище для структурированной аналитики.
Свойства
- Schema-on-write: сначала определяется схема, потом данные
- Оптимизирован для SELECT / JOIN / агрегаций
- Columnar хранение (ClickHouse, Redshift, BigQuery)
- ACID транзакции (в классических)
Use cases
- BI-дашборды
- Ad-hoc SQL-анализ
- Продуктовая аналитика
- Финансовая отчётность
Примеры
- Snowflake — cloud DWH, популярный
- BigQuery — Google, managed
- Redshift — Amazon
- ClickHouse — open-source columnar
- Vertica, Teradata — enterprise
Data Lake — что это
Огромное хранилище сырых данных.
Свойства
- Schema-on-read: данные сохраняют как есть, структура применяется при чтении
- Дешёвое хранение — обычно object storage (S3, GCS, Azure Blob)
- Любой формат — JSON, CSV, Parquet, видео, audio, логи
- Нет строгой структуры
Use cases
- Сырые данные для ML
- Логи, события, телеметрия
- Big data processing (Spark, Hadoop)
- Архив для compliance
- Backup и replication
Примеры
- AWS S3 + формат Parquet/Delta
- Azure Data Lake Storage
- Google Cloud Storage
- HDFS (on-premise)
Data Lakehouse — гибрид
Новый подход — объединение lake и warehouse.
Идея: хранить как lake (дешево, flexible), запрашивать как warehouse (SQL, BI).
Технологии
- Delta Lake (Databricks)
- Apache Iceberg
- Apache Hudi
Всё построено на object storage + metadata layer для ACID / versioning.
Преимущества
- Дешевле классического DWH
- Схема есть, но гибкая
- ML + SQL на одних данных
- Time travel (querying past state)
Когда DWH
- Нужна быстрая SQL-аналитика
- Структурированные данные
- Команда работает с BI-инструментами
- Dashboards, reporting
Когда Data Lake
- Много unstructured / semi-structured
- ML-задачи (нужны raw данные)
- Big data обработка (Spark)
- Хотите дешёвое хранение
Когда Lakehouse
- Нужен баланс: ML + SQL
- Современная платформа с нуля
- Миграция с legacy DWH
В типичной компании
- Старая компания: OLTP → ETL → DWH (Teradata)
- Стартап 2020: DWH (Snowflake) + dbt
- Современная scale-up: Lakehouse (Databricks / Snowflake) + dbt + ML
На собесе
«Чем отличается lake от warehouse?» Lake — сырые данные, любой формат. Warehouse — структурированный, под SQL.
«Когда использовать что?» DWH для BI-аналитики. Lake для ML и big data. Lakehouse для обоих.
«Что такое schema-on-read?» Структура применяется при чтении, не при записи. Гибкость, но медленнее запросы.
Связанные темы
FAQ
Можно ли иметь оба?
Да. Часто компании имеют lake для ML и DWH для BI, с ETL между ними.
Lakehouse заменит DWH?
В некоторых use cases — да. DWH с десятками TB данных уже часто на lakehouse.
Data lake — это только S3?
S3 — самое популярное. Но lake = концепт, не конкретная технология.
Нужно ли аналитику знать lake?
Концепты — да. Технически обычно работает с DWH-частью.
Тренируйте data engineering — откройте тренажёр с 1500+ вопросами для собесов.