Когда модель Data Vault является подходящей моделью для хранилища данных? - PullRequest
2 голосов
/ 15 июня 2010

Недавно я нашел ссылку на ' Data Vault Modeling ' в качестве модели для хранилищ данных.Модели, которые я видел раньше, это Inmon и Kimball.Автор ссылается на возможные проблемы производительности из-за необходимых объединений.Выглядит как хорошая модель, но мне интересно, что у нее есть.Есть ли какие-либо отчеты об опыте в режиме онлайн?

Ответы [ 2 ]

1 голос
/ 20 апреля 2017

В течение ряда лет мы использовали отечественную модификацию 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.

1 голос
/ 30 июля 2010

Вы можете найти гораздо больше информации в моем блоге: http://danLinstedt.com, и на форумах в datavaultinstitute dot com

Но чтобы дать вам быстрый / краткий ответ на ваш вопрос:

Есть следующие ошибки:

1) Необходимо принять концепцию загрузки необработанных данных в хранилище данных. 2) Поймите, что хранилище данных обычно не разрешает прямой доступ «конечным пользователям» из-за модели.

Может быть еще несколько, но преимущества перевешивают недостатки.

Не стесняйтесь заходить в блог, регистрация и подписка бесплатны.

Ура, Дэн Линстедт

...