В чем разница DWH и Data Lake
Что проверяют
Понимаете ли вы, откуда берутся данные для ваших отчётов и почему в одном месте они чистые и согласованные, а в другом сырые. Для аналитика это практический вопрос: куда идти за цифрой для дашборда, а куда за событиями для исследования. Следом часто спрашивают про lakehouse и про то, кто отвечает за качество данных.
Как отвечать
Главное различие в том, когда появляется схема:
- DWH: schema-on-write. Данные перед загрузкой очищаются и укладываются в модель: факты и измерения по схеме «звезда», Data Vault, витрины под конкретные отчёты. Запросы на SQL, быстрые агрегации, единые определения метрик. Примеры: ClickHouse, Greenplum, Snowflake, BigQuery;
- Data Lake: schema-on-read. Сырые данные складываются как есть в объектное хранилище (S3-совместимое или HDFS) файлами Parquet, ORC, JSON, CSV, а структура задаётся в момент чтения. Читают через Spark, Trino, Hive. Подходит для логов, кликстрима, данных для ML и всего, для чего пока не придумали применения;
- пользователи: DWH рассчитан на аналитиков и BI-инструменты, озеро больше на дата-инженеров и дата-сайентистов;
- lakehouse: форматы таблиц Apache Iceberg, Delta Lake и Hudi добавляют поверх файлов в озере транзакции, эволюцию схемы и чтение прошлых версий. Граница между подходами из-за этого размывается, и многие компании строят одно хранилище вместо двух.
В реальной компании они обычно работают вместе: сырьё приходит в озеро, очищается, и готовые слои попадают в DWH или витрины. Хорошо, если вы расскажете, с какими слоями работали сами и как находили нужную таблицу, например через каталог данных.
Где спотыкаются
Жёстко связывают DWH с ETL, а озеро с ELT. Современные хранилища часто наполняются как раз по ELT: сырьё грузится в DWH и трансформируется там же, например через dbt.
Говорят, что озеро только для неструктурированных данных. На практике большая часть озера это вполне структурированные таблицы в Parquet.
Считают озеро дешёвой заменой DWH без оговорок. Хранение там действительно дешёвое, но без каталога, владельцев и контроля качества озеро быстро превращается в «болото», где никто не знает, какой таблице верить.