DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

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

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

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

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

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

Для модели или таблицы, созданных через Конструктор Моделей, Oracle Data Integrator может сгенерировать:
  • Interfaces IN: Эти интерфейсы интеграции для загрузки таблиц, структура которых собрана в КМ из других таблиц. В этих интерфейсах строится процесс интеграции данных, соединяющий данные из оригинальных источников в сборную таблицу результата.
  • Interfaces OUT: Эти интерфейсы интеграции используются для извлечения данных из таблиц модели. Они генерируются с учетом интерфейсов, которые загружают указанные таблицы, включая Interfaces IN. Эти интерфейсы организовывают возврат потока данных, направляя его от собранной таблицы к исходным таблицам источникам.
  • Для генерации входных интерфейсов (Interfaces IN):
  • Выберите модель или таблицу.
  • Правой кнопкой мыши выполните команду Generate Interfaces IN.
  • Oracle Data Integrator начнет поиск исходных таблиц и колонок, которые были использованы для построения текущей модели или таблицы.
  • Далее появится диалоговое окно с перечнем таблиц, для которых будут построены входные интерфейсы.
  • Выберите контекст оптимизации для интерфейсов.
  • Выберите папку проекта, в которой будут сохранены интерфейсы.
  • Поставьте крестик напротив тех таблиц, интерфейсы для которых должны быть сгенерированы.
  • Введите другое имя для интерфейса, при необходимости.
  • Нажмите ОК для начала генерации. После создания новый интерфейс автоматически откроется для редактирования.
  • Внимание!
    Полученный интерфейс не всегда может быть сразу использован без надлежащей проверки и внесения необходимых модификаций.
    Примечание:
    Если при выполнении команды генерации интерфейсов IN в списке нет ни одной нужной вам таблицы кандидата, скорее всего ваши таблицы не были собраны в конструкторе моделей из других таблиц или их колонок.
    Для генерации выходных интерфейсов (Interfaces OUT):
  • Выберите модель или таблицу.
  • Правой кнопкой мыши выполните команду Generate Interfaces OUT.
  • Oracle Data Integrator начнет поиск интерфейсов, загружающих выбранную таблицу или таблицы выбранной модели. После этого появится диалоговое окно с перечнем тех таблиц, для которых возможна генерация исходящих интерфейсов.
  • Выберите контекст оптимизации для интерфейсов.
  • Выберите папку проекта, в которой будут сохранены интерфейсы.
  • Для каждой выбранной целевой таблицы, для которой необходимо сгенерировать интерфейс необходимо установить галочку в колонке Generation, так же следует поступить для каждой таблицы кандидата.
  • Введите другие наименования для интерфейсов, при необходимости.
  • Нажмите ОК и, после генерации интерфейсы будут сохранены в выбранной папке, а затем открыты для редактирования.
  • Внимание!
    Полученные интерфейсы не всегда могут быть сразу использованы без надлежащей проверки и внесения необходимых модификаций.
    Примечание:
    Если при выполнении команды генерации выходных интерфейсов для заданной таблицы, в списке нет ни одной таблицы кандидата, скорее всего ODI не смог найти ни одного интерфейса, который бы загружал данные в выбранную таблицу. А без этих интерфейсов нельзя сгенерировать выходные интерфейсы.
    Для тех, кто смог дочитать до конца этого длинного текста, небольшой бонус в виде объяснения того, как я понимаю возможность использования конструктора моделей ODI.
    Рассмотрим ситуацию, когда нам необходимо подключить новый источник данных к Хранилищу Данных. Скорее всего, нам необходимо будет выполнить две задачи, связанные с загрузкой данных в область стейджа, первая - создание структур таблиц источников на стейдже, вторая - создание интерфейсов, загружающих эти таблицы.
  • Администратор настраивает новую физическую и соответствующую ей логическую схему данных.
  • Далее мы создаем новую модель данных и осуществляем реверс таблиц из источника. Если в источнике определены первичные ключи таблиц, внешние ключи и т.п. ODI их получит и создаст соответствующие объекты в модели и таблицах модели.
  • Далее нам необходимо создать новую диаграмму, которая будет принадлежать модели данных для нашей области стейджа. Перетаскиваем необходимые нам таблицы источники в эту модель, и, одновременно, получаем копии этих таблиц в нашей модели стейджа.
  • Далее из копий таблиц путем генерации DDL скриптов получаем физические таблицы в области стейджа. Первая задача выполнена.
  • Путем генерации входных интерфейсов (Generate Interface IN) получаем решение второй задачи, т.е. набор, по меньшей мере заготовок, которые немного доработав можно привести к принятому на проекте виду, добавить, при необходимости фильтры и использовать.
  • Если же речь идет не о загрузке данных в область стейджа, а, например, об использовании Oracle Data Integrator для работы со специальной БД для обработки данных (Operational Data Store) может понадобиться использование функций генерации выходных интерфейсов (Generate Interface OUT).
  • Кроме того, Action Group, которые используются для генерации DDL скриптов, также написаны с использованием методов подстановки, что дает возможность разрабатывать свои подпрограммы генерации.







  • jAntivirus