Oracle Data Integrator
Oracle Data Integrator(ODI) — это интеграционная платформа корпоративного уровня, которая охватывает весь спектр способов интеграции данных: от массовых загрузок больших объемов данных с жесткими временными рамками до интеграционных процессов, основанных на событиях и поддержки сервисов данных в рамках сервисно-ориентированной архитектуры.
Отличительной особенностью данного продукта является возможность обращения к разнородным источникам данных для загрузки в хранилища данных, построенным на основе различных СУБД (включая Oracle), что делает его ключевым инструментом интеграции данных в гетерогенной среде.
Oracle Data Integrator основан на ELT (extract — loading — transform) -архитектуре, в соответствии с которой вся нагрузка по преобразованию данных возлагается на СУБД. При этом достигается высокий уровень производительности за счет использования максимума возможностей и особенностей целевой СУБД.
Oracle Data Integrator позволяет разделить схемы преобразования данных на бизнес-правила и технологическую реализацию, учитывающую специфику платформы. Это, в частности, позволяет разделить ответственность персонала — за формирование набора бизнес правил на логическом уровне (выполняется прикладными экспертами) и за технические способы извлечения, загрузки и преобразования данных (выполняется техническими экспертами). Таким образом, поддерживается принцип «декларативного проектирования».
В архитектуру ODI заложен механизм расширения возможностей продукта путем подключения новых модулей знаний (Knowledge Modules, KMs), которые позволяют хранить специфичные (шаблонные) для данной платформы конструкции. Фактически, модули знаний являются «плагинами», реализующими лучшие практики загрузки и обработки данных для определенного источника данных или целевой СУБД.
Существуют следующие типы модулей знаний в ODI:
обратного проектирования (reverse-engineering, RKM) — позволяют восстановить модель данных по метаданным исходных информационных объектов баз данных;
загрузки (load, LKM) — используются для эффективного извлечения данных из систем-источников (в т.ч. включают утилиты загрузки больших объемов данных, если таковые имеются в целевых СУБД);
журнализации (journalize, JKM) — позволяют фиксировать изменения данных (insert, update, delete) в отдельной таблице (представлении) в виде журнала изменений;
интеграции (integrate, IKM) — используются для эффективной загрузки данных в целевые таблицы (генерация оптимизированного для данной СУБД кода);
проверки (check, CKM) — используются для обнаружения ошибок в исходных данных;
сервисные (web service, SKM) — позволяют генерировать код для создания web-сервисов, предоставляющих данные.
В основу архитектуры ODI заложен модульный репозиторий, к которому обращаются графические java-приложения и приложения-агенты. Графические модули служат для проектирования приложений и интеграционных процессов. Агенты осуществляют планирование и координацию задач интеграции.
Репозиторий содержит метаданные ODI — сведения о пользователях, о подключениях к базам данных и другим источникам, детализированные модели данных и т.д. Физически репозиторий может располагаться на одном из серверов баз данных.