Демократизация OLAP
Вплоть до недавнего времени технология OLAP - Online Analytical Processing, оперативный анализ данных (на основе многомерной модели данных) была недоступна широким массам пользователей. OLAP-системы, разрабатываемые для среды клиент - сервер, как правило, состояли, с одной стороны, из OLAP-серверов, реализующих хранение [в этом случае говорят о MOLAP (т. е. Multidimensional OLAP) серверах] и обработку многомерных массивов данных с использованием так называемой OLAP-машины (т. е. многомерной машины), а с другой - из OLAP-клиентов, которые позволяют пользователям выполнять нужный им анализ на основе результатов запросов к OLAP-серверу. Стоимость одного рабочего места OLAP-системы измерялась тысячами, а то и десятками тысяч долларов. Только крупные западные корпорации могли позволить себе такие расходы.
Классификация OLAP-продуктов
Однако в последнее время ситуация изменилась: в области OLAP-технологии происходит технологический перелом. Во-первых, OLAP-серверы интегрируются в основные реляционные клиент-серверные СУБД, становясь их бесплатными или почти бесплатными дополнениями. Примером могут служить последние версии СУБД корпораций Microsoft и IBM, а также намеченная к выпуску в 2001 г. СУБД Oracle 9i. Во-вторых, производительность и объем ОЗУ ПК увеличились настолько, что теперь уже стала возможной обработка на них достаточно больших многомерных массивов, т. е. реализация OLAP-машины на ПК пользователя. Быстрое развитие рынка OLAP-клиентов со встроенной OLAP-машиной позволило эффективно реализовать ROLAP (Relational OLAP) - обработку многомерных массивов данных, хранимых в реляционных БД (схемы “звезда” и “снежинка”). В этом случае OLAP-серверы вообще не нужны. В результате стоимость OLAP-систем снизилась до сотен или даже десятков долларов на одно рабочее место. Уменьшился и “вступительный взнос”: купив одну лицензию на OLAP-клиента, можно практически избежать последующих затрат. Это делает OLAP-системы, а точнее, OLAP-приложения доступными огромным массам “белых воротничков” как на Западе, так и в России. Вероятно, что в ближайшие год-два OLAP-системы превратятся в столь же естественное средство анализа данных и выпуска отчетов, каким сегодня являются электронные таблицы. И наиболее широко будут использоваться не OLAP-системы с мощными OLAP-серверами, а OLAP-клиенты со встроенной OLAP-машиной, потому что они дешевы, просты в установке, не требуют администрирования, осваиваются за считанные часы, а их мощности достаточно для решения очень многих задач.
Этот процесс уже начался на Западе. А что же происходит в России? Доля России в мировом рынке OLAP до сегодняшнего дня была незаметна (см. www.olapreport.com/Market.htm#size).
Объемы мирового рынка OLAP *
* по оценке журнала OLAP Report
Причин тому несколько, и все они уже уходят в прошлое. Это ценовой барьер, отсутствие у российского бизнеса потребности в анализе, а следовательно, и спроса на аналитические программные продукты, отсутствие отечественных системных разработок и недостаточное предложение готовых прикладных решений в области OLAP.
Сейчас ситуация меняется. У российского бизнеса спрос на аналитику заметно вырос, что, очевидно, вызвано ростом экономики и завершением этапа первичной автоматизации; снизился и ценовой барьер. Поэтому мировые тенденции в области информационных технологий Россию наверняка не минуют.
Для того чтобы понять, какое место отечественные разработчики могут занять в индустрии OLAP, посмотрим таблицу, где представлен фрагмент общепризнанной классификации OLAP-продуктов из журнала OLAP Report (www.olapreport.com/Architectures.htm).
Попробуем дать небольшое дополнение к этой классификации по степени готовности продукта к применению конечным пользователем:
- компоненты. Инструменты программиста для разработки OLAP-приложений (Dynamic Cube, Decision Cube, Pivot Table);
- универсальные инструменты. Программные комплексы без предопределенных объектов предметной области, которые применяются для создания OLAP-приложений путем настройки или прикладного программирования (большинство продуктов, приведенных в таблице);
- специализированные инструменты (студии). Программные комплексы с предопределенными объектами предметной области, которые применяются для создания OLAP-приложений путем настройки или прикладного программирования (SAS CFO Vision и некоторые другие);
- OLAP-приложения. Готовые решения для вертикальных рынков, требующие только установки и настройки под специфику пользователя (приложения для маркетингового анализа, риск менеджмента и т. д.).
Возможности для российских разработчиков
Разработка и продвижение OLAP-серверов требует миллионных инвестиций, а их рынок уже в ближайшее время, вероятно, будет поделен между тремя гигантами - Microsoft, Oracle и IBM. Поэтому очевидно, что для российских разработчиков этот сегмент OLAP-рынка закрыт в обозримом будущем. Зато открыты сегменты DOLAP (Desktop OLAP - в этом случае все данные для анализа хранятся на ПК пользователя), OLAP-клиентов (с OLAP-машиной и без нее), инструментов программиста - OLAP-компонентов и, конечно, OLAP-приложений. А если учесть бурный рост этого рынка в момент нынешнего технологического перелома, то такие разработки могут быть перспективными не только для продвижения в нашей стране, но и для выхода отечественных софтверных компаний на международную арену.
OLAP-компоненты
Любое конечное решение - OLAP-приложение - содержит OLAP-компонент, который является инструментом разработчика. Его средство визуализации состоит из элементов управления и элементов отображения данных - как правило, это одна таблица. Компоненты могут включать OLAP-машину, тогда они являются инструментом создания DOLAP- или OLAP-клиентов для РСУБД; в случае отсутствия OLAP-машины компоненты представляют собой инструмент генерации запросов к MOLAP-серверу и визуализации его данных. Подавляющее большинство поставщиков OLAP-продуктов, а их в мире насчитывается около 140, не продают свои компоненты. Нам известно только о трех серьезных компонентах со встроенной OLAP-машиной, которые можно купить для собственной разработки. Это Decision Cube компании Inprise в составе компиляторов Delphi и C++ Builder, Pivot Table корпорации Microsoft в составе MS Office и Dynamic Cube компании Data Dynamic, специализирующейся на создании OLAP-компонентов. Все три компонента по сравнению с готовыми продуктами многих поставщиков имеют весьма скупую функциональность, ограниченную классическими функциями OLAP: детализацией (drill down), перемещением колонок (move), поворотом - превращением колонок в строки и наоборот (rotate) и пр. Только Dynamic Cube позволяет манипулировать десятками и даже сотнями тысяч записей, возможности двух других компонентов ограничиваются 4000 записями.
OLAP-приложение “Анализ продаж компьютерного холдинга”. OLAP-клиент “Контур Стандарт”
Таким образом, российский OLAP-компонент, способный обрабатывать сотни тысяч записей и имеющий палитру встроенных аналитических функций, мог бы конкурировать с лидерами рынка. Исходя из этого предположения и имея потребность в OLAP-инструменте для собственных OLAP-приложений, компания Intersoft Lab разработала OLAP-компонент Contour Cube.
Contour Cube включает OLAP-машину, интерфейс доступа к данным, хранящимся в реляционных БД и других источниках, и визуальную часть. По “готовности к применению” это инструмент программиста (ActiveX, VCL, DHTML). Его основными достоинствами являются обработка больших объемов данных, минимальные требования к памяти, расширенная (в сравнении с другими доступными компонентами) функциональность. Тесты на ПК с процессором Intel Celeron 400 и оперативной памятью 64 Мб дали следующие результаты. Загрузка 60 000 записей с шестью измерениями занимает 5 секунд; дальнейшие манипуляции, такие, как полный поворот таблицы, детализация (drill down) и обобщение (drill up), выполняются за десятые доли секунды. Загрузка 500 000 записей с семью измерениями длится около 30 секунд, поворот такого куба выполняется в среднем за 2,5 секунды. Это лучшие по порядку величины результаты в ряду известных нам OLAP-компонентов. Так, Decision Cube и Pivot Table (без использования OLAP Services) для загрузки и поворота таблицы объемом в 4000 записей с шестью измерениями требуют десятков секунд. Скорость работы Dynamic Cube по сравнению с Contour Cube в среднем на 30% ниже при средних объемах данных и в несколько раз - при предельных. В момент работы с данными наш компонент занимает наименьший по сравнению с “одноклассниками” объем оперативной памяти. Так, например, для загрузки 40 000 записей в Contour Cube необходимо 7 Мб, а в Decision Cube - 15 Мб. Тесты проводились на данных, хранящихся в таблице СУБД Paradox. При получении данных из РСУБД скорость загрузки увеличивается, а остальные скоростные характеристики не меняются. В компонент встроен широкий спектр дополнительных аналитических функций, наиболее полезные из них вынесены на специальную инструментальную панель.
OLAP-клиенты
OLAP-клиенты со встроенной OLAP-машиной устанавливаются на ПК пользователей. Они не требуют сервера для вычислений, и им присуще “нулевое администрирование”. Такие клиенты позволяют пользователю настроиться на существующие у него базы данных; как правило, при этом создается словарь, скрывающий физическую структуру данных за ее предметным описанием, понятным специалисту. После этого OLAP-клиент выполняет произвольные запросы и результаты их отображает в OLAP-таблице. В этой таблице, в свою очередь, пользователь может манипулировать данными и получать на экране или на бумаге сотни различных отчетов. OLAP-клиенты, предназначенные для работы с РСУБД, позволяют анализировать уже имеющиеся в корпорации данные, например хранящиеся в БД OLTP. Однако вторым их назначением может быть быстрое и дешевое создание хранилищ или витрин данных - в этом случае программистам организации нужно лишь создать совокупности таблиц типа “звезда” в реляционных БД и процедуры загрузки данных. Наиболее трудоемкая часть работы - написание интерфейсов с многочисленными вариантами пользовательских запросов и отчетов - реализуется в OLAP-клиенте буквально за несколько часов. Конечному же пользователю для освоения такой программы требуется порядка 30 минут. OLAP-клиенты поставляются самими разработчиками баз данных, как многомерных, так и реляционных. Это SAS Corporate Reporter, являющийся почти эталонным по удобству и красоте продуктом, Oracle Discoverer, комплекс программ MS Pivot Services и Pivot Table и др. Многие программы, предназначенные для работы с MS OLAP Services, поставляются в рамках кампании “OLAP в массы”, которую проводит корпорация Microsoft. Как правило, они являются улучшенными вариантами Pivot Table и рассчитаны на использование в MS Office или Web-браузере. Это продукты фирм Matryx, Knosys и т. д., благодаря простоте, дешевизне и эффективности приобретшие огромную популярность на Западе. Не только мелкие и средние компании, но и большие корпорации строят свои хранилища с распределенным доступом на основе таких программ. Их перспективность для российского рынка очевидна, поэтому компания Intersoft Lab создала собственный продукт этого класса - “Контур Стандарт”.
“Контур Стандарт” по “готовности к применению” - это универсальный инструмент для создания OLAP-приложений. С помощью его средств можно организовать прямой доступ к локальным файлам (dbf, paradox) и к произвольным РСУБД на уровне таблиц и, что не встречается в зарубежных аналогах, хранимых процедур. “Контур Стандарт 3.0” содержит OLAP-компонент Contour Cube со встроенной клиентской многомерной машиной, которая позволяет обрабатывать выборки данных до миллиона записей. В классификаторе журнала OLAP Report система “Контур Стандарт” могла бы находиться в клетке 3. В настоящее время ведутся работы по созданию интерфейсов к многомерным СУБД, таким, как MS OLAP Services (клетка 5), и по хранению вычисленных кубов в клиентских файлах (клетка 6). Программа предлагается в двух редакциях. Редакция Developer позволяет ИТ-специалисту описать источники данных и выборки. При этом создаются семантические словари, которые скрывают от конечного пользователя физический слой и позволяют работать с данными в терминах предметной области. Совокупность настроек - “приложение” - может распространяться как отдельный ресурс. Редакция Run-Time выполняет “приложения”, позволяя анализировать данные. Эта архитектура была реализована для того, чтобы обеспечить возможность применения системы независимым разработчикам. Например, они могут настроить ее на базы данных своего формата и форматов таких популярных продуктов, как “1C”, “БЭСТ” и др. Таким образом, система может внести свой скромный вклад в формирование рынка OLAP-приложений для отечественных потребителей. Понимая, что спрос на продукты этого класса в России только начал формироваться, компания приняла решение о назначении невысокой цены на редакцию Developer и бесплатном распространении редакции Run-Time.
Владимир Некрасов - технический директор компании Intersoft Lab (www.iso.ru).