Data Vault — это способ моделирования данных, ориентирующийся в первую очередь на гибкость. За счет этой гибкости вы меньше времени тратите на внедрение DWH, а также на его развитие.
Начнем сразу с преимуществ, ведь это самое интересное.
Основные преимущества Data Vault

  • Автоматизация – благодаря своей шаблонности ETL-процессы можно легко автоматизировать.
  • Масштабируемость – новые таблицы добавляются без риска что-то поломать в вашей модели.
  • Гибкость – любые изменения вносятся легко (снова без риска поломать)
  • Параллельные обновления – всю модель данных можно обновлять в параллель.
  • Историчность – более простое ведение версионности (хранения изменений в данных)
Модель Data Vault строится на трех ключевых компонентах:
  1. Hub (Хаб) – содержит бизнес-ключи сущностей (например, ID клиента, ID заказа). Это основа для связей между данными.
  2. Satellite (Спутник, Sat) – хранит описательные атрибуты (например, имя клиента, адрес, дата изменения). Каждый привязан к хабу или линку.
  3. Link (Линк) – отражает связи между хабами (например, связь "клиент-заказ").
Это знают все, этим Америку не откроешь.
Дальше интереснее.
Start schema vs DataVault 2.0
Чем хуже 3NF или Start Schema?
Если долгое время мы все пользовались 3NF или всеми любимой звездой, реализовали на них сотни проектов, уважали и восхищались, то зачем придумали какой-то новый (относительно конечно новый) DataVault? Просто чтобы себе жизнь усложнить?
Далее разберем основные минусы 3NF и Start Schema.
1. Гибкость при изменении данных
Самый главный минус – их монолитность. Очень велики риски поломать что-либо. А бизнес-процессы компаний постоянно меняются, ничего ведь не стоит на месте. Каждый месяц к бедным data-инженерам приходит бизнес с новыми требованиями. И приходится жить в такой постоянно меняющейся парадигме. А в это парадигме жить со Звездой весьма больно.
Простой пример: при проектировании отдел маркетинга божился, что к одной промоакции может относится только один продукт (связь один-ко-многим). А потом внезапно один продукт проходит в рамках разных промоакций (связь многие-ко-многим). Нехорошо, товарищи! Придется переделывать модель данных, а там еще витрины данных зависимые могут быть поломаны…
Мда…
2. Поддержка исторических данных
Ответственно заявляют, что в звезде прямо таки больно хранить историчность (SCD-2). Особенно, когда у вас измерение на 50 эдак столбцов, а изменяется (причем часто) только один-два атрибута. И следовательно попросту дублируются значения других атрибутов, при записи новой строки.
3. Масштабируемость
Data Vault гораздо проще масштабируется по мере роста организации или изменений в инфраструктуре данных. При добавлении новых источников или сущностей в модель нужно только добавлять новые Hubs, Links и Satellites, без необходимости изменять уже существующие компоненты. А вот при добавлении нового источника в ту же Звезду начинается сущий ад.
Конечно, есть те, кто DataVault не переносят, прямо кушать не могут. Особенно любят указывать, что у большинства просто трендовое помешательство на DV, которое когда-нибудь пройдет. Что ж. Может быть. И действительно у DV есть минусы.
Самые значительные из них:
1. Много Join-ов
Аналитики вешаются от того, какое количество join приходится писать.
На самом деле я утрирую. Не так уж и много. К примеру, в anchor modeling точно можно повеситься, а в DataVault только лишь поседеть.
2. Производительность
Ну и конечно, много join – ниже производительность запросов. Из очевидного плюса гибкости, которая получается за счет нормализации данных, получаем так же и минус – увеличение стоимости запросов.
Этот тезис нужно говорить всегда, если тема касается DataVault! Нельзя приступать к DV, если у вас нет тулзы, с помощью которой вы сможете автоматизировать разработку ETL. Ведь иначе … Я вам не завидую, если иначе. Да и в первую очередь, вы попросту проклянете DataVault, так и не почувствовав его плюсы.
Посему, автоматизация DataVault одновременно и плюс его, и минус. Плюс в том, что вы значительно сокращаете время разработки за счет автоматизации. Минус в том, что инструментом автоматизации нужно обязательно обзавестись. Мы, кстати, такой разработали.
НЕЛЬЗЯ РАЗРАБАТЫВАТЬ DATAVAULT БЕЗ ИНСТРУМЕНТА АВТОМАТИЗАЦИИ
Какие есть дополнительные фишки DV?
Bridge (Мост) – таблица, которая ускоряет доступ к данным, объединяя несколько линков и сателлитов в одну структуру. Уменьшает количество JOIN-ов.
Point-in-Time (PIT) – таблица, которая хранит состояние данных на определенный момент времени. Упрощает исторические запросы. Чтобы не использовать оконные функции.
Data Vault 2.0 представляет собой мощный инструмент для построения гибких и масштабируемых DWH, которые легко адаптируются под изменения в источниках и бизнес-правилах. В каких-то проектах лучше использовать обычную Звезду (особенно в маленьких DWH с 1 источником). Но если у вас несколько или даже много источников, то Звезда вам дорого может обойтись при разработке и дальнейшем обслуживании.
закажите
демо-версию
datapulse
оставьте ваши контакты и наш менеджер свяжется с вами
Закрыть
Получить бесплатный доступ к DataPulse
Наш менеджер свяжется с вами для предоставления бесплатного доступа и презентует наш сервис
Made on
Tilda