OLAP – это не отдельно взятый программный продукт, не язык программирования и даже не конкретная технология. Если постараться охватить OLAP во всех его проявлениях, то это совокупность концепций, принципов и требований, которые лежат в основе программных продуктов, облегчающих аналитикам доступ к данным.
Каждая OLAP-система базируется на так называемых OLAP-кубах. Упрощенно куб можно представить в виде таблиц, соединенных по схеме «звезда» или «снежинка». В центре схемы находится таблица фактов, содержащая ключевые показатели анализируемых данных. Остальные таблицы содержат измерения куба и присоединяются к таблице фактов напрямую (схема «звезда») или через другие измерения (схема «снежинка»).
Наиболее часто OLAP применяют для:
- анализа данных.Это задача, для которой OLAP-средства использовались изначально. Отметим, что она до сих пор остается самой актуальной. Многомерная модель данных, возможность анализировать значительные объёмы информации и быстрый отклик на запросы делают подобные системы незаменимыми для анализа продаж, маркетинговых мероприятий, дистрибуции и других задач с большим объёмом исходных данных;
- финансового планирования/ бюджетирования.Многомерная модель позволяет одновременно вводить данные и легко анализировать их (ярчайший пример – проведение план-факт анализа). Поэтому ряд современных продуктов класса EPM (Enterprise Performance Management) используют OLAP-модели. Еще одна востребованная функция – многомерный обратный расчёт (back-solve, breakback, writeback), который позволяет рассчитать требуемые изменения детальных ячеек при изменении агрегированного значения. Таким образом, OLAP является полноценным инструментом для анализа «что если» (What if), т.е. для проигрывания различных вариантов событий при планировании;
- финансовой консолидации. Консолидация данных, учитывая варианты с разными долями владения, различными валютами и внутренними оборотами, представляется не менее актуальной задачей. А если еще принять во внимание ужесточающиеся требования проверяющих органов (SOX, Basel II) и выход множества компаний на IPO... Одним словом, OLAP-технологии позволяют ускорить подготовку консолидированных отчётов и повысить прозрачность всего процесса.
Рис. 2. Логическая архитектура BSO
Если попытаться решить указанные задачи на реляционной схеме данных, отличающейся высокой нормализацией таблиц, мы столкнемся с проблемой низкой производительности и необходимостью «программирования» каждого необходимого нам отчета. При использовании OLAP для тех же задач мы получим решение, позволяющее самостоятельно анализировать всевозможные срезы данных, а также обеспечивающее высокую скорость вывода результатов.
Essbase – воплощение принципов OLAP
Одним из технических воплощений концепций и принципов OLAP является система управления многомерными базами данных Essbase. Свою историю Essbase начинает с 1992 года, когда компания Arbor Software запатентовала метод и вычислительный аппарат хранения и получения многомерных данных на компьютере.
Первая версия Essbase базировалась на блочном хранении многомерной информации – BSO (Block Storage Option). Опция блочного хранения ориентирована на «уплотнённое хранение» данных, перезапись в куб, в том числе на уровне агрегатов, и ускоренный перерасчёт результатов. Наиболее широкое использование BSO получило в приложениях финансового планирования, в которых требуется интерактивный многокритериальный подбор параметров по фиксированным формулам.
В 2003 году для удовлетворения потребности в построении витрин данных с большим количеством измерений компания Hyperion, купившая Arbor Software в 1998 году, представила альтернативный способ хранения многомерной информации. Им стало агрегатное хранение данных (ASO, Aggregate Storage Option). Если в BSO используется «плотное» хранение, то ASO оптимально для разреженного хранения. Кроме того, отличие ASO от BSO заключается в возможности построения множественных иерархий для одного измерения, динамических иерархий и получения срезов данных.
Рис. 3. Логическая архитектура ASO
Таким образом, одной из характерных особенностей ASO является более эффективное хранение: агрегатные данные занимают существенно меньше дискового пространства. При этом по сравнению с блочными витринами существенно ограничены функциональные возможности: в ASO не поддерживается обратная запись на уровне агрегатов (можно перезаписывать только ячейки нулевого уровня). Не поддерживаются и сценарии вычислений, а лишь вычисления, представленные одной формулой.
В 2007 году компания Hyperion была поглощена корпорацией Oracle, и вскоре Essbase стал базовым компонентом линейки продуктов Oracle Business Intelligence Foundation, нацеленных на построение развитых аналитических систем. Кроме Essbase, линейка включает в себя программный продукт Oracle Business Intelligence, предоставляющий конечному пользователю удобный инструмент построения ad-hoc запросов.
Essbase в деле
Оценить возможности Essbase можно на примерах из нашей практики. Не так давно один из крупных российских банков столкнулся с проблемой построения отчетов на основе данных из системы управления рисками. Имеющиеся у него системы не могли обеспечить необходимую гибкость, производительность и детализацию данных. В результате снижалась эффективность анализа данных, повышались затраты на поддержку существующей системы отчетности, и, главное, время ожидания результата достигало таких величин, что полученная информация уже теряла актуальность.
Для решения проблемы была необходима гибкая система аналитической отчетности на базе OLAP-технологий, которая позволила бы заменить огромное число фиксированных отчетов на единую бизнес-модель. Использование бизнес-модели для построения отчетности позволило бы пользователям не зависеть от разработчиков, самостоятельно выполнять запросы любой сложности и получать более функциональные отчеты.
В качестве платформы хранения данных аналитической системы был выбран Essbase в режиме ASO. Он стал основой для реализации бизнес-модели. Oracle BI был выбран как инструмент построения отчетности, позволяющий пользователям выполнять логические запросы к бизнес-модели, а также самостоятельно настраивать любые форматы отчетов и взаимосвязи между ними.
В результате значительно повысилась скорость работы всех запросов при обращении к OLAP-кубам. Решение обеспечило практически не ограниченные возможности для анализа как агрегированных, так и детальных данных.
Не менее показательны проекты с использованием BSO. Один из наших заказчиков ежемесячно выполнял бюджетирование по закупкам различных компонентов, необходимых для производства своей продукции. Высокий уровень детализации позволял точно определить себестоимость каждого товара, проследить динамику цен, ответить на вопросы «что если», создавать различные сценарии и, как следствие, вести анализ отклонений от плана.
Рис. 4. Логическая схема решения на основе ASO
Все бы хорошо, но для реализации описанного подхода был использован MS Excel. На практике это означало множество различных файлов с несовпадающими форматами и, как следствие, отсутствие единого подхода к расчетам стоимостей, невозможность отслеживания зависимости цены продукта от материалов, сложный процесс консолидации данных и задержки при согласовании бюджета закупок.
Блоку ИТ была поставлена задача выбрать систему, позволяющую решить все имеющиеся проблемы с условием сохранения MS Excel как инструмента, с помощью которого пользователи могли бы готовить детальные исходные данные в тех же форматах, в которых они ранее проводили расчеты по закупкам. Выбор пал на Essbase в режиме BSO, поскольку продукт мог решить поставленные задачи, при этом позволял работать с базой напрямую из MS Excel.
Рис. 5. Логическая схема решения на основе BSO
В результате была реализована система бюджетирования и анализа затрат, предназначенная для ежемесячного расчета фактических и прогнозных стоимостей по различным материалам. На основании консолидированных значений выполняется расчет отклонения от запланированного бюджета с разбивкой по конкретным статьям расходов, что позволяет оценить вклад каждой статьи затрат в полученный финансовый результат с детализацией до продукта.
Вместо заключения
Реалии современного мира таковы, что в повседневной работе мы все чаще и чаще сталкиваемся с необходимостью анализа большого объема информации. В результате использовать привычные офисные средства, такие как Excel или системы с фиксированными отчетами, становится все сложнее. Обладая полным спектром инструментов, необходимых для всестороннего анализа данных, и возможностью практически мгновенного предоставления результата, OLAP-системы в недалеком будущем станут такими же необходимыми и повсеместными, как ERP или CRM.