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

В общем случае, построить хранилище данных можно без применения специализированного программного обеспечения — достаточно описать ETL-процедуры (Extraction, Transformation and Loading — «извлечение, преобразование и загрузка») и определить расписание их выполнения. Однако это работает, если имеется один источник данных, не планируется в будущем изменять требования к хранилищу и вовлекать в работу новые предметные области и категории пользователей. Но данная ситуация практически не встречается. Использование специализированных продуктов значительно упрощает управление информационно-аналитической системой, а в большинстве случаев является единственным способом поддержания ее работоспособности.

От данных к информации

DataStage — основное программное средство в линии продуктов компании Ascential Software, предназначенных для создания корпоративных хранилищ данных. С его помощью осуществляется наполнение хранилища и витрин данных на основе следующих подходов:
  • создание кода "вручную" - требует значительного времени, а созданное таким образом хранилище со временем становится неуправляемым;
  • использование специализированных средств, входящих в состав СУБД источника или приемника данных - существенно ограничивает возможности построения хранилища. Ни один производитель СУБД, не станет создавать программный продукт, в равной степени обеспечивающий качественную работу как со "своей" базой, так и с "чужой". Кроме того, использование данного подхода увеличивает степень зависимости компании от одного поставщика;
  • использование специализированных средств от независимых поставщиков - именно к таким относится Ascential Software Data Stage.

Помимо того, что DataStage — одно из немногих ETL-средств от независимого поставщика, оно обладает целым рядом особенностей, помогающих реализовывать корпоративные проекты. Описание ETL-процессов осуществляется с помощью модуля DataStage Designer (рис. 1). Каждый элемент диаграммы (или stage в терминологии DataStage) определяет один блок операций по извлечению данных, их преобразованию или загрузки. Описание ETL-процедуры заключается в перетаскивании с инструментальной панели кнопок, соответствующих определяемому действию, и описанию свойств stage. Цепочка stage определяет одно задание.

В рамках одного задания может проводиться одновременно чтение данных из нескольких источников и запись преобразованных данных в несколько приемников. При этом, как источники, так и приемники могут находиться в различных базах данных или файлах и иметь в сети несколько копий. Помимо использования SQL для ускорения процесса загрузки данных можно использовать прямой ввод/вывод в файл или быстрые загрузчики (bulk loader). В качестве источника можно использовать реляционные источники, плоские файлы, базы данных мэйнфреймов, журнальные файлы Web-серверов, файлы XML. В этих же форматах могут быть данные приемников. Ascential Software также предлагает специальные модули Extract PACK для популярных приложений (SAP, PeopleSoft, FirstLogic, Siebel) и Load PACK для SAP BW. DataStage может генерировать процедуры на языках Кобол и JCL. Кроме этого, DataStage позволяет не только использовать данные с мэйнфреймов, но и их вычислительные возможности.

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

Известно, что общая производительность системы определяется производительностью ее самой медленной части. При работе с данными — это операции ввода/вывода с дисковой памятью. Все процессы преобразования построены таким образом, что не требуют использования промежуточных файлов. Администратор системы может также определить объем оперативной памяти для использования сервером DataStage.

Операции сортировки и агрегирования также выполняются без обращения к дискам — DataStage осуществляет их в процессе преобразования, не используя промежуточных источников и операторов SQL. Сортировка может быть выполнена до или после вычислений, агрегирования и, в случае необходимости, проведена по разным путям преобразования, если осуществляется запись в несколько приемников. Если данные уже отсортированы, на стадии агрегирования строки будут доставляться в приемник, после завершения каждой группы агрегации. Пока доступных ресурсов достаточно, операции сортировки и агрегирования выполняются в памяти.

Иногда необходимо включать зависимые или «связанные» преобразования в процесс перемещения данных. Результаты вычислений промежуточной колонки часто используются повторно в последующих операторах. Ядро DataStage обрабатывает такие связанные преобразования как регулярные подпрограммы. Данные не записываются на диск — поток строк непрерывно следует через одну или несколько стадий преобразования. Дополнительно, это позволяет разработчику связывать преобразования.

В DataStage реализована поддержка технологий высокоскоростной загрузки данных, предлагаемых партнерами Ascential Software и другими поставщиками решений в области хранилищ данных. Загрузчик больших массивов данных и утилиты «быстрой загрузки» обеспечивает высокоскоростную вставку строк в реляционную таблицу, обычно отключая ведение журналов и другие служебные действия с транзакциями, реализуемых в регистрирующих приложениях. DataStage поддерживает широкое разнообразие таких утилит загрузки больших массивов, непосредственно вызывая API загрузчиков массивов СУБД или генерируя файл контроля и соответствия данных при выполнении пакетного ввода. Разработчики просто присоединяют иконку Bulk Load Stage к их заданиям и потом заполняют параметры настроек выполнения, которые соответствуют их специфической среде.

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

Обработка изменений в данных весьма существенно влияет на производительность приложения по извлечению и преобразованию данных. Время загрузки, требуемое для обновления, определяется частотой обновления, доступностью приемников данных, способностью доступа к источникам и ожидаемым объемом изменений. Однако имеются технологии, позволяющие изменять данные в хранилище непосредственно при обнаружении изменения данных в источнике. Поддержка в DataStage захвата изменений данных (Change Data Capture) уменьшает время загрузки, требуемое для обновления витрин и хранилищ данных. CDC описывает методологии и инструменты, требуемые для поддержки сбора, модификации, и перемещения недавно введенных или обновленных записей. Программное обеспечение Ascential реализует решение неустранимых сложностей и ловушек в CDC и создает стратегию, помогающую разработчикам сформировать эффективное решение.

В DataStage включены средства взаимодействия с партнерскими программными решениями для получения новых строк из журналов и транзакционных систем на базе мэйнфреймов и популярных реляционных баз. Компонент Change Data Capture предлагает возможности для проверки временных отметок (timestamp) и кодов, указывающих тип транзакции (вставка, изменение, удаление).

Рис.1. Управление потоками данных в графическом интерфейсе DataStage

Метаданные — знания о данных

По мере развития хранилища данных все чаще будут возникать вопросы: что означают эти данные, каков формат данных и их структура, откуда приходят эти данные, как рассчитывается тот или иной показатель и т.д. Управление метаданными и их доступность позволяют получить ответ на подобные вопросы.

Чем крупнее проект, чем больше источников данных задействовано в аналитической системе, чем шире спектр программного обеспечения, которое планируется использовать для доступа к информационному хранилищу и обработки данных, тем насущнее необходимость в применении специализированных средств единого представления распределенных метаданных. В линейку продуктов Ascential входит модуль MetaStage, обеспечивающий высокую степень интеграции метаданных для наиболее популярных систем для проектирования структур данных, управления информационными активами и бизнес-анализа информации: Business Objects, CA COOL:Biz, CA ERwin, Cognos Impromptu, DataStage, Embarcadero ER/Studio, Hyperion Essbase, Magna Solution Silverrun, Microstrategy, Oracle Designer, Sybase Power Designer.

Для каждой из перечисленных систем имеется MetaBroker, который читает метаданные из источника, преобразует во внутренний формат MetaStage и помещает в репозиторий MetaHub Directory. MetaBroker позволяет не только считывать информацию из различных систем, но и записывать ее, что упрощает формирование метаданных для конечных пользователей. MetaHub Directory может быть организован в любой реляционной базе данных.

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

Для дистрибуции метаданных в MetaStage реализован механизм «опубликовать и подписаться». Пользователь может зарегистрироваться на однократную или периодическую рассылку метаданных, а при изменении метаданных подписчик автоматически получает уведомление. Например, разработчик, использующий MetaStage, может использовать механизм «опубликовать и подписаться» для многократного использования компонентов в нескольких проектах, тем самым, сокращая цикл разработки. MetaStage позволяет также осуществлять доставку метаданных в пакетном режиме в виде отчетов в формате XML или HTML, связанными гиперссылками для упрощения навигации.

Оценка и контроль качества данных

Эффективность работы информационно-аналитической системы напрямую зависит от качества данных и достоверности информации. Ascential Quality Manager, интегрируемый с DataStage, позволяет проводить аудит исходных данных, контролировать данные в приемниках и улучшить процесс преобразования. На появление «грязных» данных влияют различные факторы: дублирование атрибутов, неправильные значения, неправильные временные зависимости, неразумные связи, отсутствие данных, нарушения в бизнес-правилах, дублированные ключи, ошибки вычислений, ошибочные интервалы, нестандартные форматы, отсутствие ссылочной целостности, плохое сочетание данных между различными источниками, отсутствие синхронизации между источниками и приемниками.

Средства обеспечения качества данных позволяют формировать процедуры преобразования информации, например, Quality Manager обеспечивает идентификацию проблем, связанных с качеством данных и предлагает пути их разрешения. Определение условий в соответствии с которыми данные считаются «чистыми» - первый шаг на пути повышения их качества — входящие в состав Quality Manager функции позволяют провести количественную оценку влияния и стоимости дефектов в данных и предоставляют средства для определения программ совершенствования качества данных.

Информационная поддержка принятия решений

Основным компонентом проекта по созданию информационно-аналитической системы является обеспечение конечного пользователя возможностью взаимодействовать с хранилищем данных и использовать информацию в процессе принятия решений. Программные продукты компании Business Objects предназначены для организации систем поддержки принятия решений (СППР) и включают средства формирования непредсказуемых (ad-hoc) запросов, составляемых в терминах бизнеса; инструменты построения как печатных, так и интерактивных аналитических отчетов; средства централизованного администрирования прав пользователей; ведение репозиториев метаданных и документов; средства автоматического выполнения и дистрибуции отчетов, как по расписанию, так и по событиям; средства построения корпоративных аналитических сетей.

Используя BusinessObjects в комплексе с системами поддержки бизнеса, можно до построения хранилища данных выявить наиболее часто используемые запросы, определить ожидаемые объемы запрашиваемой информации, что поможет избежать дорогостоящих ошибок еще на стадии построения хранилища данных. В качестве источников информации помимо хранилища данных могут использоваться реляционные и многомерные СУБД оперативных систем, электронные таблицы, DBF, форматированный текст, бизнес-приложения. При этом все эти виды источников могут использоваться вместе, что позволяет интегрировать информацию в одном отчете и проводить ее анализ.

Основой СППР является система построения запросов и семантический слой, в котором описываются правила отображения физической реляционной модели данных в объекты предметной области. Такая организация работы с системой дает возможность аналитикам, руководителям и всем, кому необходимо получать информацию, обращаться к хранилищам и другим источникам самостоятельно, не прибегая к помощи специалистов. Выборки, полученные в результате выполнения запроса, становятся частью итогового документа. Это позволяет формировать нужные пользователю отображения полученных данных и производить вычисления по ним, обращаясь к источникам данных только при необходимости обновления информации, изменении или формировании нового запроса. Документ вместе с выборкой может быть сохранен в виде файла или помещён в репозиторий документов системы BusinessObjects, что при наличии соответствующих прав позволяет продолжать работу над документом даже при отсутствии постоянного соединения с источниками данных.

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

В BusinessObjects процедура формулирования запросов заключается в выборе и пошаговой компоновке объектов на панели запросов (рис. 2).

Рис. 2. Построение запроса

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

В BusinessObjects отчет не является статичным — получаемые выборки хранятся в виде динамических микрокубов и к ним применимы инструменты OLAP. Пользователь может детализировать информацию и менять измерение, по которому проводится анализ. В систему интегрируются также дополнительные возможности, такие как исследование закономерностей (data mining), работа с множествами и доступ из Excel, которые являются составной частью СППР. Открытая архитектура и поддержка механизма OLE позволяют разработчикам использовать как простейшие приложения для навигации по документам, так и полномасштабные аналитические приложения, имеющие в качестве интерфейса к источникам данных систему Business Objects.

Тонкий клиент и распределение информации

Business Objects предложила Web-версию системы поддержки принятия решений, которая по функциональности практически не уступает толстому клиенту. Система WebIntelligence разработана для пользователей, которые не могут по каким-либо причинам обращаться к данным из локальной сети. Пользователь может создать отчет в системе BusinessObjects и впоследствии работать с ним через WebIntelligence. Сервер WebIntellegence базируется на распределенной компонентной архитектуре, придающей гибкость и возможность расширяемости. При распределении работы по нескольким серверам обеспечивается динамическое распределение нагрузки и восстановление при отказах отдельных серверов. Распределенная компонентная архитектура WebIntelligence реализована на технологии, совместимой с CORBA.

WebIntellegence разработана с учетом стандартов безопасности для web, которые защищают передачу данных по сети благодаря использованию улучшенных алгоритмов кодирования. Кроме того, для обеспечения безопасности WebIntellegence использует слой безопасности BusinessObjects — это означает, что можно добавить отчет в список рассылки, а пользователи будут видеть его различное содержимое в зависимости от прав авторизации.

В WebIntelligence включен OLAP-модуль, позволяющий непосредственно в отчете осуществлять операции детализации и обобщения данных, делать срезы информации, работать с перекрестными таблицами. Включенный в состав системы сервер документов Broadcast Agent позволяет определять расписание и условия для автоматической рассылки документов. Broadcast Agent может передавать данные по электронной почте, факсу, пейджеру, телефону и т.д., используя распределенную компонентную архитектуру WebIntelligence.

Безопасность

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

Максим Львов (marketing@tern.ru) — Менеджер по маркетингу компании Терн (Москва)


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

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

Поделитесь материалом с коллегами и друзьями