пятница, 18 марта 2011 г.

ODI Common Format Designer (Часть 2).

Приветствую всех.

Сегодня продолжение перевода документации о конструкторе моделей ODI. Здесь находится первая часть перевода.


Генерация DDL скриптов.

Когда изменения в структурах таблиц происходят на сервере СУБД, вы обычно делаете реверс-инжиниринг измененных таблиц, чтобы получить новые метаданные и сохранить их в репозитории ODI.

Когда диаграма или модель данных создана в ODI или в нем же изменена, необходимо перенести изменения на сервер СУБД. Эти изменения переносятся с помощью DDL скриптов. Эти скрипты генерируются в виде процедур ODI, шаги которых выполняют отдельные DDL команды (создать таблицу, создать индекс и т.п.). Эти процедуры могут быть выполнены на нужном сервере данных.

Примечание: шаблоны DDL скриптов определены как Action Groups. Проверьте в Менеджере Технологий, что у вас установлены соответствующие шаблоны для необходимой технологии перед тем, как запускать генерацию скриптов.


Для генерации DDL скриптов необходимо:

  1. Выбрать модель данных для таблиц которой необходимо сгенерировать скрипты.
  2. Правой кнопкой мыши выбрать команду Generate DDL.
    Oracle Data Integrator получит структуры данных из схемы данных и сравнит их с существующими данными модели. Процесс выполнения этих действий отобразится в строке статуса. После окончания этого процесса отобразится диалоговое окно Generate DDL, в котором отобразятся различие между физической схемой и логической структурой данных в моделях ODI.
  3. Выберите необходимый набор DDL шаблонов, который будет использован при генерации DDL скриптов.
  4. Определите папку, в которой будут сохранены процедуры выполнения скриптов.
  5. Выберите категорию изменений, которые вы хотите внедрить с помощью скриптов.
    Примечание: выбор категории через фильтр влияет только на отображение списка изменений в диалоговом окне. Уже выбранные для внедрения изменения могут не отображаться при выборе другой категории.
  6. Выберите изменения, которые необходимо внедрить, путем установки галочки в пункте Synchronization. Следующие знаки показывают возможные типы изменений:
    -: Элемент есть в модели, но его нет на сервере данных.
    +: Элемент есть на сервере, но его нет в модели.
    =: Элемент есть и в модели и на сервере, но некоторые свойства элемента не совпадают (например, отличаются размеры колонки или новая колонка добавлена в таблицу).
  7. Нажмите ОК для генерации процедуры с DDL скриптами.


Oracle Data Integrator сгенерирует соответствующие DDL скрипты и откроет процедуру с этими скриптами для редактирования.


Генерирование интерфейсов IN/OUT.

Для модели или таблицы, созданных через Конструктор Моделей, Oracle Data Integrator может сгенерировать:
  • Interfaces IN: Эти интерфейсы интеграции для загрузки таблиц, структура которых собрана в КМ из других таблиц. В этих интерфейсах строится процесс интеграции данных, соединяющий данные из оригинальных источников в сборную таблицу результата.
  • Interfaces OUT: Эти интерфейсы интеграции используются для извлечения данных из таблиц модели. Они генерируются с учетом интерфейсов, которые загружают указанные таблицы, включая Interfaces IN. Эти интерфейсы организовывают возврат потока данных, направляя его от собранной таблицы к исходным таблицам источникам.

Для генерации входных интерфейсов (Interfaces IN):
  1. Выберите модель или таблицу.
  2. Правой кнопкой мыши выполните команду Generate Interfaces IN.
    Oracle Data Integrator начнет поиск исходных таблиц и колонок, которые были использованы для построения текущей модели или таблицы.
    Далее появится диалоговое окно с перечнем таблиц, для которых будут построены входные интерфейсы.
  3. Выберите контекст оптимизации для интерфейсов.
  4. Выберите папку проекта, в которой будут сохранены интерфейсы.
  5. Поставьте крестик напротив тех таблиц, интерфейсы для которых должны быть сгенерированы.
  6. Введите другое имя для интерфейса, при необходимости.
  7. Нажмите ОК для начала генерации. После создания новый интерфейс автоматически откроется для редактирования.

Внимание!
Полученный интерфейс не всегда может быть сразу использован без надлежащей проверки и внесения необходимых модификаций.

Примечание:
Если при выполнении команды генерации интерфейсов IN в списке нет ни одной нужной вам таблицы кандидата, скорее всего ваши таблицы не были собраны в конструкторе моделей из других таблиц или их колонок.


Для генерации выходных интерфейсов (Interfaces OUT):
  1. Выберите модель или таблицу.
  2. Правой кнопкой мыши выполните команду Generate Interfaces OUT.
    Oracle Data Integrator начнет поиск интерфейсов, загружающих выбранную таблицу или таблицы выбранной модели. После этого появится диалоговое окно с перечнем тех таблиц, для которых возможна генерация исходящих интерфейсов.
  3. Выберите контекст оптимизации для интерфейсов.
  4. Выберите папку проекта, в которой будут сохранены интерфейсы.
  5. Для каждой выбранной целевой таблицы, для которой необходимо сгенерировать интерфейс необходимо установить галочку в колонке Generation, так же следует поступить для каждой таблицы кандидата.
  6. Введите другие наименования для интерфейсов, при необходимости.
  7. Нажмите ОК и, после генерации интерфейсы будут сохранены в выбранной папке, а затем открыты для редактирования.

Внимание!
Полученные интерфейсы не всегда могут быть сразу использованы без надлежащей проверки и внесения необходимых модификаций.

Примечание:
Если при выполнении команды генерации выходных интерфейсов для заданной таблицы, в списке нет ни одной таблицы кандидата, скорее всего ODI не смог найти ни одного интерфейса, который бы загружал данные в выбранную таблицу. А без этих интерфейсов нельзя сгенерировать выходные интерфейсы.


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

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

  1. Администратор настраивает новую физическую и соответствующую ей логическую схему данных.
  2. Далее мы создаем новую модель данных и осуществляем реверс таблиц из источника. Если в источнике определены первичные ключи таблиц, внешние ключи и т.п. ODI их получит и создаст соответствующие объекты в модели и таблицах модели.
  3. Далее нам необходимо создать новую диаграмму, которая будет принадлежать модели данных для нашей области стейджа. Перетаскиваем необходимые нам таблицы источники в эту модель, и, одновременно, получаем копии этих таблиц в нашей модели стейджа.
  4. Далее из копий таблиц путем генерации DDL скриптов получаем физические таблицы в области стейджа. Первая задача выполнена.
  5. Путем генерации входных интерфейсов (Generate Interface IN) получаем решение второй задачи, т.е. набор, по меньшей мере заготовок, которые немного доработав можно привести к принятому на проекте виду, добавить, при необходимости фильтры и использовать.
  6. Если же речь идет не о загрузке данных в область стейджа, а, например, об использовании Oracle Data Integrator для работы со специальной БД для обработки данных (Operational Data Store) может понадобиться использование функций генерации выходных интерфейсов (Generate Interface OUT).
  7. Кроме того, Action Group, которые используются для генерации DDL скриптов, также написаны с использованием методов подстановки, что дает возможность разрабатывать свои подпрограммы генерации.

Комментариев нет:

Отправить комментарий