Хранилище данных с непивившими данными - PullRequest
0 голосов
/ 09 июня 2011

Я создаю хранилище данных для основного приложения ERP компании (для которого я работаю) для конкретного клиента.

В исходной базе данных большая часть информации измерений в хранилище данных хранится вНеподходящий способ, так как приложение - это продукт, который должен быть настроен по запросу клиента.

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

Сообщите мне, существует ли какой-либо компетентный механизм для преодоления этой проблемы проектирования.

Ниже приведен пример классификации продуктов в исходной базе данных (это относится к большинствуи другие классификации основных данных),

Product Code  MasterClassification  MasterClassificationValue
------------  --------------------  -------------------------
AAA           Brand                 AA
AAA           Category              A

Тот же набор данных:

Product Code  Brand  Category
------------  -----  --------
AAA           AA     A

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 июня 2011

Это классическая и хорошо документированная проблема с данными. То, что вы описываете как «непивотное», называется EAV. Я предлагаю вам google "EAV" prehaps вместе с "отчетом". Вы не одиноки!

0 голосов
/ 13 мая 2015

Имеет смысл, что данные измерений в исходной системе хранятся не в развернутом виде - это база данных, поэтому ее следует нормализовать.Как вы справляетесь с этим в хранилище данных - это другой вопрос.

В предыдущей работе мы обсуждали, следует ли и как переносить сводные / денормализованные / "широкие и неглубокие" данные.В нашей реализации каждая таблица принесла с собой представление (содержащее логику ETL) и процедуру (для загрузки таблицы).Это много инфраструктуры, поэтому мы подумали дважды, прежде чем добавить еще одну таблицу.Кроме того, требование к сводным данным часто исходило от аналитической группы для использования в Tableau, инструменте, который легко использует неповернутые / «узкие и глубокие» данные и сводит их - поэтому мы часто обсуждали, были ли действительно необходимы сводные данные.

В конце концов мы решили, что иногда будем переносить сводные данные, но только через представление отчетов.(У нас были соглашения об именах, чтобы отличать представления отчетов от представлений ETL.) Я думаю, что этот подход следует рассмотреть по причинам, которые вы упомянули сами: могут быть добавлены новые категории, что сделает ваш сводный дизайн устаревшим.Кроме того, если у вас есть несколько клиентов, использующих эти данные, каждый клиент может быть заинтересован в своем наборе категорий.Вы можете создать настраиваемое сводное представление отчетов в верхней части этой таблицы для каждого клиента.Это звучит как большая работа, но я думаю, что это меньше, чем переделывать сводную таблицу каждый раз, когда вы узнаете, что была добавлена ​​новая категория.Удачи!

...