Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Публикации

RM-Magazin

OLAP-компонента и архитектура OLAP-клиентов

OLAP-компоненты

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

Для реализации OLAP-клиентов могут использоваться MOLAP и ROLAP-компоненты:
  • MOLAP-компонента. Это инструмент программиста, при помощи которого разрабатываются клиентские программы, получающие вычисленные срезы кубов от OLAP-сервера по какому-либо интерфейсу, например OLE DB for OLAP корпорации Microsoft.
  • ROLAP-компонента. Это тоже инструмент программиста. В отличие от MOLAP-компоненты она содержит собственную OLAP-машину для преобразования реляционных данных в многомерные кубы. Другими словами, эта программа по запросу пользователя в оперативной памяти вычисляет агрегаты и отображает их на экране.

OLAP-машина определяет такие важные характеристики ROLAP-клиента, как объем и скорость обработки данных, спектр аналитических функций. В практике построения информационных систем эти характеристики становятся критичными. Так, низкая производительность системы приведет к потере качества анализа и дискредитации в глазах пользователя OLAP-технологии как on-line процесса.

Любой OLAP-клиент предоставляет конечному пользователю интерфейс для выполнения произвольных запросов к данным, их многомерного анализа и формирования интерактивных, модифицируемых пользователем отчетов. Использование различных OLAP-компонент приводит к возникновению некоторой путаницы в определении OLAP-клиента и сравнении продуктов. Так, OLAP-клиентом называют и средство просмотра кубов OLAP-сервера, и OLAP?систему, которая выполняет вычисления над данными реляционных СУБД в оперативной памяти ПК пользователя.

Далее будут рассмотрены различные архитектурные реализации OLAP-клиентов, что поможет ИТ-специалистам оринтироваться среди различных OLAP-клиентов, представленных на рынке.

Варианты архитектур OLAP-клиентов

Клиент MOLAP-сервера


Рис. 1 Клиент MOLAP-сервера

В многомерной БД OLAP-сервера хранятся выгружаемые из внешних источников данные и вычисляемые при загрузке агрегаты. Часть метаданных, а именно описания атрибутов куба, и OLAP-машина находятся на сервере. При каждой манипуляции пользователя с таблицей OLAP-клиент формирует запрос к OLAP-серверу на его языке, например MDX, и отображает получаемые данные. Каждая OLAP-операция порождает новый запрос к OLAP-серверу. Управление правами доступа к данным осуществляется средствами OLAP-сервера.

Примером такого OLAP-клиента является компонента, входящая в состав MS Office - Pivot Table.

Существует также несколько реализаций подобных OLAP-клиентов от третьих фирм. Они составляют конкуренцию Microsoft Pivot Table, расширяя функциональность и уровень сервиса своих продуктов. Один из примеров - BusinessQuery - продукт компании BusinessObjects.

Достоинства таких OLAP-клиентов:

  • Простота освоения конечными пользователями.
  • Невысокая стоимость OLAP-клиента.
  • Высокая производительность системы при анализе даже больших объемов данных.
  • Невысокие требования к ресурсам персональных компьютеров.

Недостатки:

  • Необходимость освоения двух систем: OLAP-сервера и OLAP-клиента.
  • Необходимость администрирования процессов загрузки из источников данных.

Корпорация Microsoft объявила о включении подобного продукта - MS Data Analyzer, приобретенного в 2001 году вместе с израильской фирмой Max, в состав MS Office XP.

MOLAP- клиент c локальным кубом

Рис. 2 MOLAP-клиент с локальным кубом

Данные из произвольных источников могут быть перегружены в локальный многомерный файл, который располагается на файл-сервере для общего использования или на локальном диске - для персонального. Генерацию локальных кубов обеспечивают Cognos, MS Pivot Services, BusinessObjects.

Метаданные, описывающие физическую структуру куба, хранятся в нем самом, а метаданные, описывающие интерфейсы и отчеты - в репозитории OLAP-клиента (BusinessObjects), или в приложении (Cognos, MS Excel).

Таким способом создаются "специальные редакции" OLAP-системы Cognos. Например, одна часть приложения Cognos Nasdaq Special Edition - генератор кубов, находится в бирже Nasdaq, а вторая часть - аналитическая, у пользователей. Пользователи подписываются на биржевые данные, рассылаемые им в виде локальных кубов.

Достоинства:
  • Удобство многократного анализа однажды подготовленных данных (off-line анализ).
  • Как показывают тесты, эта конфигурация до определенного объема данных показывает даже более высокое быстродействие, чем OLAP-сервер.

Недостатки:

  • Необходимость очередной выгрузки для получения актуальных данных.

Клиент и ROLAP-сервер



Рис. 3 Клиент и ROLAP-сервер

ROLAP-сервер вычисляет агрегаты в on-line режиме. Клиент генерирует запросы на внутреннем языке системы к ROLAP-серверу.

ROLAP-сервер на основе метаданных собственного репозитория преобразует их в SQL-запросы к реляционным источникам данных.

Примером такой реализации является система MicroStrategy. MS OLAP Server 7/Analysis Services 2000 также может быть настроен для работы в такой архитектуре.

Достоинства:
  • Трехуровневая конфигурация обеспечивает возможность обслуживания тысяч пользователей за счет масштабирования и кластеризации ROLAP-сервера.
  • Требования к мощности рабочих станций минимальны.
  • В отличие от OLAP-сервера вычисления выполняются "на лету", что устраняет необходимость процедуры перезагрузки данных из реляционных БД в многомерные кубы, дополнительных дисковых массивов.

Недостатки:

  • Необходимость администрирования.
  • Неэффективное использование вычислительных возможностей современных ПК.

В MicroStrategy оригинально решена операция углубления (drill-down). При каждом запросе пользователя на детализацию отчета генерируется SQL-запрос, результат которого отображается в новом окне. Это не кажется удобным интерфейсным решением для пользователя. Но за счет того, что одновременно обрабатываются только те данные, которые отображается на экране, система обладает уникальной возможностью анализировать данные из реляционных баз неограниченного размера, вплоть до терабайтов.

OLAP-клиент с OLAP-машиной

Рис. 4 OLAP-клиент с OLAP-машиной и центральным репозиторием метаданных

OLAP-клиент со встроенной OLAP-машиной не хранит данных на диске, а в момент запроса загружает их в оперативную память и выполняет вычисления на машине пользователя. Источниками данных могут быть РСУБД, локальные таблицы, ERP-системы.

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

Построить такую архитектуру позволяет система BusinessObjects. Единый репозиторий метаданных позволяет всем пользователям применять однажды настроенные отчеты. Администратор получает инструмент для разграничения прав пользователей на бизнес-объекты и отчеты.

При прогнозировании производительности системы следует учитывать важную особенность работы OLAP-клиента в клиент-серверной архитектуре с РСУБД. OLAP-клиент выполняет анализ запросов пользователей и генерирует SQL-запрос к СУБД, в котором описывается подходящий алгоритм предварительной группировки. Группирует сервер, а клиенту возвращается компактная выборка для дальнейших OLAP-вычислений. Эта выборка может быть сжата в десятки и сотни раз по сравнению с первичными данными. Таким образом, возможности OLAP-клиента также очень сильно зависят от мощности сервера БД. При достаточно быстром сервере и реальных данных, в которых, как правило, существуют неуникальные записи, OLAP-клиент сможет обрабатывать десятки, или даже сотни миллионов первичных не агрегированных записей.

Достоинства:

  • Клиент-серверная архитектура выполняет распределенные вычисления, что позволяет обрабатывать большие объемы исходных данных БД.
  • Полное использование мощности ПК пользователей.
  • Не требуется администрирования дополнительной многомерной БД или ROLAP-сервера.

Недостатки:

  • Ограничения на объем данных и скорость их обработки, зависящие от мощности ПК пользователя



Рис. 5 OLAP-клиент с OLAP-машиной и множеством репозиториев метаданных в виде файлов

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

Достоинство этого способа состоит в отчуждаемости репозитория. Его можно просто скопировать, послать по почте в филиалы. Кроме того, он не требует обслуживания. Такая архитектура обеспечивает необычайную гибкость при решении прикладных задач. Этот OLAP-клиент может работать как DOLAP, если данные находятся на локальном ПК, как файл-серверное приложение, если файлы баз данных лежат на сетевом диске, как мощное многопользовательское клиент-серверное приложение, если данные предоставляет сервер РСУБД.

Применение OLAP-клиентов

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

Рассмотрим решение с помощью OLAP-клиентов типовых бизнес-задач:
  1. Создание аналитической инфраструктуры предприятия силами предприятия или внедренческой фирмы.
  2. Создание тиражируемого аналитического приложения для популярной OLTP-системы силами независимого разработчика.
  3. Создание Хранилища данных, или высокоуровневого инструмента для построения Хранилищ данных.
  4. Создание интегрированного аналитического модуля для OLTP-системы разработчиком этой системы.

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



Рис. 6 OLAP-клиент с Хранилищем данных

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



Рис. 7 OLAP-клиент, подключенный к БД транзакционной системы

Транзакционные системы, от больших западных ERP-систем, до компактных российских "бухгалтерий", наилучшим образом выполняют свои основные функции - автоматизацию учета и выпуск регламентированных отчетов, но не маркетинговый или финансовый анализ. Однако все данные для такого анализа они, зачастую, имеют.

При помощи OLAP-клиента эти данные можно получать в on-line, непосредственно из БД OLTP-системы. Для этого структура БД должна быть прозрачной, а мощность сервера СУБД достаточной для одновременного выполнения "длинных" аналитических запросов и "коротких" транзакций операционистов.

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

Витрины данных

Рис. 8 Витрина данных OLTP-системы, созданная для анализа

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

В этом случае аналитическое приложение для тиражной OLTP-системы состоит из трех элементов - программы выгрузки данных (она может быть разработана на языке программирования, встроенном в OLTP-систему), витрины данных, OLAP-клиента, настроенного на витрину данных.

Это решение также может поставляться как самостоятельное приложение. Так, с помощью Контур Стандарт компания Intersoft Lab разработала аналитическое приложение для системы "1С:Торговля и Склад". С помощью OLAP-технологии пользователи получили принципиально новые возможности работы с отчетами системы 1С. Кроме того, для всестороннего анализа торгово-закупочной деятельности состав отчетов существенно расширен.

Итак, мы рассмотрели вопросы технической реализации OLAP-клиентов:
  1. определили базовую составляющую OLAP-продуктов - OLAP-компоненту;
  2. классифицировали OLAP-клиентов по архитектурной реализации, рассмотрев преимущества и недостатки каждой их них;
  3. рассмотрели задачи, решаемые с помощью OLAP-клиентов.

Обзор архитектурных решений OLAP-клиентов поможет ИТ-специалистам лучше ориентироваться на рынке средств динамического анализа данных. А примеры решаемых ими задач могут помочь определить место OLAP-технологии в информационно-аналитических системах.