Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru |
Поиск по сайту | ||||||
Новости | ||||||
Основы OLAP | ||||||
Продукты | ||||||
Business Objects/ Crystal Decisions | ||||||
Каталог | ||||||
OLAP в жизни | ||||||
Тенденции | ||||||
Download | ||||||
| ||||||
Загрузка и согласование данных при построении хранилищ данныхПавел Кириллов, Илья Шабаев, журнал “Открытые Системы”, #11/2000 За последние годы произошел бурный рост продаж систем оперативной аналитической обработки данных (OLAP — online analytical processing) и хранилищ данных (Data Warehouse), однако до сих пор неясен вопрос, в чем же привлекательность этих систем? Многомерный финансовый анализ, анализ продаж, возврата инвестиций, эффективности работы с заказчиком, анализ прибыльности каждой операции, расходов и себестоимости – обеспечивают преимущества в конкурентной борьбе. Все возможности многомерного анализа предоставляются пользователям на базе инструментария бизнес-интеллекта (BI — Business Intelligence), позволяющего манипулировать данными без знания их структуры, оперируя только понятиями деловой практики: объемы продаж, прибыль и затраты. Более того, быстрое получение подобной информации позволяет исключить из организации звенья-посредники, не генерирующие новой информации, а, следовательно, увеличить эффективность работы организации. Все эти возможности анализа корпоративных данных появляются при наличии единого источника – хранилища данных. Собственно говоря, для средних и крупных предприятий создание такого хранилища – единственный путь организации оперативной аналитической обработки. Огромные объемы данных, рассредоточенные в корпоративных системах, хранящиеся в различных форматах — от таблиц Microsoft Excel до файлов ISAM на мэйнфреймах, — не позволяют производить достоверные выборки непосредственно из них. Еще одной проблемой, связанной с тематикой анализа корпоративных данных, является проблема – анализ по наиболее важному из измерений – времени. Большинство данных, хранящихся во внешних источниках, таких как сеть Internet, содержат информацию только о текущем состоянии и поэтому не позволяют проводить такой анализ. Классическим решением проблемы обеспечения аналитических приложений достоверной, полной и актуальной информацией является построение единого хранилища данных и, в случае необходимости, специализированных проблемно-ориентированных витрин данных. Построение хранилища или витрины данных — это процесс из нескольких этапов: сбор требований к хранимым данным, анализ способов их извлечения, реализация процессов загрузки данных в хранилище/витрину и пр. По оценке InfoWorld, наибольшие затраты, как правило, приходятся именно на последний этап, называемый как ETL (extraction, transformation & loading) – экстракция данных из источников, трансформация их в подходящую для загрузки в хранилище/витрину данных форму и собственно загрузка. При попытке интеграции исходных данных пользователь оказывается перед выбором — либо объединять их с помощью множества программ-конверторов, что предполагает разработку кодов собственных программ преобразования, очистку и проверку данных, либо воспользоваться универсальным инструментом создания хранилищ данных. Исключением являются организации, внедрившие продукты, содержащие интегрированные средства OLAP. Но, как правило, такие продукты ориентированы на узкоспециализированные области – бухучет, управление запасами, и не позволяют проводить анализ в смежных областях. Рассмотрим подробнее подходы компании Informix Software к промышленному решению проблем ETL-сферы. Отличительной особенностью предлагаемых компанией решений (DataStage и Formation) является ориентация на максимально комплексное и универсальное решение проблемы, минимизирующее использование нестандартных компонентов. Так, одной из особенностей DataStage является независимость от операционных систем, форматов данных и прикладных систем. Основные операции по экстракции данных, преобразованию форматов, проверке достоверности, интеграции, загрузке в хранилище обеспечиваются за счет существующих модулей расширения (plug-in) – программ, хранящихся в репозитории. Существует множество стандартных модулей расширения для различных источников данных, для различных систем, обеспечивающих функционирование хранилищ данных: Oracle, Red Brik, Terradata... Для проектировщика хранилищ предоставляется возможность создания собственных модулей расширения. Все существующие сегодня ETL-инструменты можно разделить на две большие группы. С одной стороны отдельные поставщики, работающие с реляционными или многомерными серверами СУБД, включают в свои решения узкоспециализированные средства загрузки данных, ориентированные исключительно на свои серверы. К таким продуктам можно отнести, например, Oracle Express Relational Access Manager и Hyperion Essbase. С другой стороны, существуют и универсальные средства, которые обеспечивают загрузку из альтернативных источников данных в различные типы целевых приемников, производя при этом разные преобразования. В рамках своего комплексного решения Informix Decision Frontier (IDF) компания Informix предлагает два универсальных ETL-инструмента: DataStage и Formation. Кроме того, к IDF относятся, в частности, следующие продукты: Extended Parallel Server; Red Brick Decision Server; MetaCube; Seagate Info. Extended Parallel Server — реляционный сервер СУБД, который в рамках Decision Frontier позиционируется как средство поддержки первичного хранилища детальных фактов или operational data store (ODS), содержащего совокупную актуальную информацию операционной среды. Red Brick Decision Server — специализированный ROLAP-сервер, обладающий дополнительными функциями (оптимизация запросов типа star join, материализованное хранение результатов агрегация, оптимизация массовой загрузки и проч.), ориентирующими его на поддержку витрин данных. MetaCube — средство аналитической обработки данных (построение отчетов, графиков, поиск тенденций и проч.). Seagate Info — приобретенный программный продукт, предназначенный для построения отчетов по накопленным данным (функциональность частично пересекается с MetaCube). Informix FormationДанный программный продукт позволяет, как и большинство представителей этой группы, визуально описать с помощью специализированного языка диаграмм последовательность действий по экстракции данных из источников, трансформации и, наконец, загрузке в целевую схему (рис. 1).
Formation состоит из двух компонентов: Architect (клиент) и Flow Engine (сервер). Architect предоставляет графический пользовательский интерфейс, в рамках которого пользователь задаЈт диаграммы потоков данных в рамках ETL-процессов (рис. 1). После завершения составления диаграмм генерируется исходный код на языке C++, построенный на базе специализированных библиотек. Данный подход унаследован от ETL-продуктов первого поколения, которыми реально мог пользоваться только квалифицированный программист. Серверный компонент (flow engine) обрабатывает исходный код на C++ и формирует набор исполняемых файлов, которые могут быть запущены для того, чтобы реально произвести соответствующие ETL-действия. Серверный компонент отвечает также за отслеживание хода выполнения этих работ. В отличие от клиентской части, тесно привязанной к Win32 платформе, серверная часть может исполняться как на Windows NT, так и на Sun Solaris и HP-UX. При этом утверждается, что в рамках всех этих операционных систем серверная часть продукта поддерживает интеллектуальное распараллеливание работ. В качестве источников данных могут применяться:
Отсутствуют возможности доступа к плоским файлам и базам данных для мэйнфреймов (DB2, IMS, VSAM). Среди функций Formation, имеющих отношение к проблематике очистки данных можно найти функцию фильтрации данных по заданному условию со сбрасыванием «отбракованных» записей в специальные таблицы. Остальные работы по очистке (отслеживание незаполненных значений, несовпадение типов данных, неиспользуемые поля, дублирующиеся записи и пр.) предоставляются пользователю, который должен задавать соответствующие условия при обычных способах обработки (фильтрация с отбраковкой, фильтрация со слиянием записей, отображение полей исходных таблиц на поля целевых таблиц и пр.). Informix DataStageДанный ETL-продукт во многом подобен Formation, например, имеет средство визуального проектирования диаграмм ETL-процессов (рис. 2). Он состоит из клиента и сервера, один из которых предназначен для ведения репозитория проектов, а другой – для выполнения и отслеживания хода работ уже спроектированных ETL-задач, но обладает рядом существенных отличий.
Существенное отличие: существует репозиторий проектов DataStage, позволяющий организовывать распределенную работу проектировщиков хранилища или витрин данных. Несмотря на то, что в DataStage происходит предварительная компиляция, она производится не путем преобразования в C++, а затем в исполняемые коды, а из внутреннего описания в репозитории – во внутренний байт-код. Это с одной стороны даЈт все преимущества подлинной кроссплатформности (один и тот же ETL-проект может выполняться на серверах DataStage для различных платформ), а с другой – позиционирует DataStage как средство построения витрин данных, (первичного хранилища детальных фактов). В случае с «витринами» объемы существенно меньше, что в случае с интерпретируемым байт-кодом неизбежно приводит к потере производительности. Хотя, если рассматривать чисто функциональные возможности DataStage, то ничто не препятствует и такому применению данного программного продукта. В качестве потенциальных источников DataStage поддерживает те же данные, что и Formation и, кроме того:
На этапе трансформации можно производить традиционные для ETL-инструментов преобразования (сортировка, агрегация и пр.), а также дополнительные действия, такие как смена представления данных с сохранением степени гранулярности, преобразование записей типа «уровень» (по состоянию на такую-то дату некоторый показатель имел такое-то значение) в записи типа «факт» (такого-то числа данный показатель изменился на столько-то) и другие. Существуют возможности по очистке данных – фильтрация некорректных записей, коррекция ошибок, обновление устаревших данных и проч. Имеются также расширенные возможности по загрузке данных в целевую схему – загрузку можно производить как в режиме «по записи», так и в режиме «обновление целой таблицей». Существует возможность подсоединить к системе собственные расширения, обеспечивающие оптимальную загрузку в нестандартные системы. Загрузчик старается по возможности распараллелить процесс загрузки и утилизировать все доступные ему ресурсы. Говоря о расширениях, следует отметить одну особенность DataStage, существенно отличающую его от других ETL-инструментов – этот продукт позволяет дополнять «известные» ему алгоритмы трансформации и очистки данных новыми, написанными на языке Visual Basic, что делает его продуктом с открытой архитектурой. Это позволяет расширять функциональность системы пользовательскими «добавками». Также существует возможность добавлять новые типы источников данных. DataStage реализован на основе промышленной СУБД UniVerse производства Informix, поддерживающей многомерные данные. В DataStage используются производительные механизмы обработки и передачи данных, поддерживаются хэшированные таблицы с размещением в оперативной памяти увеличивающие скорость доступа к промежуточным данным. Промышленные версии DataStage включают в себя MetaStage – мощное средство для управления, согласования и интеграции метаданных различных продуктов проектирования и разработки приложений. MetaStage позволяет вывести технологию разработки корпоративных систем на новый уровень. Об авторахПавел Кириллов (pavel@lanit.ru) — сотрудник компания ЛАНИТ. Илья Шабаев (ila@ipmce.ru) — директор компании АРК. © 2001 Interface Ltd |