Интеграции данных — весьма сложный, дорогостоящий и чреватый ошибками процесс

Несколько месяцев назад сотрудники компании Aventis Pharmaceuticals с помощью нового программного инструментария нашли весьма многообещающего кандидата на роль лекарства от астмы, артрита, а может быть, даже от рака. А между тем это химическое соединение могло бы так и остаться незамеченным, если бы специалисты вели исследования традиционными средствами.

Получить нужный результат компании Aventis помог программный модуль DiscoveryLink, входящий в состав СУБД IBM DB2. Он позволяет организовать обращение к множеству неоднородных источников данных посредством всего одного SQL-запроса, а затем выдать найденную информацию в логичном и упорядоченном виде.

«Использование этого интегрированного инструментария дало исследователям возможность извлекать данные из источников, разбросанных буквально по всему миру, — отметил вице-президент Aventis Питер Лупос. — Визуальное представление информации при этом принципиально отличается от того, что мы имели ранее».

Подход, который был выбран в Aventis для интеграции данных, в IBM назвали «федеративной базой данных». Для доступа к федерациям данных DB2 используются разработанные специалистами IBM программные «оболочки» (wrapper) DataJoiner и Relational Connect. Каждому типу источников данных (они могут быть представлены в формате баз данных Oracle, Sybase, Microsoft SQL Server, в виде плоских файлов) соответствует своя оболочка, которая отображает модель источника данных на модель данных DB2. С помощью единого запроса Aventis можно осуществлять поиск нужной информации в неоднородных реляционных базах данных, в неструктурированных документах, а также в информации, полученной из электронной почты и других источников.

Обращение с запросом SQL к удаленным гетерогенным базам данных — лишь один из способов интеграции информации. Среди других можно выделить следующие.

  • Специализированные неизменяемые пользовательские интерфейсы, предназначенные для передачи информации от одного приложения другому. Такой инструментарий, с одной стороны, выполняет именно то, что требуется пользователю, а с другой - сложен в установке и технической поддержке.
  • Тиражирование, предполагающее регулярное (или непрерывное) осуществление копирования баз данных или каких-то их подмножеств из одного места в другое. Тиражирование отличается достаточной простотой, но функциональные возможности этих средств, выходящие за рамки простого копирования, весьма ограничены.
  • При создании хранилищ и киосков данных часто применяется процедура ETL (Extract, Transform and Load - "извлечение, преобразование и загрузка"). Программное обеспечение ETL перемещает информацию из одного места в другое, выполняя с помощью определенных правил или справочных таблиц некоторое объединение или преобразование данных. Средства ETL достаточно мощны, но зачастую оказываются слишком сложными.
  • Web-службы. Используя для организации обмена данными между различными системами протоколы Internet (в том числе стандарт XML), они позволяют с помощью языка XML осуществлять доступ к реляционным данным, базирующимся на SQL, а также обращаться к информации, представленной в формате XML, посредством SQL-запросов. Web-службы идеально подходят для слабосвязанных приложений, которые тяжело объединить иными способами.

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

Стандартизация — ключ к успеху

Поддерживая различные методы интеграции данных, Oracle предпочитает загрузку информации в централизованные базы данных и хранилища. Именно такой подход и был выбран одним из клиентов Oracle — компанией Affina.

Базы данных компании Affina, общий объем которых превышает 3 Тбайт, обслуживают центры телефонного обслуживания около 100 клиентов.

«Нам необходимо извлекать информацию из телефонных звонков, электронной почты, конференций в Web и серверных систем и переносить ее в ?операционный центр данных?, хранилища и киоски данных», — пояснил вице-президент компании по информационным технологиям Том Асп. Кроме того, Affina пересылает различные сведения (например, аналитические материалы по вызовам) своим клиентам. Для повышения эффективности и безопасности поступающие и отправляемые данные заносятся в специальные клиентские таблицы, к которым получают доступ пользователи.

В Affina применяется программное обеспечение Oracle Warehouse Builder, утилита Oracle SQL Loader, специальные процедуры PL/SQL, а также ETL-компоненты .Net, предназначенные для извлечения и преобразования данных в формате сообщений Lotus Notes, записей о вызовах, регистрируемых телефонными коммутаторами, плоских файлов от интерактивных устройств обработки голоса и клиентских данных систем, эмулирующих монитор транзакций для мэйнфреймов CICS.

«Для получения необходимых сведений мы применяем все доступные способы», — подчеркнул Асп.

Affina использует также утилиты тиражирования Oracle8i для перемещения информации в оперативном режиме из крупного центра телефонного обслуживания, расположенного в городе Эль-Пасо (Техас), в хранилище данных в Пеориа. Копия в Пеориа служит для формирования отчетов, но основная база данных остается при этом в Эль-Пасо с целью сохранения требуемой производительности.

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

Дилемма баз данных

Компания Terracon использует как ERP-систему, так и хранилище данных от Oracle. Раз в неделю в компании на два-три часа запускаются сценарии, которые написаны на PL/SQL и служат для переноса оперативной информации из ERP-системы в специальное хранилище, предназначенное для формирования отчетов. В хранилище копируется не вся информация (не пересылаются, к примеру, имена клиентов и сотрудников и некоторые другие сведения). По словам директора информационной службы Terracon Фрэнка Милано, воспользоваться специализированным инструментарием для репликаций Oracle Streams не удалось, потому что в компании развернуты две различные версии репозитариев Oracle.

Милано заметил, что в перспективе хотелось бы преобразовать хранилища данных к формату Microsoft SQL Server. При действующих соглашениях с Microsoft это позволит сэкономить на лицензионных отчислениях. Однако ERP-приложения от Oracle будут сохранены, поскольку они лучше подходят для организации бухгалтерского и финансового учета в компании.

«Поддержка баз данных Oracle — хлопотное дело, — подчеркнул Милано. — Это очень сложный продукт. Но вместе с тем технологии Oracle лучше проявляют себя при работе с мощными и сложными приложениями».

Определенное беспокойство у директора информационной службы вызывают вопросы построения интерфейса между базами данных Oracle и SQL Server. Помимо еженедельного переноса информации из ERP-системы в хранилище данных пользователи должны инициировать запросы к хранилищу и пересылать их к базе данных ERP для извлечения имен клиентов и сотрудников. После этого запрос направляется обратно в хранилище, где выполняются окончательные вычисления и обобщение полученных сведений.

«Решение данной задачи имеет для нас очень большое значение, — отметил Милано. — Но пока у меня нет готовых вариантов».

Впрочем, представители Microsoft утверждают, что такая возможность существует. По словам менеджера по продукту SQL Server Тома Риццо, компания Terracon могла бы переносить информацию из ERP-приложений Oracle в хранилище SQL Server (выполняя попутно необходимые операции редактирования и преобразования) при помощи инструментария Data Transformation Services, которое входит в комплект поставки SQL Server. А для организации доступа к обеим базам данных с помощью единого запроса можно порекомендовать механизм Distributed Query, также включенный в состав продукта SQL Server.


Интеграционный подход IBM

В предлагаемом IBM подходе к интеграции данных с использованием «федеративных баз данных» один запрос к DB2 может требовать информацию удаленных реляционных баз данных, Web-сайтов, неструктурированных документов и плоских файлов. DB2 использует ПО IBM, называемое оболочками DataJoiner и RelationalConnect. Одна оболочка соответствует одному типу данных. Оболочки отражают модели данных источника на модель данных DB2.