Data Vault: зачем разделять сущности, связи и историю данных

Разбираем хабы, линки и сателлиты на условной службе проката. Показываем, какую задачу решает Data Vault и почему это ещё не готовый отчёт.

Группы светлых цилиндров, соединённые стержнями, рядом с оранжевым кольцом и стопкой пластин.

У одного бизнеса появляется несколько описаний

Представим условную службу проката велосипедов. Клиенты записаны в системе бронирования, велосипеды — в учёте имущества, поездки — в приложении. Позже появляется ещё один канал продаж. Команда хочет соединить сведения и сохранить, что приходило из каждого источника. Если каждый раз перестраивать одну огромную таблицу, любое новое описание приходится согласовывать со всеми прежними полями.

Data Vault — подход к организации хранилища, который разделяет ключи объектов, отношения между ними и описательные сведения с историей. В обзоре Google Cloud эти части называются хабами, линками и сателлитами. Здесь разберём смысл модели, без выбора облака и без инструкции по её технической реализации.

Хаб отвечает за узнаваемый объект

Хаб собирает бизнес-ключи одного понятия. Бизнес-ключ — признак, по которому предмет узнают в исходном процессе: например, номер велосипеда в учёте имущества. Для нашего проката отдельными понятиями будут клиент и велосипед. Название модели не означает, что вся анкета клиента обязательно должна оказаться в одной центральной таблице.

Условной команде сначала стоит договориться, какой номер означает один и тот же велосипед. Если приложение и склад используют разные номера, модель не угадает соответствие за людей. Даже одинаковая последовательность цифр может обозначать разные объекты в двух системах. Правило сопоставления нужно объяснить до того, как обсуждать устройство таблиц.

Линк хранит отношение, сателлит добавляет описание

В объяснении Databricks линки связывают основные понятия, а сателлиты содержат описательные сведения о них и их отношениях. В нашей истории можно отдельно выразить, какой клиент арендовал какой велосипед. Это отношение не равно ни анкете клиента, ни карточке имущества. Подробность записи об аренде тоже требуется определить заранее.

Описание клиента, например город, может со временем меняться. Для учебного разбора представим сателлит, который сохраняет поступившие версии такого описания. Тогда обновление адреса не требует превращать старую поездку в поездку нового клиента. Точный состав служебных дат и правила определения актуальной версии зависят от проекта; одной картинки из трёх блоков для этого недостаточно.

Новый источник не должен стирать прежнюю картину

Допустим, приложение передало город клиента иначе, чем форма бронирования. Нашей команде важно сначала сохранить происхождение двух утверждений, а затем решить, какое использовать в конкретном отчёте. Если молча заменить одно значение другим, спор исчезнет из таблицы, но причина расхождения останется неизвестной. Разделение описаний позволяет обсуждать этот случай явно.

В условном процессе предложим записать четыре вопроса: какой объект описывается, откуда пришло утверждение, когда его получили и для какого рабочего решения оно подходит. Это порядок обсуждения, а не обещание, что любой проект Data Vault автоматически устраняет ошибки. Неверно выбранный ключ или потерянный источник остаются ошибками независимо от названия модели.

Для читателя отчёта обычно нужен следующий слой

Data Vault не следует воспринимать как готовую удобную таблицу для всех аналитиков. Databricks описывает построение отчётных витрин поверх такой модели. Витрина — подготовленный набор под конкретные вопросы. В нашем прокате руководителю нужен итог по дням и пунктам выдачи, а не перечень всех технических связей и версий описаний.

Выбор модели стоит обсуждать с учётом числа источников, изменений и требований к истории. Для маленькой разовой выгрузки такая организация может оказаться избыточной; это предлагаемая проверка соразмерности, а не универсальный запрет. О более широком устройстве систем можно прочитать в материалах про архитектора данных и озеро и хранилище. Программа «Архитектор данных» поможет сопоставить темы обучения со своей задачей.

Архитектор данных
Курс
Новинка
Архитектор данных

Архитектор данных — это специалист, который проектирует системы хранения и обработки данных, выбирает правильные технологии под разные задачи и строит масштабируемую инфраструктуру.

С нуля
Теория и практика
Диплом по окончании
12 990
₽/мес
Узнать подробнее

Источники

Читайте также

Обучить команду или нанять специалиста по данным: как выбрать
61

Обучить команду или нанять специалиста по данным: как выбрать

Как руководителю определить, какие навыки развивать внутри команды, когда нужна новая роль и почему обучение и найм часто дополняют друг друга.
Вертикальное и горизонтальное масштабирование данных: в чём разница
62

Вертикальное и горизонтальное масштабирование данных: в чём разница

Когда системе добавляют мощность одного сервера, когда делят работу между несколькими и почему увеличение ресурсов само по себе не решает любую проблему.
Журнал изменений данных: как выяснить, кто и когда изменил набор
60

Журнал изменений данных: как выяснить, кто и когда изменил набор

Что можно узнать из журнала действий с данными, как он помогает разбирать ошибки и почему его записи не показывают всю историю сами по себе.

Занятия проходят
в Нова Дата СДО

Вебинары, практика и общение с преподавателем — в одном окне браузера.

Посмотреть интерфейс платформы
Календарь обучения в Нова Дата СДО
Курсы студента в Нова Дата СДО
Редактор кода для практики в Нова Дата СДО
Вебинары и расписание Ваши курсы Код в браузере
Нова Дата СДО — в реестре российского ПОРеестровая запись № 34931
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.