Средства добычи знаний в бизнесе и финансах. OLAP-системы

Истоки сегодняшних продуктов OLAP


Идея обработки многомерных данных не является новой. Фактически она восходит к 1962 году, когда Кен Айверсон опубликовал свою книгу "Язык программирования" ("A Programming Language" - APL). Первая практическая реализация APL была осуществлена в конце шестидесятых компанией IBM. APL - это математически определённый язык с многомерными переменными и изящными, хотя и довольно абстрактными операторами. Он предназначался больше для описания многомерных преобразований, нежели для использования в качестве практического языка программирования. Так, например, в нем не уделялось внимания таким приземленным вопросам, как работа с файлами или вывод на печать. В очень сжатой нотации языка использовались греческие символы. В действительности, тексты программ получались весьма компактными. Он стал известен, как "язык только для написания", потому что было гораздо легче переписать заново программу, нежели исправить ранее сохраненный текст.

К сожалению этот язык был придуман задолго до появления экранов с графическим интерфейсом и лазерных принтеров, а отображение греческих символов требовало специальных экранов, клавиатур и печатающих устройств. Позднее английские слова иногда использовали для замены греческих операторов, однако борцы за чистоту APL пресекли попытки популяризации их элитарного языка. APL поглощал машинные ресурсы и требовал больших затрат. Программы очень медленно выполнялись и обходились очень дорого. APL пожирал оперативную память, требуя шокирующие объемы (порядка 6 МБ), что сегодня звучит смехотворно.

Однако несмотря на неудачное начало, APL не был выброшен. Он использовался во многих деловых приложениях 70-х, 80-х годов, которые функционально подобны сегодняшним OLAP системам.  Так, IBM разработала операционную систему для APL, названную VSPC, и некоторые люди считали ее идеальной средой для персонального использования задолго до появления электронных таблиц.

Но APL был слишком сложен в использовании, тем более что каждый раз появлялись несоответствия между самим языком и оборудованием, на котором делались попытки его реализации.


В 80- х годах APL стал доступен на персональных машинах, но не нашел рыночного применения. Альтернативой было программирование многомерных приложений с использованием массивов в других языках. Это было очень тяжелой задачей даже для профессиональных программистов, так что конечным пользователям оставалось ждать следующего поколения многомерных программных продуктов.

В 1970 году впервые появился прикладной многомерный программный продукт, в отличие от других, использовавшихся в учебных целях: Express. Он в полностью переписанном виде широко используется в современных OLAP приложениях, однако оригинальные концепции 70-х годов остались далеко позади. Сегодня, в конце 90-х  Express остается одной из наиболее популярных OLAP-технологий, и компании Oracle удается поддерживать его на уровне современных требований наряду со многими новыми продуктами с архитектурой "клиент-сервер".

Больше многомерных продуктов появилось в 80-х годах. В начале десятилетия появился Stratagem, в новом обличии - Acumate (сегодня владельцем является Lucent), который продвигался на рынке до середины 90-х, но сегодня, в отличие от Express, используется очень ограниченно.

Comshare System W был многомерным продуктом другого стиля. Представленный в 1981 году, он первым использовал идею гиперкуба и был в большей степени ориентирован на конечного пользователя в разработке финансовых приложений. Он привнёс много концепций, которые, правда, еще не были хорошо проработаны, типа непроцедурных правил, полноэкранного просмотра многомерных данных,  редактирования данных, автоматическое перевычисление и интеграция с реляционными данными (в пакетном режиме). Однако Comshare System W был достаточно тяжел для аппаратного обеспечения того времени и менее программируемым по сравнению с другими продуктами и, соответственно, был менее популярен в среде профессионалов ИТ. Он также пока используется, но продается всё меньше, поскольку не имел тех улучшений, которые ожидались. Хотя он и сегодня доступен на UNIX, он не является клиент-серверным продуктом, что не способствует его продвижению на рынке OLAP предложений.


В конце 80-х Comshare выпустил в среде DOS, а позднее для Windows, продукт под названием Commander Prism. Он использовал те же концепции, что были заложены в System W. Essbase, продукт компании Hyperion Solution, хотя и не является прямым потомком System W, был очевидно под влиянием его решений со своей ориентацией на финансовые приложения и организацией гиперкуба с полными предварительными вычислениями. По иронии судьбы Comshare в последствии приобрела лицензии Essbase,  для использования в качестве основы для своих собственных современных OLAP продуктов.

Другим новаторским продуктом в начале 80-х был Metaphor. Он предназначался для профессиональных маркетологов. Он также предложил много новых концепций, которые стали популярными только в 90-х годах: такие как,  клиент-серверные вычисления, многомерная обработка реляционных данных, многопользовательский режим и объектно ориентированная разработка приложений. К сожалению стандартные персональные компьютеры не обеспечивали тех характеристик, которые требовал Metaphor, и поставщики были вынуждены разрабатывать собственные персональные машины и сети. В последствии Metaphor стал работать удачно и на серийных персональных машинах, однако он никогда не использовал стандартный графический интерфейс пользователя (GUI).



В последствии Metaphor заключил маркетинговый альянс с компанией IBM, которой впоследствии и был поглощён. В середине 1994 года IBM решила интегрировать технологию Metaphor (переименованную в DIS) со своими будущими технологиями и расформировать дочернюю компанию, хотя заказчики протестовали и требовали продолжить поддержку продукта. Поддержка была продолжена для оставшихся заказчиков. IBM перевыпустила продукт под новым названием IDS, но это не способствовало его продвижению. Однако творческие, новаторские концепции Metaphor не были забыты, например в продуктах  Information Advantage, Brio, Sagent, DSS Suite и Gentia их влияние очевидно.

В середине 80-х родился термин EIS (Executive Information System - информационная система руководителя).


Первым продуктом, явно выражавшим  это направление, был Command Center фирмы Pilot. Это был продукт ориентированный на  совместные вычисления, то, что сегодня мы называем архитектурой "клиент-сервер". Поскольку мощность персональных компьютеров 80-х годов была весьма ограничена, основная нагрузка падала на сервер, однако этот подход вернулся в современность в продуктах, подобным Information Advantage и Holos.. Pilot недолго продавал Command Center, но предложил много концепций, которые можно узнать в сегодняшних OLAP-продуктах, включая автоматическую поддержку временных промежутков, многомерные клиент-серверные вычисления и упрощённые манипуляции (посредством использования мыши и  чувствительных экранов). Некоторые из этих концепций были повторно применены позднее в Pilot Analysis Server, который сегодня также закончил свое существование.

В конце 80-х среди инструментов конечного пользователя для анализа данных стали доминировать электронные таблицы.  Первая многомерная электронная таблица появилась в виде Compete. Он продвигался на рынок как очень дорогой продукт для специалистов, но поставщики не обеспечили возможность захвата рынка этим продуктом, и компания Computer Associates приобрела права на него вместе с другими продуктами класса spreadsheet (электронных таблиц), включая Supercalc и 20/20. Основным эффектом от приобретения  Compete компанией CA было резкое снижение цены  и снятие защиты от копирования, что, естественно, способствовало его распространению. Однако он еще не был удачным. В течение нескольких лет Compete еще изредка можно было встретить в виде нагрузки в некоторых комплектах поставки. Позднее Compete был положен в основу SuperСalc 5, но многомерный аспект его не продвигался.

Компания Lotus была следующей, кто попытался войти на рынок многомерных электронных таблиц с продуктом Improv, который запускался на NeXT машине. Это гарантировало, что продажи 1-2-3 не снизятся, но когда тот со временем был выпущен под Windows, Excel уже стал настолько серьезным конкурентом, что продажи Improve не внесли заметных изменений в распределении рынка.


Lotus, подобно CA с Compete, скинула цену на Improv, однако и этого оказалось недостаточно для продвижения на рынке, и новые разработки в этой области не получили продолжения. Оказалось, что пользователи персональных компьютеров предпочитают электронные таблицы в оригинальной версии 1-2-3 и не интересуются новыми многомерными возможностями, если они не полностью совместимы с их старыми таблицами. Точно так же концепция небольших многомерных  настольных электронных таблиц, предлагаемых в качестве продуктивного инструмента для персональных приложений, в действительности не оказались удобными и не прижились в реальной практике. Компания Microsoft  пошла по этому пути, добавив PivotTables  к Excel. Хотя немногие пользователи Excel получили выгоду от использования этой возможности, это, вероятно, единственный факт широкого использования возможностей многомерного анализа просто потому, что в мире очень много пользователей Excel.

Excel 2000 содежит более изощренную версию PivotTables, предназначенную для использования и в качестве настольного инструмента OLAP и как клиентской части для взаимодействия с Microsoft OLAP Services. Однако возможности OLAP в Excel 2000 не являются базовыми, ведущими, они скорее встроены как дополнительная, второстепенная возможность.

В конце 80-х фирма Sinper вошла в мир многомерных электронных таблиц первоначально с собственной электронной таблицей для DOS, а затем подсоединенной к версии 1-2-3 для DOS. Превращенный в продукт TM/1, он вошел в эру Windows как сервер баз данных в формате Excel и 1-2-3. Чуть позже Arbor сделал аналогичную вещь, хотя его новый Essbase мог работать только в режиме клиент-сервер, тогда как продукт фирмы Sinper мог так же работать на локальном компьютере. Этот подход принес мультиразмерность в электронные таблицы, которые являются столь популярными среди пользователей. Так или иначе, факт остается фактом, традиционные поставщики собственных инструментов представления данных конечному пользователю последовали по этому пути, и такие продукты, как  DSS Server, Express, Holos, Gentia, MineShare, PowerPlay, MetaCube и WhiteLight теперь с гордостью предлагают высоко интегрированный доступ к электронным таблицам в своих серверах приложений.


По иронии судьбы за свои первые шесть месяцев существования Microsoft OLAP Services был одним из нескольких OLAP серверов, не имеющих клиентской части в виде электронной таблицы. Предложения компании Microsoft появились только в июне 1999 года в Excel 2000. Однако OLAP@Work встраиваемый в Excel заполнил этот пробел, и пока еще имеет гораздо лучшие эксплуатационые характеристики, чем собственный интерфейс Excel компании Microsoft.

Некоторые пользователи требуют для своих многомерных приложений возможности обработки очень больших многомерных баз данных. И реляционные OLAP-инструменты развиваются в этом направлении, отзываясь на эти нужды. Они предоставляют обычные средства просмотра многомерных данных, а иногда включают интерфейс конечного пользователя в виде электронной таблицы, даже если все данные хранятся в RDBMS (реляционных СУБД). Такие средства являются очень дорогими для пользователя, они менее производительны, чем специализированные инструменты многомерного анализа, но они обеспечивают эту, столь популярную форму анализа данных, даже если последние хранятся не в виде многомерных структур.

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

Сегодня поставщики реляционных баз данных активно занимаются многомерным анализом: Oracle, IBM, Microsoft, Informix и Sybase - все разрабатывают и выбраcывают на рынок продукты в этой области. Забавно, что компании, упорно игнорировавшие мультиразмерность многие годы, это - Oracle, Microsoft и IBM вскоре могут стать "триадой OLAP" с большой долей рынка OLAP, основываясь на продаже многомерных продуктов, которые были изобретены не ими.



Итак, что мы имеем за 35-летнюю историю?

  • Мультиразмерность стала реальностью. Даже тяжелые в эксплуатации, дорогие, медленные и специфические многомерные продукты находят свое место под солнцем, а когда подобные ограничения снимаются - полный успех (бум!). Мы наблюдаем весьма значительный рост многомерных приложений.
  • Конечные пользователи не бросают свои обычные электронные таблицы. Даже при наличии доступа к многомерным базам данных электронные таблицы остаются наиболее популярной клиентской платформой. Многомерные электронные таблицы не достигают успеха, пока они не обеспечат полной совместимости с традиционными spreadsheets. 
  • Многие люди находят привлекательным использование многомерных приложений, но разрабатывают и эксплуатируют их в ограниченных масштабах - их останавливает то, что такие продукты еще не стали массовыми на рынке. Однако, используя комбинацию простоты использования и доступности цены, Microsoft кажется способен сделать OLAP серверы почти столь же широко используемыми, как и реляционные базы данных.
  • Многомерные приложения часто оказываются очень большими и более годятся для групп пользователей, чем для индивидуалов. И хотя продукты для одиночного пользователя могут быть весьма эффективными, наибольший успех достигают многопользовательские инсталляции для клиент-серверных приложений с с большими массивами данных, загруженных из других (подпитывающих) систем. И в этом случае требуется поддержка со стороны профессионалов ИТ, даже если приложение разработано конечным пользователем..


Содержание раздела