DWH: Го Разберем подходы к построению хранилищ данных

Хранилище Данных (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).

Саммари Снежинка - про простоту и скорость. Якорная модель - про часто меняющиеся данные + если важна гибкость.

Спрашивается и зачем я решил пост-то накатить? Потому что уже на позициях типо джуна-миддла и выше в бигтехах могут спрашивать на собесах инфу о том, с чем работал в целом, что знаешь о подходах и их различиях. А еще круче знать о них заранее. Как минимум что они существуют и как называются, а как максимум понимать принципы и вернеуровневое устройство.

DWH: Го Разберем подходы к построению хранилищ данных | Сетка — социальная сеть от hh.ru DWH: Го Разберем подходы к построению хранилищ данных | Сетка — социальная сеть от hh.ru