2014-10-22 4 views
0

У меня проблема с дизайном, которая может иметь несколько вариантов. у нас есть несколько источников, из которых мы извлекаем данные: src1, src2, src3
Эти источники представить свою информацию о же содержания в различных моде, позволяет сказать, что src1 имеет table1 с 3 полями (f1, f2, f3) , Src2 имеет таблицу 1 с полями (fc1, fc2) и т. д.Множество источников управления с различными структурами

Что я хочу - это конфигурируемый выход (где конфигурация требует минимально возможного усилия) и имеет единую структуру на другом конце. Эта конфигурация позволит мне решить src, table, fiels, которые я хочу выбрать для следующей загрузки.

Мое решение включает в себя следующее проектное решение:

  • поддерживать мета область, в которой вы должны иметь информацию о данных каждого source.This мета области будет содержать супер набор всех предложенных структур, поддерживаемых источников.
  • для каждого источника теперь получают рабочую промежуточную область, которая отображается из этой начальной мета-области.

Это позволит решить две проблемы, 1.Tracking всех источников 2.uniform перечень источников

Я хотел бы дальнейшие предложения по этой конструкции.

Я просмотрел хотя некоторые источники, но никакого соответствующего процесса не упоминается.

Избежать данных Ловушки качества при Совмещение нескольких источников: [http://www.blue-granite.com/blog/bid/313445/Avoiding-Data-Quality-Pitfalls-when-Reconciling-Multiple-Sources]

ответ

0

Мы решили очень похожую ситуацию, используя несколько таблиц метаданных. Таблица выглядит примерно как metadata_tbl (тип, свойство, значение, включено). Тип определит, что это за собственность. Имущество может быть любым, для которого значения могут меняться. Значение действительно будет содержать правильное значение для любого активного сценария, который характеризуется включенным флагом. В соответствии с вашими требованиями вы можете создать правило, если для нескольких записей может быть установлен флаг F, установленный в Y или нет.

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

E.g. Вы хотите отобразить столбец х из исходной таблицы А в колонке Y в целевой таблице т, вы можете создать запись в таблице метаданных

Type  Property Value Enabled 
ColMap t.y   x  Y 

Позже, если изменения карты, все, что вам нужно сделать, это изменить отображение здесь и ваш ETL не нужно менять вообще.

Смежные вопросы