четверг, 14 июня 2012 г.

Начиная ETL проект.

Самым популярным, по количеству скачиваний, документом со страницы документации по ODI оказался файл с названием Getting Started an ETL project. Думаю, люди ее скачивали, потому что путали с давно анонсированной, но только недавно вышедшей книгой по ODI.

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

Вот перед началом этого пилота я и подумал - посмотрю, что в Getting-ах то пишут, наверное, что-то полезное там будет, что-то, что я бы мог применить на проекте.

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

Меня же больше интересовали обшие подходы, с чего начинать разрабатывать проект, как и чему обучать людей и т.п. и т.д. Именно тогда я подготовил вот эту заметку: ODI для начинающих. Как потом оказалось, начинающим нужно было не это. Скажем, не только это.

Итак, до начала работы всей командой над проектом, даже пилотным, необходимо (не учитывая инсталляции):
  1. Продумать с какими данными и на каких этапах необходимо будет работать. Т.е. необходим список слоев - например, стейдж, детальные данные, отчетность, который должен быть отображен в структуре логических схем ODI.
  2. Напомню, что каждая модель данных связывается только с одной логической схемой ODI, и лучше чтобы они были у вас связаны с самого начала правильно.
  3. Подготовить физическую схему данных в СУБД. Архитектура ODI позволяет достаточно гибко связывать логические и физические схемы, так что можно делать по одной физической схеме на каждую логическую схему, так и использовать одну на всех.

    Очень важно, чтобы, в случае использования нескольких схем, пользователь, под которым работает ODI имел необходимый набор прав на каждую схему.
  4. Создать новый контекст (назвав его, например, DEV) и связать этим контекстом соответствующие пары логических и физических схем. Немного подробнее о схемах ODI описано здесь.
  5. Создать необходимый набор пользовательских логинов в Топологии ODI. Подготовить одно подключение и, изменив файл, разослать его команде для подключения ODI к репозиторию.
  6. Рассказать, что изменить в настройках, как расположить окна ODI Studio, как отключить автообновление оператора и т.п.
  7. Следующий пункт, с которым необходимо определиться - расположение клиентской части ODI. Если вы делаете проект локально, т.е. репозиторий ODI находится в вашей локальной сети - устанавливать клиентскую часть лучше у каждого разработчика на машине.

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

    Нам понадобилось 5 таких встреч общей длительностью около 12 часов. Те ошибки, которые допускались разработчиками в процессе создания ETL пакетов и процедур также становились темами для следующих демо занятий.

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

Вот такое получилось краткое руководство как подключить команду к Oracle Data Integrator-у или, с другой стороны, как организовать короткий интенсивный обучающий курс для новых проектов. Немножко другой подход к тому же вопросу освещен, я бы сказал, крупными художественными мазками, в этом сообщении, и, ранее, по всему блогу Arttry-Tryart.

Смотри также: примерное содержание официальных курсов по ODI 11g.

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

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