Заметки об инсталляции Oracle Essbase

Источник: oraclebi
Андрей Пивоваров

Essbase появился в Oracle c покупкой компании Hyperion в 2007 году. Для тех, кто не знает - это многомерный OLAP сервер. Начиная с Oracle 9.2, ядро OLAP сервера Oracle Express Server встроено в СУБД Oracle и в результате мы имеем т.н. OLAP option. Сам Express Server был прямым конкурентом Essbase. Но, поскольку, встроенная OLAP option и отдельностоящий Essbase все-таки занимают разные технологические ниши, то сейчас рассматривать их как конкурентов, наверное, уже не стоит.

Интересная особенность Essbase для меня - это то, что все, кто с ним работают, отзываются почти исключительно в превосходной степени. Я не помню других таких продуктов, которые все хвалят.

При этом, те, кто хотят попробовать Essbase на своих данных, даже имеющие опыт работы с Express, OLAP или продуктами конкурентов Oracle, часто спрашивают "Как установить Essbase?", так как выясняется, что это не совсем просто по нескольким причинам.

В этой статье я опишу свои впечатления об установке Essbase.

Про свои впечатления об OLAP Option 11g я писал тут.

Теперь я добрался до инсталляции Oracle Essbase. Тем более, что недавно вышла версия 11.1.1.2.

В отличие от OLAP, с Essbase у меня мало практического опыта. Я играл с ним на предустановленных VMware машинах. С одной стороны, какое-то представление о продукте получаешь, но с другой, когда написано что нажимать и в какой последовательности, то ловишь себя на мысли, что не понимаешь как это все устроено и почему нужно нажимать именно сюда. Сам я добрался до установки только сейчас. В связи с этим, я смотрел на установку Essbase почти как новичок, так что, надеюсь эти заметки будут полезны тем, кто пытается разобраться, как это работает. У меня была всего пара дней на то, чтобы разобраться с установкой, поэтому, наверное, я что-то упустил. Более опытные товарищи, надеюсь, поправят.

Итак, предположим - я знаю, что такое OLAP. И я знаю, что Essbase - это хороший OLAP сервер. Я хочу установить Essbase и загрузить в него свою базу данных. С чего начать?

Основная страница на OTN, посвященная Essbase - тут.

Ссылка на документацию тут. Обратите внимание, название не, скажем, Essbase Documentation, а Enterprise Performance Management System Documentation. Дело в том, что Essbase является частью пакета EPM. Меня во время установки интересовал сам сервер Essbase, а не, скажем, приложения для бюджетирования, поэтому я разбираю в этой статье только как устанавливать Essbase.

Где скачать?

Скачть можно тут или на http://edelivery.oracle.com в разделе Oracle Performance Management System и дальше Oracle Enterprise Performance Management (11.1.1.2.0) Media Pack for Microsoft Windows (32-bit)

Бросается в глаза (и это первое препятствие, возникающее перед тем, кто хочет проинсталлировать Essbase) - это обилие файлов архивов. Причем, они достаточно большие по размеру. Все качать и долго и не нужно. Для целей Essbase, я выкачал:

  1. Oracle Hyperion Enterprise Performance Management System Installer, Fusion Edition Release 11.1.1.2.0 - это ключевой компонент, в отличие от Oracle Installer, который включен в каждый дистрибутив, здесь инсталлер качается отдельно и он нужен для установки всех остальных компонентов.
  2. Hyperion Enterprise Performance Management System Foundation Services Release 11.1.1.2.0 (4 части) - это некоторый базовый необходимый функционал, который нужно скачать и поставить, даже если нужен только Essbase.
  3. Oracle Essbase Server Release 11.1.1.2.0 - собственно сервер.
  4. Oracle Essbase Client Release 11.1.1.2.0 - клиент к нему.
  5. Oracle Hyperion Provider Services Release 11.1.1.2.0 - нужен для связи различных инструментов с Essbase, Oracle BI и т.д. В принципе, я так понимаю, это не жизненно необходимый компонент именно для моей задачи.
  6. Hyperion Web Analysis Release 11.1.1.2.0 - веб интерфейс к Essbase базам данных. Наверное тоже не самая необходимая вещь, но пусть будет.

Вообще, описание какой компонент для чего нужен можно прочитать в документации тут.

Всего у меня получилось что-то около 8 гигабайт в архивах, которые распаковались в 10. Ставил я все на VMware с Windows XP.

Установка

В принципе, в интернете есть описания как установить Essbase.

Я взял за основу руководство Tim Tow, вернее его вариант в PDF. Руководство у него написано по Essbase 11.1.1.1., но отличия минимальны. Кстати, рекомендую его блог.

В общем, руководство хорошее, и я прямо по нему все и устанавливал. Поэтому наверное нет смысла повторять тоже самое, что написано у него.

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

В руководстве, на мой взгляд, два недостатка:

  1. Почти не объясняется зачем нужны все эти выкачанные компоненты и, собственно, что ты делаешь в процессе установки и зачем.
  2. Оно заканчивается как раз "на самом интересном месте", то есть поставить софт как-бы поставили, ну а дальше-то что, как с этим работать?

Комментарии

Я пытался запустить инсталлятор по сети - это не удалось. Лечится это мапированием сетевого адреса как локального диска.

Для инсталляции нужна база данных, например Oracle. Hyperion-у нужна схема для хранения своего репозитория. Если база есть - хорошо. Если нет, то нужно тоже поставить. В принципе, в руководстве это написано, но лучше знать заранее.

Tim Tow пишет, что для того, чтобы запустился Essbase, нужно стартовать его вручную (в его руководстве написано как это сделать) и создать логин и пароль администратора. Мне это не понадобилось, видимо в 11.1.1.2 это исправили.

    Логин и пароль к серверу Essbase по умолчанию - admin/password

Почему - то это сложно найти в мануалах. Мне кажется, я один раз нашел, но потом снова потерял где.

После установки в меню Start появляется раздел Oracle EPM System, а в нем различные подфолдеры. Бросается в глаза обилие иконок типа Start Administration Services, Stop Administration Services, Start Administration Services Console и проч. В тоже время, если заглянуть в Windows Services, то видно, что там появилось около десятка сервисов. Это все несколько озадачивает.

Отгдака тут такая. Действительно, многие компоненты у Hyperion оформлены в виде J2EE сервисов, и плюс к этим сервисам нужны различные консоли, которые с ними взаимодействуют. Например, администрирование Essbase осуществляется при помощи административного сервиса и плюс к нему запускается административная консоль. с консолью работает разработчик. Сервис, видимо, поддерживает одновременную работу нескольких разработчиков.

В сервисах Windows стоят те же самые процессы (кроме консолей), только запускающиеся автоматически. В принципе, вы можете их не запускать как сервисы Windows, а запускать вручную. У запуска вручную есть как минимум преимущество - в терминале видно, что происходит и какие возникают ошибки. А ошибки у меня возникли.

Началось с того, что как раз эта самая административная консоль не могла подсоединиться к серверу. Вылечилось это так: Я погасил в Windows Services Hyperion Administration Services и запустил его вручную из Start-> Programs-> Oracle EPM System-> Essbase-> Administration Services-> Start Administration Services (Embedded Java Container). И на взлете в терминале сервис сказал, что не может приконнектиться к репозиторию в Oracle. Путем экспериментов выяснилось, что почему-то ему не нравится, что Oracle SID у меня записан как "orcl", а не "ORCL". Я исправил это в файле D:\Hyperion\products\Essbase\eas\server\dao.properties. После этого консоль замечательно взлетела и дала мне приконнектиться.

Затем я обнаружил, что есть такая замечательная вещь, как Oracle EPM System-> Foundation Services-> EPM System Diagnostics. Она проверяет работоспособность всех многочисленных сервисов и выдает страницу с диагностикой. В идеале не должно быть ни одной красной строчки на этой странице. Если есть красная строчка, значит что-то недоконфигурено или недозапущено. Например, не стартовал какой-то сервис. Или они стартовали не в том порядке.

Например, я выяснил, что у меня сервис Essbase Studio не прописан в Windows Services. Его пришлось запускать вручную. Плюс, экспериментально удалось выяснить, что последовательность запуска сервисов важна. Например сначала надо чтобы запускался Hyperion Foundation Shared Services, а затем сервис консоли администратора.

Что я не выяснил пока, можно ли автоматизировать старт всех сервисов так, чтобы они автоматически взлетали в нужном порядке? Пока мне удалось кое-что перезапускать вручную, после чего проверять диагностом, что все работает. В итоге мне удалось добиться, чтобы все работало и красных строчек не было.

О компонентах

Как я уже упомянул, компонентов много. Меня интересовало, что нужно сделать, чтобы построить свой кубик.

Сейчас я знаю как минимум 3 способа это сделать.

  1. Использовать Administration Services Console (ASC)
  2. Использовать Integration Services (IS)
  3. Использовать Essbase Studio" (ES)

Самый низкоуровневый вариант - первый. Собственно, это работа непосредственно со структурой базы в Essbase. Это аналог Analytic Workspace Manager для Oracle OLAP, хотя и мощнее.

Если вы запустите ASC, то обнаружите, что там есть несколько примеров баз, которые можно посмотреть как устроены. В отличие от OLAP, в Essbase есть так назыаваемые Applications, которые хранят базы данных. Структура базы данных описывается в так называемом Outline. Примеры, которые вы видите в ASC содержат структуру, но данных там нет. Для того, чтобы заполнить примеры можно почитать этот документ.

Если коротко, то суть в том, что нужно встать мышкой на базу данных и по правой кнопке вызвать Load Data. Дальше выбрать Find Data File и Find Rules File. Rules File может отсутствовать. После этого данные будут загружены из текстовых файлов и вы сможете просмотреть их во встроенном просмотровщике (Правая кнопка на базе и Preview Data)

В ASC довольно сложно прописать как грузить данные из базы данных, а не текстового файла (ну или мне так показалось, вполне возможно я ошибаюсь, времени было мало).

Для того, чтобы грузить данные из баз можно использовать Integration Services или Essbase Studio. Идеология у них похожа, но ES появился в 11 версии Essbase и, возможно, он идет на смену IS. Хотя я попробовал - грузить можно и там и там. Мне показалось, что ES удобнее.

Если не углубляться глубоко в работу в ES (для этого, наверное, лучше ее посмотреть самому или почитать мануал), в двух словах как в ней строится работа:

  1. Вы выбираете источник данных (таблицы, вью и т.д.)
  2. Дальше на основе таблиц строите многомерную модель (кубы, измерения, иерархии и т.д.)
  3. Настраиваете различные опции хранения в Essbase
  4. Создаете структуру куба и загружаете данные.

В общем, если не брать некоторые особенности моделирования многомерной структуры в Essbase, инструмент довольно понятный. В качестве примера, я взял схему GLOBAL, которая обычно используется для демонстрации работы Oracle OLAP option и построил на ее данных кубик в Essbase. Что мне не удалось сделать почему-то из ES, это чтобы в кубе, созданным в BSO, сразу были обсчитаны агрегаты. Приходилось после загрузки запускть в ASC обсчет Calculation. Не знаю, баг это или фича. При выборе типа хранения ASO все было нормально. И еще почему-то отказался строиться куб XOLAP. Вернее во время создания выпадает ошибка.

(BSO и ASO это различные типы хранения данных в Essbase, а XOLAP - схема, при которой сами данные лежат в реляционке, но пользователь видит их, как будто они в OLAP)

Essbase - очень сложный и мощный сервер, поэтому за один день его, конечно, не изучишь. Да и тот кубик, что я построил очень примитивной структуры, на измерениях нет атрибутов и т.д.

Но, будем считать, что данные загрузили.

Просмотр данных

Для просмотра данных тоже существует как минимум несколько вариантов:

  1. Встроенная в Administration Services Console смотрелка.
  2. Smart View и Visual Explorer
  3. Web Analysis
  4. Oracle BI EE

Про первый вариант я уже сказал.

Smart View - это Addin к Excel, который является основным инструментом для доступа пользователей к данным. Visual Explorer - это лицензированный по OEM очень мощный визуализатор от Tableau Software, который тоже запускается из Excel.

Web Analysis - это смотрелка кубов через веб интерфейс, я ее запустил, но посмотрел всего минут 10. Поэтому ничего сказать не могу. Почему-то она требует для запуска Java старой версии и может поэтому запустилась у меня не сразу.

Ну и относительно с недавних пор, Oracle BI EE понимает Essbase как источник данных и вы их можете использовать в Answers, аналитических панелях и т.д.

Я знаю, что есть еще и другие способы общения с Essbase, например через MDX. Но это я пока посмотреть не успел.

Некоторые итоги

  1. Установка Essbase 11 стала относительно простой. У меня была попытка установить Essbase в том виде, как он был, когда Oracle его купил, но это оказалось очень сложным. К тому же было еще больше сервисов. К примеру сервис лицензий.
  2. Создать модель в Essbase Studio и загрузить в Essbase оказалось несложно. Конечно, я все делал по дефолту, но при этом никакой потребности в оптимизации я не почувствовал. Но, правда и данных у меня немного (таблица фактов около 300 000 записей) С другой стороны, все крутится в VMware, в том числе и Oracle сервер. Уважаемые товарищи, имеющие практический опыт промышленной эксплуатации Essbase, говорят что с масштабируемостью у него все очень хорошо.
  3. Действительно, отклик на запросы мгновенный. При этом я, как и сказал, ничего не делал для оптимизации кубов.
  4. Essbase очень большой и сложный сервер, содержит большое количество возможностей, до которых я пока не добрался, но цель на эти два дня у меня была установить сервер и попробовать загрузить свою базу в куб. Это мне удалось.

По мере того, как буду продвигаться в изучении Essbase, буду писать еще, если будет о чем.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=21129