Эффективное управление предприятиями сегодня просто невозможно без решения задач бизнес-аналитики (Business Intelligence, BI). Именно поэтому в последние годы рынок BI-средств активно развивается за счет как специализированных в этой области компаний, так и поставщиков платформенных решений (СУБД, ERP).
Для компании Oracle (http://www.oracle.com) направление хранилищ данных и аналитических систем уже несколько лет остается одним из самых приоритетных. Ориентируясь на общепринятые стандарты в этой области, Oracle предлагает новые решения и технологии для построения эффективных информационно-аналитических систем.
Как известно, информационно-аналитическая система должна выполнять сложные и разнообразные функции, включая сбор данных из различных источников, их согласование, преобразование и загрузку в хранилище, хранение аналитической информации, регламентную отчетность, поддержку произвольных запросов, многомерный анализ, автоматическое выявление полезных закономерностей и взаимосвязей и т. д.
Исторически сформировались два различных подхода к решению этих задач. Первый подразумевает использование единых хранилищ данных, построенных на основе промышленных реляционных баз данных SQL. Второй ориентируется на использование специализированных БД, ориентированных именно на аналитическую обработку. Каждый из этих подходов имеет свои плюсы и минусы. В результате для построения эффективной, многофункциональной и масштабируемой системы аналитической обработки данных организациям приходится зачастую приобретать решения от различных поставщиков ПО. А это усложняет архитектуру системы, приводит к необходимости интегрировать разнородные инструментальные среды, к дополнительным затратам на администрирование, к проблемам согласования данных и метаданных на различных серверах.
Чтобы избежать таких проблем, корпорация Oracle предлагает новый подход к созданию аналитических систем — единую и функционально полную платформу для решения всех перечисленных задач. В ее основе лежит система управления базами данных Oracle Database, с помощью которой можно не только надежно хранить огромные объемы аналитической информации, но и эффективно выполнять процедуры извлечения данных из разнородных источников, согласовывать, агрегировать и преобразовывать эти данные в аналитическую информацию, загружать ее в хранилище. Кроме того, средствами этого продукта поддерживаются различные методы анализа данных, включая многомерный анализ, прогнозирование, автоматический поиск закономерностей.
Технология многомерного анализа реализуется специальным компонентом Oracle OLAP, входящим в состав СУБД Oracle Database. Он позволяет хранить и обрабатывать многомерную информацию на том же сервере баз данных, где находится реляционное хранилище. По функциональным возможностям эта подсистема сравнима с многомерной СУБД Oracle Express и по существу завершает процесс интеграции технологии Oracle Express c реляционным сервером Oracle Database. Средства OLAP поддерживают в полном объеме основной язык сервера Express (сейчас этот язык переименован в DML — язык обработки многомерных данных — и получил ряд функциональных расширений для использования возможностей СУБД Oracle), а для существующих баз данных Express обеспечивается их миграция на СУБД Oracle.
Основа OLAP-технологии — логическая многомерная модель данных, с помощью которой можно определять такие понятия, как измерения, иерархии, многомерные показатели и т. п., и работать с ними. Все определения и описания таких многомерных объектов хранятся в репозитории OLAP Catalog, который представляет собой специально выделенную схему Oracle.
Каждый логический объект в каталоге описывается набором параметров. Например, для измерения указываются его имя и атрибуты, определяются возможные иерархии, а при определении куба задается имя, состав показателей, набор измерений, от которых зависят все эти показатели, типы агрегирования и т. д. Кроме того, для каждого логического объекта задается ссылка на «физический» объект, содержащий собственно данные. В простейшем случае такие «физические» объекты — столбцы обычных реляционных таблиц. Это соответствует ситуации, когда логическая многомерная модель реализуется обычной схемой «звезда» или «снежинка». Предусмотрена и другая возможность хранения многомерных объектов — в виде объектов аналитического пространства. Аналитическое пространство — это многомерная база Oracle Express, хранящаяся внутри базы данных Oracle Database в виде LOB-полей.
Для работы с описанными в каталоге OLAP многомерными объектами в состав Oracle OLAP включен набор Java-классов — Oracle OLAP API, реализующий все операции создания, модификации многомерных объектов и манипулирования ими (сам Oracle OLAP также реализован на базе Oracle OLAP API). Этот программный интерфейс позволяет разработчикам на Java создавать различные приложения, работающие с многомерной информацией.
В принципе разрабатывать собственные BI-приложения на базе Oracle OLAP можно с помощью любого Java-инструмента. Однако лучший вариант — использование Oracle JDeveloper, в состав которого входят специальные компоненты Business Intelligence Beans. Они оформлены в соответствии со стандартами технологии Java Beans, используют Oracle OLAP API для доступа к многомерной информации и позволяют легко и удобно создавать приложения любой степени сложности, работающие с многомерной информацией как в архитектуре клиент-сервер, так и в среде Интернета.
Доступ к многомерной информации возможен не только из Java-приложений, но и из приложений, ориентированных на SQL. Если данные физически находятся в реляционных таблицах, то с ними можно работать непосредственно из любого языка, включающего SQL. В случае аналитического пространства существует возможность создать набор реляционных представлений (view), реализующих доступ к объектам аналитического пространства. Такие представления автоматически генерируются с помощью специальных хранимых процедур, использующих объектно-ориентированные возможности СУБД Oracle и технологию табличных функций.