В течение ряда лет мы использовали отечественную модификацию Data Vault , называемую «Link Modeling», которая имеет только сущности и ссылки; рисование принципов из neo4j, но реализация в базе данных SQL.
И Link Link Modelling, и Data Vault - это совершенно разные способы мышления для моделей Kimball / Inmon.
Мои комментарии ниже относятся к системе, построенной со следующей структурой: временная промежуточная база данных, DWH, а затем ряд витрин, построенных из DWH. Существуют и другие способы создания решения DWH, но это довольно типично.
С Кимбаллом / Инмоном
- Данные очищаются по пути в DWH, но иногда применяются по пути в промежуточную базу данных
- Бизнес-правила и MDM (как правило) применяются между промежуточной БД и DWH
- Рынки часто являются предметной областью
С Data Vault / Link Modeling
- Данные помещаются без изменений при постановке
- Эти данные передаются в DWH, также не очищенные, но хранящиеся в форме сущности / ссылки
- Очистка данных, MDM и бизнес-правила применяются между DWH и витринами.
- Показы основаны на конкретных потребностях предметной области (как указано выше).
- Для нас мы часто (но не всегда) строим киоски в стиле схемы Kimball Star, поскольку конечные пользователи легко понимают их структуру данных.
В случаях , когда DWH, смоделированный по ссылкам, входит в свой собственный , следующие (используя терминологию Kimball для выражения проблем)
- Иногда от пользователей будут поступать запросы, спрашивающие: «Почему конкретное число имеет это значение?». В традиционном Kimball / Inmon данные очищаются по пути, нет никакого способа узнать, каково было первоначальное значение. Модель Link содержит исходные данные в формате DWH.
- Когда нет записей о транзакциях, которые связывают несколько измерений, и требуется иметь возможность сообщать полный набор данных, например, задайте вопросы типа «Сколько страховых полисов, которые были проданы конкретным брокером, не оплачиваются по заявкам?».
- Применение MDM в DWH Kimball или Inmon типа 2 может привести к тому, что огромное количество записей изменений типа 2 будет записано в Измерения, которые часто содержат все значения данных, поэтому существует много дублирования данных. При использовании модели ссылок / хранилища данных новое размерное значение просто приведет к созданию новых ссылок типа 2 в таблице ссылок, которые имеют только внешние ключи к таблицам сущностей. Это часто преодолевается в Kimball DWH, имея медленно меняющееся измерение и быстро меняющееся измерение , что является хорошим решением проблемы.
- В сфере страхования и других отраслях, где необходимо иметь возможность составлять отчеты «по состоянию на дату», таблицы фактов также будут медленно меняться, отслеживание измерений типа 2 по записям фактов типа 2 - кошмар.
- С точки зрения разработки, добавление нового столбца к большому измерению Kimball должно быть сделано аккуратно, и важно учитывать обратное заполнение, но в случае модели ссылок добавление дополнительного столбца в сущность является относительно тривиальным.
В методологии Кимбалла всегда есть способы обойти это, но они требуют некоторого тщательного обдумывания, а иногда и прыжков через обручи.
С нашей точки зрения, у Link Modeling есть небольшой недостаток.
Я не связан ни с одной из компаний, занимающихся маркетингом / производством методологий Kimball / Inmon или Data Vault.