Какие есть подходы к построению хранилищ данных
Что проверяют
Знаете ли вы классические методологии моделирования и современные архитектуры и можете ли выбрать под задачу, а не перечислить модные слова. Следом обычно спрашивают, как бы вы разложили хранилище по слоям для конкретного продукта и как хранить историю изменений в измерениях.
Как отвечать
Разделите ответ на моделирование и архитектуру. Методологии:
- Инмон: сверху вниз. Сначала единое корпоративное хранилище в третьей нормальной форме, из него витрины под отделы. Согласованность высокая, старт медленный;
- Кимбалл: снизу вверх, dimensional modeling. Схема «звезда» из таблиц фактов и измерений, общие (conformed) измерения связывают витрины. Быстро приносит пользу аналитикам;
- Data Vault 2.0: хабы с бизнес-ключами, линки со связями и сателлиты с атрибутами и историей. Устойчив к изменениям источников и удобен для аудита, но для отчётов поверх него всё равно строят витрины.
Архитектуры:
- классическое DWH: колоночная или MPP-база, например ClickHouse или Greenplum, со слоями staging, ядро и витрины;
- data lake: сырые файлы в объектном хранилище, обычно в Parquet. Дёшево и гибко, но без каталога и правил быстро превращается в болото;
- lakehouse: табличные форматы Apache Iceberg, Delta Lake или Hudi дают поверх озера транзакции, эволюцию схемы и time travel, запросы идут через Spark или Trino. Слои здесь часто называют medallion: bronze, silver, gold;
- data mesh: скорее организационный подход, домены сами владеют своими данными как продуктом.
Упомяните сдвиг от ETL к ELT: данные грузятся сырыми, а трансформации пишутся на SQL в dbt прямо в хранилище. И про историю: SCD второго типа с полями valid_from и valid_to в измерениях.
Где спотыкаются
Смешивают архитектуру с методологией моделирования. Звезду по Кимбаллу можно построить и в ClickHouse, и в lakehouse, это независимые решения.
Не могут объяснить, чем факт отличается от измерения и что такое гранулярность факта. Это базовый вопрос следующего шага собеседования.
Предлагают Data Vault для маленькой команды с тремя источниками. Он окупается при множестве часто меняющихся источников, в остальных случаях звезды хватает.