Хранилище Данных (DWH) — это сердце аналитики компании. От его структуры зависит, насколько быстро и удобно можно извлекать инсайты.
Сегодня что-то расскажу про два популярных подхода к моделированию данных: снежинку (Star/Snowflake Schema) и якорную модель (Anchor Modeling).
1. Снежинка (Star/Snowflake Schema)
Состоит из:
1.1 Таблицы фактов (где количественные данные, которые нужно анализировать: например фактические продажи).
1.2 Таблицы измерений (содержат описательные атрибуты, которые помогают понять контекст: продукты, кастомеры, даты).
Хинт для детектирования
Если видим в названии _fct_ — это таблица фактов, _dim_ (dimensional) — таблица измерений, но так будет не везде(
Поинт про преимущества
- хорошо отражает сложные иерархии
- простая и понятная структура данных
2. Якорная модель (Anchor Modeling)
Более гибкий подход, особенно полезный для часто меняющихся данных и состоит из:
2.1 Якоря (Anchors) — сущности (например у нас "Заказ", "Клиент").
2.2 Атрибуты (Attributes) — свойства якорей (например у нас атрибуты заказа, или "Имя клиента", "Дата заказа").
2.3 Связи (Ties) — отношения между якорями (например у нас "Заказ имеет Статус" с историей изменений).
2.4 Узлы (Knots) — хранят фиксированные наборы значений (например у нас справочник статусов заказа).
Хинт для детектирования
Если видим в названии _anc_, _attr_, _tie_, _knot_ — это про якорную модель
Кстати пока работал в озоне у них была реализована именно эта модель - было удобно и круто)
Поинт про преимущества
- Легко масштабируется.
- Поддерживает историчность данных без лишних костылей.
- Удобна для медленно меняющихся измерений (SCD).
Саммари
Снежинка - про простоту и скорость.
Якорная модель - про часто меняющиеся данные + если важна гибкость.
Спрашивается и зачем я решил пост-то накатить?
Потому что уже на позициях типо джуна-миддла и выше в бигтехах могут спрашивать на собесах инфу о том, с чем работал в целом, что знаешь о подходах и их различиях. А еще круче знать о них заранее. Как минимум что они существуют и как называются, а как максимум понимать принципы и вернеуровневое устройство.
По традиции ставим прогрессивного жаба 📈 , если шарите за подходы или как минимум слышали, увлекшегося жаба 📃, если было бы интересно еще узнать о ХД, ну и лайк ❤️ если понравился пост!

