Feed on Posts or Comments

BI EE &Essbase &Express &OLAP &Ликбез Андрей Пивоваров on 27 Apr 2009 10:19 am

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

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, буду писать еще, если будет о чем.

Комментарии опытных специалистов по Essbase приветствуются. Спасибо Федору Зевако за ценные комментарии.

__________________________________
Читайте также:
А еще можно почитать мой твиттер @apivovarov

10 Responses to “Заметки об инсталляции Oracle Essbase”

  1. on 27 Apr 2009 at 10:57 am 1.Федор Зевако said …

    1. По поводу старта. Oracle заявлял при выпуске 11 версии, что теперь можно будет все запускать и останавливать с помощью батников, которые доступны тут:
    Start->Programs->Oracle EPM System->Foundation Services->Start EPM Sysytem (ну и Stop EPM System соответственно)

    НО! У меня не работает – скрипт циклится на essbase-овских продуктах. Я просто адаптировал свои батники, которые были написаны еще для 9.3.1. версии.

    2. Данные в EAS из реляционного источника грузить также легко, как и из текстового файлика. Вместо File->Open data file надо было сделать File->Open SQL.

  2. on 27 Apr 2009 at 11:02 am 2.Андрей Пивоваров said …

    Федор, спасибо.

    Про SQL надо посмотреть. Я видел эту возможность, правда навскидку не понял, где там прописывается соединение с тем же Oracle.

  3. on 27 Apr 2009 at 4:05 pm 3.Yuri Kudryavcev said …

    В SQL rule-файлах по дефолту ODBC источник. Можно всталять OCI.

    Юра

  4. on 27 Apr 2009 at 4:57 pm 4.Андрей Пивоваров said …

    Юра,

    Понял, спасибо!

  5. on 27 Apr 2009 at 8:27 pm 5.er said …

    нда … были времена когда essbase ставился так же как word %)

    1) essbase не нужны шареды если вы
    а) не планируете пром. эксплуатацию
    b) не используете planning
    – сносим essbase.sec вводим в cmd essbase и создаем “нативного” админа.
    – останавливаем шареды. (так точно можно в пре 11.х )

    2) если живете с OpenLdap (компонента SharedService)- регулярно снимайте бэкапы с BDB ( это самый “падучий” сервис)

    3) Essbase имеет два типа кубов ASO и BSO и судя по всему у Вас собрался ASO – он имеет механизм mview – поищете по правой кнопке в wizarde :)

  6. on 27 Apr 2009 at 8:31 pm 6.Андрей Пивоваров said …

    er,

    Спасибо!

    1. Да, я где-то читал, может у того же Tim Tow, что shared можно гасить. Но в общем пока мне это не приницпиально.
    2. Ок.
    3. Я и BSO и ASO пробовал. В ASO агрегированные данные сразу видны. В BSO пришлось запускать дополнительно в админе сделать калькуляцию.

  7. on 15 May 2009 at 8:04 am 7.vol1 said …

    Спасибо за руководство! Только что вылечил административную консоль указанным методом запуска вручную :)

  8. on 16 May 2009 at 10:09 am 8.Андрей Пивоваров said …

    vol1,

    Ну, значит не зря писал :)

  9. on 17 Dec 2010 at 9:22 am 9.Evgeniy said …

    Андрей, могу ли я закросспостить твою статью ?

  10. on 18 Dec 2010 at 1:12 pm 10.Андрей Пивоваров said …

    Evgeniy, да пожалуйста. Если будешь репостить сам текст, поставь плиз, ссылку на меня обратную.

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply