АНАЛИЗ ДАННЫХ

До недавнего времени средства анализа данных (Business Intelligence, BI) разрабатывались для классической среды клиент-сервер, на основе которой создавались информационные системы предприятий. Пользователи этих средств и круг их интересов были известны еще на этапе выбора аналитического ПО, а для обработки/анализа не таких уж больших (с позиций сегодняшнего дня) объемов информации требовалась мощная аппаратура. Обязательными и, как правило, дорогими этапами построения аналитической системы были настройка рабочих мест (клиентской части ПО анализа) пользователей и их обучение.

Но, как и во многих других областях обработки данных, ситуация в сфере анализа данных изменилась с распространением Интернета и началом использования его технологий для создания прикладных систем. Тенденция последних лет - перемещение информации и ее обработки в среду Всемирной паутины. Число потенциальных пользователей аналитических Интернет-приложений (или Интернет-сервисов) теперь можно приравнять к числу посетителей Сети. При этом у них крайне разнообразные запросы к средствам анализа данных и потребности в них, но часто отсутствуют навыки работы с такими приложениями.

Новое поколение средств анализа разрабатывалось именно для этих пользователей и оптимизировано для применения в Интернете (в связи с чем говорят об Интернет-аналитике). Эти средства позволяют снабжать данными и инструментами их анализа пользователей Сети, для чего применяются особые (в сравнении с предыдущим периодом) технологии хранения многомерных данных. Теперь обязательные требования к средствам анализа - нулевое администрирование рабочего места (клиентской части ПО анализа) пользователя и легкость в освоении инструментов анализа.

К настоящему времени практически все ведущие поставщики средств анализа данных предлагают системы с тонким клиентом (Интернет-браузером), ориентированные на работу в Интернете. В некоторых из этих продуктов тонкий клиент используется для доступа к данным “традиционных” OLAP-серверов, в других же - для обработки многомерных кубов, размещенных на Web-сайтах (раньше такого не было).

В центре внимания этой статьи - один из подходов к решению задачи анализа данных в среде Интернета на основе локальных многомерных (MOLAP) кубов (далее - локальные кубы, или микрокубы). В качестве примеров применения этой технологии рассматриваются два проекта: решение Nasdaq & Amex Companies Edition, реализованное для американской торговой площадки Nasdaq Amex Market Group, и аналитический Интернет-сервис для российских коммерческих банков Banklist.ru (www.banklist.ru).

Архитектуры применения локальных кубов для анализа данных в Интернете

Локальный куб - это локальная многомерная база данных (размещается в одном файле). При создании такого куба в него загружаются “плоские” данные из реляционной базы данных OLTP-системы или хранилища данных. Генерацию локальных кубов обеспечивают продукты фирм Cognos (Cognos PowerPlay), Microsoft (MS Pivot Services), Business Objects (BusinessObjects и WebIntelligence), Intersoft Lab (“Контур CubeDesigner” и “Контур CubeMaker”).

Метаданные, описывающие физическую структуру куба, хранятся в нем самом. Метаданные с описанием аналитических интерфейсов и отчетов могут располагаться в самом кубе (Intersoft Lab) либо храниться в выделенном репозитории (Business Objects) или в приложении (Microsoft, Cognos).

Для анализа локальных кубов используются системы класса OLAP-клиент *1.

_____

*1. Подробнее обзор архитектур OLAP-клиентов на примере известных российских и зарубежных продуктов см.: Некрасов В. Архитектуры OLAP-клиентов. PC Week/RE, № 30/ 2001; www.pcweek.ru/Year2001/N30/CP1251/CorporationSystems/chapt1.htm.

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

- настольная (Desktop) архитектура. В этом случае все три составляющие размещаются на локальном диске ПК пользователя;

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

- распределенная архитектура. Куб и репозиторий метаданных размещены на Web-сайте, а OLAP-клиенты пользователей обращаются к кубу по http-протоколу. Куб можно также скачать с сайта или переслать по электронной почте и поместить на локальный или сетевой (файл-сервер) диск.

Первые два варианта архитектуры ориентированы на создание аналитических решений в пределах предприятия. Для работы через Интернет решение с локальными кубами должно быть построено с применением распределенной архитектуры.

Системы класса OLAP-клиент обрабатывают многомерные данные в оперативной памяти ПК. При использовании OLAP-клиента в распределенной архитектуре необходимо передавать огромные объемы исходной информации на пользовательский ПК по http-протоколу или электронной почте. Для этого можно либо ограничивать размеры пересылаемых файлов, либо задействовать специальные структуры хранения данных в локальных кубах, оптимизированные для передачи по Интернету. В последнем случае при загрузке в куб исходная информация многократно сжимается. Такая архитектура локальных кубов применяется, например, для создания микрокубов аналитической платформы “Контур”, которую разрабатывает российская компания Intersoft Lab (www.iso.ru).

Объем данных, помещенных в микрокуб этой платформы, сжимается примерно в 40 раз. Эффект достигается за счет нетрадиционных для OLAP подходов к хранению данных. Во-первых, в микрокубах не размещаются предварительно подсчитанные агрегаты. Они заменяются специальными механизмами индексирования, которые позволяют вычислять агрегаты “на лету”. Во-вторых, значения всех измерений хранятся в микрокубах в единственных экземплярах. Наконец, все их содержимое архивируется.

Два примера технологических решений на базе микрокубов

Одним из самых известных примеров реализации технологий анализа данных в Интернете является проект ведущего американского производителя средств анализа компании Cognos для технологической биржи Nasdaq. Российский аналог этого решения - сервисный аналитический центр для коммерческих банков Banklist.ru, использующий ПО компании Intersoft Lab.

Решение Nasdaq & Amex Companies Edition предоставляет аналитический сервис участникам биржи Nasdaq. Подписчики Nasdaq регулярно по электронной почте получают локальные кубы с биржевыми данными. В этих кубах в разрезе индекса Nasdaq, рыночной стоимости компаний, годовых доходов и других измерений хранятся показатели ликвидности, долга, прибыли и иные данные о деятельности свыше 5000 компаний из списка Nasdaq и Amex, акции которых являются предметом биржевого торга.

Пример OLAP-отчета в Cognos PowerPlay Special Edition

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

Цель проекта Banklist.ru - обеспечить российским банкам, предприятиям и другим заинтересованным лицам и организациям быстрый доступ к достоверной финансовой отчетности коммерческих банков и возможность ее анализа. Это необходимо для повышения доверия к российским банкам как со стороны их клиентов, так и со стороны действующих и потенциальных партнеров. Проект создан по инициативе Ассоциации российских банков и реализован под патронатом ЦБ РФ. Готовое решение организовано как Web-сайт, база данных которого содержит микрокубы аналитической платформы “Контур”. В этих микрокубах хранится финансовая информация: балансы (форма 101), отчеты о прибылях и убытках (форма 102) и расчет обязательных экономических нормативов деятельности кредитных организаций (форма 135). Измерениями кубов являются регионы, банки, балансовые счета 1-го и 2-го порядка, статьи доходов и расходов, банковские нормативы, а показателями - развернутые остатки по счетам, суммы доходов, расходов и нормативов. Достоверная отчетность 733 российских банков поступает с официального сайта ЦБ РФ.

Микрокубы создаются генератором “Контур CubeMaker”. Подписчикам сервиса Banklist.ru предоставляется аналитическая составляющая - OLAP-клиент “Контур OLAPBrowser”. Это специальный Web-браузер для OLAP-анализа, который обеспечивает доступ к микрокубам через Интернет и в локальной сети, просмотр и анализ данных OLAP-кубов, выпуск отчетов. С его помощью можно найти и открыть для анализа любой микрокуб непосредственно с Web-сайта или с диска пользовательского ПК.

Пример OLAP-отчета в “Контур OLAPBrowser”

Оба рассмотренных решения относятся к классу OLAP-клиентов с локальным кубом, т. е. обеспечивают отложенный (off-line) анализ однажды подготовленных файлов c данными на ПК пользователя. Кубы для анализа могут храниться на Web-сайте (вариант Banklist.ru) либо на ПК пользователя, как в решении для Nasdaq, если микрокуб уже скачали с www.banklist.ru.

Принципиальное отличие в технологической реализации этих проектов - размещение метаданных. В случае Nasdaq пользователи получают персональную OLAP-систему, жестко сконфигурированную для работы с PowerCube Nasdaq. Метаданные хранятся в файлах OLAP-отчетов, настроенных на кубы Nasdaq. Отчеты устанавливаются вместе со специальной запускающей программой Cognos Special Edition Launcher и OLAP-клиентом Cognos PowerPlay Special Edition. Это так называемый “специальный выпуск” продуктов Cognos, разработанный для проекта Nasdaq. Предустановленная конфигурация рабочего места пользователя системы анализа биржевых данных Nasdaq является существенным плюсом этого подхода.

“Контур”-микрокуб содержит метаданные (описание измерений и показателей, механизма агрегации и сортировки данных, аналитических интерфейсов и т. д.) в самом себе. Такой подход универсален: изменение состава и данных микрокубов не требует обновления клиентского ПО. Один и тот же OLAP-клиент может применяться для анализа OLAP-кубов различных прикладных сервисов. Это создает предпосылки для тиражирования технологии в различных отраслях и снижает стоимость владения ею для пользователей.