Идеи по заполнению таблицы фактов в хранилище данных - PullRequest
1 голос
/ 18 марта 2010

Я ищу идеи для заполнения таблицы фактов в витрине данных. Допустим, у меня есть следующие размеры

  1. Врач
  2. Пациент
  3. дата
  4. geo_location
  5. пациент_демография
  6. тест

Я использовал два инструмента ETL для заполнения таблиц измерений - Pentaho и Oracle Warehouse Builder. Дата, демография пациента и географическое местоположение не получают данные из оперативного хранилища. Все таблицы измерений имеют собственный НОВЫЙ суррогатный ключ.

Теперь я хочу заполнить таблицу фактов сведениями о посещении пациентом. Когда пациент посещает врача в конкретную дату, он назначает тест. Это информация в таблице фактов. Есть и другие меры, которые я опускаю для простоты.

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

Могут ли инструменты ETL помочь в этом?

Спасибо Кришна

1 Ответ

6 голосов
/ 18 марта 2010

Каждая таблица измерений должна иметь BusinessKey, который уникальным образом идентифицирует объект (лицо, дата, местоположение), который описывает строка таблицы. Во время загрузки таблицы фактов вы должны искать PrimaryKey из таблицы измерений на основе BusinessKey. Вы можете выбрать просмотр таблицы измерений напрямую или создать таблицу поиска ключей для каждого измерения непосредственно перед загрузкой таблицы фактов.

Pentaho Kettle имеет «Поиск значений базы данных» (шаг преобразования) для этой цели. Возможно, вы также захотите взглянуть на раздел «Предоставление таблиц фактов» в Kimball Data Warehouse ETL Toolkit.

...