Essbase

05.04.2021

Essbase (акроним от англ. extended spreadsheet database — расширенная электронно-табличная база данных) — многомерная серверная система управления базами данных.

Кроме сервера многомерных баз данных поставляется с набором визуальных средств проектирования, администрирования и формирования запросов, поддерживает языки запросов MDX, MaxL, SQL. В разное время правами на продукт владели компании Arbor, Hyperion, Oracle, в период с 1998 по 2005 год по каналам корпорации IBM продукт продавался под наименованием DB2 OLAP Server как часть линейки DB2.

История

30 марта 1992 года компания Arbor Software запатентовала под наименованием Essbase метод и вычислительный аппарат хранения и получения многомерных данных на компьютере, в этом же году на основе патента создан клиент-серверный программный продукт, хранящий и обрабатывающий на серверной стороне базы данных и обеспечивающий доступ к этим данным из электронно-табличных программ Microsoft Excel и Lotus 1-2-3. Серверная часть в первой версии продукта работала только под операционной системой OS/2, в 1993 году была добавлена поддержка UNIX и Windows NT. Разработка кубов осуществлялась специализированной клиентской программой под наименованием Essbase Application Manager, работающей под управлением Windows 3.x, визуализация информации осуществлялась только двумя способами: через клиентскую программу формирования запросов Essbase query builder, и через Essbase spreadhseet client — специализированные плагины для Microsoft Excel и Lotus 1-2-3, также разработки Arbor.

В 1993 году продукт получил известность благодаря публикации Эдгара Кодда, в которой он ввёл понятие об OLAP и предложил 12 принципов аналитической обработки (по аналогии с 12 правилами для реляционных баз данных, сформулированными им же десятилетием ранее), и в качестве эталона, удовлетворяющего предложенным принципам, указал Essbase. Примечательно, что впоследствии публикация была изъята из архивов Computerworld из-за возможного конфликта интересов, так как Кодд позднее оказывал консультационные услуги для Arbor. При этом, исторически первой многомерной системой управления базами данных считается разработанная в 1970 году Express (позднее приобретённая корпорацией Oracle и преобразованное в OLAP-опцию для Oracle Database), а Essbase отмечен только как «первая коммерчески успешная OLAP-система».

В 1995 году Arbor заключила соглашение с Borland, IBM, Advanced Visual Systems и Applix на разработку дополнительных сторонних средств визуализации многомерной информации, хранимой на OLAP-сервере.

В 1997 году Essbase занял доминирующую долю рынка серверных средств аналитической обработки данных.

В 1998 году IBM и Arbor договорились о распространении продукта по каналам продаж корпорации IBM под наименованием DB2 OLAP Server, под этим названием, параллельно с основным, продукт продавался до 2005 года.

В 1998 году Arbor Software поглощена компанией Hyperion, и Essbase стал технологическим компонентом приложений для финансового планирования и анализа этой компании.

В 2003 году в дополнение к изначально использованному блочному методу хранения разработан новый способ организации хранения кубов — агрегатный, тем самым расширена сфера функционального применения продукта для разреженных, редко обновляемых кубов с большим количеством измерений; если до этого момента применение Essbase в основном ограничивалось приложениями финансового планирования, то с агрегатными кубами были сняты многие ограничения и продукт стал эффективен и для многомерного анализа со стабильными, сложно организованными данными.

В 2007 году Hyperion поглощён корпорацией Oracle, вскоре Essbase был включён в линейку Hyperion Business Intelligence Techonlogy, поставляется как технологический компонент EPM, а также проведена интеграция с продуктами всей линейки Oracle Business Intelligence (сформированных, в основном, на базе аналитической платформы приобретённой компании Siebel). По состоянию на 2011 год цена на Essbase установлена в $2,9 тыс. за пользователя или $184 тыс. за процессорную единицу (которая исчисляется от количества процессорных ядер сервера, умноженного на коэффициент от ¼ до 1 в зависимости от процессорной архитектуры).

DB2 OLAP Server

DB2 OLAP Server — торговое наименование Essbase при поставках по каналам IBM в рамках расширения линейки DB2. Версия 1.0 DB2 OLAP Server вышла в феврале 1998 года, она соответствовала Essbase 5.0 и поддерживала хранение данных только в DB2 UDB и развёртывание на операционных системах OS/2, AIX и Windows NT; версия 1.0.1, вышедшая в октябре того же года поддерживалась также на серверах процессорной архитектуры SPARC под управлением Solaris и на архитектурах PA-RISC под управлением HP-UX. В сентябре 1999 года на базе версии Essbase 5.0.2 выпущена версия DB2 OLAP Server 1.1, в ней в дополнение к реляционной подсистеме хранения поддержаны блочные кубы Essbase, с 2000 года эта версия поддержана на мейнфреймах под управлением OS/390 и на AS/400-серверах. Также в 2000 году на основе Essbase версии 6.0 вышла новая версия DB2 OLAP Server, получившая номер 7.1. Некоторые средства Hyperion (в частности, Hyperion Analyzer), поставлялись дополнительно к DB2 OLAP Server с префиксом IBM DB2 OLAP.

Компоненты

Essbase версии 11, кроме собственно сервера многомерных баз данных, поставляется со следующими компонентами:

  • Essbase Studio — java-приложение для рабочих станций, предназначенное для визуализированного построения кубов и управления серверами Essbase, также в приложении поддерживается возможность осуществлять некоторые задачи администрирования серверов — определение источников данных и управление разграничением доступа к данным;
  • Administration Services — java-приложение для рабочих станций для администрирования экземпляров серверов Essbase, из данной среды контролируются параметры серверов, Essbase-приложения, пользователи и роли;
  • Integration Services — приложение для проектирования гибридных моделей, в рамках которых обеспечивается хранение агрегатов на стороне сервера Essbase, а детальных данных в реляционных базах данных, либо хранение целиком всех данных в реляционной базе, и управление на стороне сервера Essbase только моделью кубов (такой способ в документации обозначается аббревиатурой ARA — англ. advanced relational access, расширенный реляционный доступ);
  • Provider Services — набор промежуточного программного обеспечения для управления кластеризацией и балансировкой нагрузки для высоконагруженных сред.

Возможности и ограничения

Доступ к данным

Блочный куб

Блочный куб, в документации и литературе по Essbase обозначаемый аббревиатурой BSO (от англ. block storage option) — исторически первый реализованный способ хранения многомерных данных, реализованный в продукте, и отражённый в патенте 1992 года. Блочная организация ориентирована на «уплотнённое хранение» (англ. dense storing) данных, перезапись в куб (англ. write-back), в том числе на уровне агрегатов, и ускоренный пересчёт результатов. Благодаря этим свойствам наиболее широкое использование получило в приложениях финансового планирования, в которых требуется интерактивный многокритериальный подбор параметров по фиксированным формулам.

Основные ограничения блочного куба — около 1 млн допустимых элементов измерений (может быть несколько увеличено в случае применения секционирования или гибридного хранения) и 252 ячеек на блок в базе данных. Таким образом, блочная организация считается практически целесообразной для кубов с 6—8 измерениями, со сложными вычислениями и частой перезаписью данных.

Агрегатный куб

Агрегатный куб (ASO — англ. aggregate storage option) — альтернативный способ организации хранения данных, появившийся в 2003 году в версии Essbase 7 с целью расширения применимости продукта для кубов со значительным количеством измерений. Одной из характерных особенностей ASO является эффективное хранение — в сравнении с блочными кубами агрегатные занимают существенно меньше пространства. При этом по сравнению с блочной организацией существенно ограничены функциональные возможности: для агрегатных кубов не поддерживается обратная запись на уровни агрегатов (можно перезаписывать только терминальные ячейки, «нулевой уровень»), не поддерживаются сценарии вычислений (англ. calculation scripts, поддерживаются только вычисления, представимые одной формулой).

В противовес «плотному» хранению, агрегатное куб оптимален для разреженного хранения (англ. sparse storing). Кроме того, в отличие от блочных, в агрегатных кубах реализована возможность построения множественных иерархий для одного измерения, динамических иерархий, получения срезов данных.

Агрегатный куб поддерживает до 216 иерархий на одно измерение, до 4,3 ПБайт физического объёма куба, до 252 комбинаций хранимых уровней измерений, до 264 ячеек может быть обойдено в одном запросе к агрегатному кубу.

XOLAP