ИСПОЛЬЗОВАНИЕ ORACLE WAREHOUSE BUILDER ДЛЯ ОРГАНИЗАЦИИ ХРАНИЛИЩ ДАННЫХ
А.К. Дорожкин, В. А. Климанов Введение
Oracle9i Warehouse Builder представляет собой интегрированное решение, которое предназначено для проектирования и создания хранилищ и витрин данных. Одновременно являясь инструментом для проектирования хранилищ данных и инструментом для извлечения, преобразования и загрузки данных, Warehouse Builder обеспечивает:
• определение логической и физической модели хранилища и витрины данных;
• извлечение, очистка и преобразование данных из реляционных БД, плоских файлов и различных ERP-систем в схему БД хранилища;
• автоматическое создание и настройка сценариев и скриптов создания и загрузки данных в хранилище данных;
• администрирование, управление и мониторинг процессов изменения состояния хранилища данных.
Oracle9i Warehouse Builder является одним из немногих интегрированных средств разработки корпоративных аналитических систем, которое управляет полным жизненным циклом данных и метаданных для базы данных Oracle9i. Warehouse Builder позволяет пользователям разрабатывать основу для создания аналитических приложений с начала и до конца. Он интегрирует в себе такие решения корпоративной аналитики, как разработка измерений, разработка процессов извлечения, трансформации и загрузки (ETL — extraction, transformation, loading - извлечение, преобразование и загрузка данных), извлечение из несоразмерных исходных систем, интеграция с Oracle 9iAS Discoverer, Oracle Workflow and Oracle Enterprise Manager.
Warehouse Builder - это средство генерации кода, основанное на репозитории метаданных. Этот код затем может быть использован для создания хранилища данных и для сопровождения преобразования данных. Warehouse Builder сильно интегрирован с другими продуктами фирмы Oracle, такими как Oracle Enterprise Manager для организации выполнения процедур загрузки данных по расписанию и отслеживания состояния выполнения различных задач, в базе данных, а также с Oracle Workflow для задания нелинейных последовательностей выполнения различных этапов процесса загрузки данных и организации оповещения в случаях возникновения ошибок.
В Oracle9i имеется встроенные функции для извлечения, преобразования и загрузки данных. Это набор SQL и PL/SQL утилит и команд, которые могут использоваться в процессе ETL. В отличие от ETL-функциональности, имеющейся в Oracle9i, Warehouse Builder обеспечивает пользователей прозрачным и удобным графическим интерфейсом.
В данной статье пойдет речь о Warehouse Builder версии 9.2, который, по сравнению со своими предшественниками, имеет целый ряд усовершенствований, связанных в первую очередь с организацией управлением большими проектами и возможностью создания не только реляционных хранилищ данных и процедур загрузки и очистки, но и многомерных структур, причем метаданные при этом можно экспортировать с помощью Metadata Export Bridge в целый ряд различных форматов:
• Файл с разделителями
• CWM1
• Oracle9i OLAP
• Oracle Express
• Oracle9i Discoverer
Архитектура Warehouse Builder состоит из двух основных частей:
• Окружение разработки (Design Environment)
• Окружение выполнения (Runtime Environment)
Обе эти части предназначены для обслуживания различных аспектов функционирования системы. Окружение разработки предназначено для управления метаданными, в то время как окружение выполнения работает непосредственно с физическими данными.
Рис. 1. Архитектура Oracle Warehouse Builder Окружение разработки
Метаданные, необходимые для выполнения разработки хранилищ данных, хранятся в специальном репозитории, размещенном внутри базы данных Oracle. Для просмотра и создания метаданных Warehouse Builder предоставляет целый набор утилит, работающих даже по технологии тонкого клиента. Метаданные создаются автоматически при создании разработчиком различных объектов хранилища данных.
Важную роль при создании хранилищ данных играет информация о различных источниках данных, так как, чем больше число различных источников данных, с которыми ETL средство может работать без промежуточных программ, тем эффективнее труд разработчика. Warehouse Builder имеет целый ряд интегрированных компонент для импорта информации о структуре данных в той или иной системе, для автоматической генерации метаданных. На данный момент Warehouse Builder поддерживает следующие источники:
• РСУБД Oracle, версии 7.3.x и выше (Oracle 7.3 не поддерживается Oracle 9.2)
• Плоские файлы (с разграничителями полей или с полями фиксированной длины)
• Импорт данных из системы SAP/R3
• Warehouse Builder 9.2 (поддерживает метаданные предыдущих версии 3.X.X и
4.X.X)
• XML документы
• Соединение через ODBC к базам данных не Oracle
• Oracle Transparent Gateways к БД не Oracle, для обеспечения прозрачного доступа средствами Oracle к СУБД других производителей Другим важным аспектом при работе с метаданными является автоматическое обновление хранимой информации об источнике в случае его изменения, а также распространение этих изменений на все связанные с данным источником объекты. Для обеспечения качества и полноты метаданных Warehouse Builder предоставляет мощный механизм проверки правильности метаданных, анализирующий все зависимости между различными объектами, что особенно необходимо при работе нескольких пользователей над одним проектом.
Окружение выполнения
После того, как разработчик создал логическую структуру хранилища данных и определил процессы извлечения, очистки и загрузки данных, необходимо перенести систему на физический уровень базы данных. Для этого в первую очередь необходимо задать информацию о целевой базе данных, в которой планируется разместить систему. После этого Warehouse Builder будет в состоянии сгенерировать скрипты для создания объектов, связей между источниками и целевыми схемами баз данных, а также процедуры извлечения, очистки и загрузки данных. Сгенерированный код может быть немедленно выполнен в целевой базе данных или же сохранен в файловой системе для коррекции, оптимизации или дальнейшего распространения.
Выполнение процесса извлечения, очистки и загрузки данных означает вызов программного кода, хранящегося в базе данных. Это может быть сделано как различными средствами, входящими в состав сервера баз данных Oracle, например, Enterprise Manager, так и непосредственно из Warehouse Builder. Однако при работе с источниками данных других производителей программный код, внешний по отношению к Oracle, выполняется в окружении внешних систем. Так, например, в случае работы с продуктами фирмы SAP программный код на языке ABAP выполняется в среде продуктов SAP.
Warehouse Builder предоставляет возможность протоколировать информацию о процессе выполнения извлечения, очистки и загрузки данных в специальных таблицах, для дальнейшего анализа, на предмет выявления ошибок и противоречивых данных. Подобная информация содержит данные о количестве выбранных, вставленных или обновленных записей, а также основную информацию об ошибках, возникших на различных этапах ETL процесса. Анализ протоколов проще всего осуществлять с помощью Runtime Audit Browser, который предназначен для проверки всех запущенных задач и обнаружения ошибок, которые могут возникать в процессе заполнения хранилища.
Архитектура Warehouse Builder Warehouse Builder состоит из целого ряда различных и взаимосвязанных компонент (рис. 1):
• Пользовательское приложение предоставляет удобный графический интерфейс для создания, просмотра, управления и организации доступа различных пользователей к метаданным, хранимым в центральном репозитории. Пользовательское приложение состоит из следующих основных компонент.
• Компонент проверки правильности метаданных выявляет зависимости между описаниями различных объектов хранилища данных и анализирует их на предмет полноты и согласованности.
• Генератор кода генерирует скрипты для создания объектов (DDL) и PL/SQL процедур и функций в зависимости от метаданных, находящихся в репозитории. Генерируемый код нацелен на эффективное использование возможно-
стей баз данных Oracle 8i/9i и позволяет достичь оптимальной производительности в системах Oracle.
• Менеджер размещения, который управляет различными аспектами процессов размещения и поддержки размещенных объектов.
• Служба выполнения (Runtime Platform Service) является серверным компонентом системы, предназначенным для размещения объектов хранилища данных и выполнения различных процедур.
• Репозиторий проектирования (Design Repository) хранит метаданные, описывающие все объекты хранилища данных. Доступ к метаданным осуществляется либо с помощью пользовательского приложения, либо с помощью утилиты командной строки OMB Plus - аналог SQL Plus, - предназначенной для выполнения скриптов Warehouse Builder.
• Репозиторий выполнения (Runtime Repository) устанавливается на каждой целевой базе данных. Предназначен для хранения информации, необходимой для целевой системы, такой как информация об источниках данных, соответствии объектов источника целевым объектам и т.д.
• Браузер отчетов аудита (Audit Reporting Browser) позволяет просматривать информацию о состоянии размещения объектов хранилища данных и историю выполнения процессов извлечения, очистки и загрузки. Отчеты основываются на данных из репозитория выполнения.
• Браузер отчетов метаданных (Metadata Reporting Browser) позволяет просматривать через web-приложения метаданные, содержащиеся в репозитории проектирования.
Процесс построения хранилища данных с помощью Oracle Warehouse Builder состоит из нескольких этапов, которые должны быть последовательно выполнены:
1. Определение источников данных и целевых схем. На данном этапе происходит не только определение типа и местонахождения источников, но импорт информации об объектах источника. Как для источников, так и для целевых схем определяются месторасположения (Locations) и соединители (connectiors) для организации доступа к удаленным данным.
2. Создание объектов хранилища данных. В отличие от предыдущих версий Warehouse Builder, в версии 9.2 создание хранилища данных ведется в терминах многомерных баз данных, т.е. в понятиях «куб» и «измерение», а не в терминах «таблица фактов» и «таблица размерностей». Куб, измерение и соответствие между источником и целевым объектом (Mapping) являются основными объектами хранилища данных. Warehouse Builder предлагает также целый ряд других, вспомогательных объектов, предназначенных для построения более эффективного хранилища данных:
• Advances Queues для хранения и обработки сообщений
• Внешние таблицы (External Tables)
• Соединители (Connectors) для подключения к источникам данных и целевым схемам
• Файлы
• Месторасположения (Locations) для группировки объектов по их местонахождению
• Материализованные представления (Materialized Views) для хранения обобщенных данных
• Process Flows - взаимодействие различных процессов загрузки данных, а также интеграция с Oracle Workflow
• Последовательности (Sequence)
• Таблицы (Tables) — обычно описывают объекты, находящиеся в источниках данных, но также могут использоваться и для организации области подготовки данных.
• Преобразования (Transformations) - функции, получающие на входе ряд параметров, а на выходе возвращающие преобразованное значение. Помимо этого, Warehouse Builder имеет в своем арсенале достаточно полную библиотеку различных преобразований, которые позволяют достаточно быстро решать наиболее часто встречающиеся задачи в области очистки данных. Преобразования сгруппированы по следующим категориям:
• Администрирование
• Символьные преобразования
• Общие преобразования
• Обработка дат
• Обработка чисел
• OLAP
• XML
• Остальные преобразования
• Представления (Views), также как и таблицы, обычно описывают объекты, находящиеся в источниках данных, но могут использоваться и для организации области подготовки данных.
3. Задание соответствия между источниками и целевыми объектами. Основная работа при создании хранилища данных - это организация процедур извлечения, очистки, загрузки и обновления данных. Warehouse Builder предоставляет пользователям удобный графический интерфейс, который позволяет с помощью практически одной только мышки создавать сложные алгоритмы загрузки данных.
4. Проверка и генерация. После описания источников данных, целевых схем и соответствия между ними необходимо осуществить проверку правильности описания объектов. Встроенный механизм проверки осуществляет, в первую очередь, проверку полноты введенных данных, а также соответствия типов данных. После того как проверка выполнена и все ошибки и предупреждения устранены, разработчик может приступать к генерации скриптов. Warehouse Builder предлагает четыре типов скриптов:
• Создания
• Удаления
• Обновления
• Замещения
5. Размещение и выполнение. Последним этапом создания хранилища данных является размещение объектов в целевых схемах и выполнение процедур загрузки данных. Благодаря нововведению последней версии - менеджеру размещения - данный процесс стал намного проще и эффективней по сравнению с предыдущими версиями и позволяет достаточно легко создавать, обновлять и удалять большие и сложные по структуре хранилища данных, расположенные на различных серверах баз данных.
Преимущества использования Warehouse Builder
Использование Oracle Warehouse Builder для создания и поддержки хранилищ данных и аналитических приложений дает разработчикам целый ряд преимуществ. 1. Уменьшение времени разработки. Благодаря обширному набору разнообразных мастеров, удобному графическому интерфейсу и большой библиотеке заранее соз-
данных преобразований значительно уменьшается время создания объектов хранилища данных и процедур его заполнения.
2. Централизованное проектирование. Вся информация о разрабатываемой или поддерживаемой системе хранится в центральном репозитории, что позволяет избежать несогласованности данных, а также значительно упрощает вопросы управления этим данными.
3. Защита от ошибок. Благодаря мощному механизму проверки данных, а также централизованному репозиторию, сводится к минимуму не только вероятность возникновения ошибок, но и становится более легким повторное создание, обновление и поддержка хранилища данных.
4. Повышение эффективности технологий. Warehouse Builder нацелен на эффективное использование новых функций, появившихся в последней версии базы данных Oracle.