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, я выкачал:
- Oracle Hyperion Enterprise Performance Management System Installer, Fusion Edition Release 11.1.1.2.0 – это ключевой компонент, в отличие от Oracle Installer, который включен в каждый дистрибутив, здесь инсталлер качается отдельно и он нужен для установки всех остальных компонентов.
- Hyperion Enterprise Performance Management System Foundation Services Release 11.1.1.2.0 (4 части) – это некоторый базовый необходимый функционал, который нужно скачать и поставить, даже если нужен только Essbase.
- Oracle Essbase Server Release 11.1.1.2.0 – собственно сервер.
- Oracle Essbase Client Release 11.1.1.2.0 – клиент к нему.
- Oracle Hyperion Provider Services Release 11.1.1.2.0 – нужен для связи различных инструментов с Essbase, Oracle BI и т.д. В принципе, я так понимаю, это не жизненно необходимый компонент именно для моей задачи.
- Hyperion Web Analysis Release 11.1.1.2.0 – веб интерфейс к Essbase базам данных. Наверное тоже не самая необходимая вещь, но пусть будет.
Вообще, описание какой компонент для чего нужен можно прочитать в документации тут.
Всего у меня получилось что-то около 8 гигабайт в архивах, которые распаковались в 10. Ставил я все на VMware с Windows XP.
Установка
В принципе, в интернете есть описания как установить Essbase.
Я взял за основу руководство Tim Tow, вернее его вариант в PDF. Руководство у него написано по Essbase 11.1.1.1., но отличия минимальны. Кстати, рекомендую его блог.
В общем, руководство хорошее, и я прямо по нему все и устанавливал. Поэтому наверное нет смысла повторять тоже самое, что написано у него.
То есть, после того, как вы скачали все файлы, вы берете его руководство и делаете все, что там написано. Отличия будут только в названиях архивов, которые для каждой версии свои. Там много картинок, так что даже если у вас не очень хорошо с английским, думаю все будет понятно. Правда, рекомендую, сначала дочитать эту статью до конца.
В руководстве, на мой взгляд, два недостатка:
- Почти не объясняется зачем нужны все эти выкачанные компоненты и, собственно, что ты делаешь в процессе установки и зачем.
- Оно заканчивается как раз \”на самом интересном месте\”, то есть поставить софт как-бы поставили, ну а дальше-то что, как с этим работать?
Комментарии
Я пытался запустить инсталлятор по сети – это не удалось. Лечится это мапированием сетевого адреса как локального диска.
Для инсталляции нужна база данных, например 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 способа это сделать.
- Использовать Administration Services Console (ASC)
- Использовать Integration Services (IS)
- Использовать 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 (для этого, наверное, лучше ее посмотреть самому или почитать мануал), в двух словах как в ней строится работа:
- Вы выбираете источник данных (таблицы, вью и т.д.)
- Дальше на основе таблиц строите многомерную модель (кубы, измерения, иерархии и т.д.)
- Настраиваете различные опции хранения в Essbase
- Создаете структуру куба и загружаете данные.
В общем, если не брать некоторые особенности моделирования многомерной структуры в Essbase, инструмент довольно понятный. В качестве примера, я взял схему GLOBAL, которая обычно используется для демонстрации работы Oracle OLAP option и построил на ее данных кубик в Essbase. Что мне не удалось сделать почему-то из ES, это чтобы в кубе, созданным в BSO, сразу были обсчитаны агрегаты. Приходилось после загрузки запускть в ASC обсчет Calculation. Не знаю, баг это или фича. При выборе типа хранения ASO все было нормально. И еще почему-то отказался строиться куб XOLAP. Вернее во время создания выпадает ошибка.
(BSO и ASO это различные типы хранения данных в Essbase, а XOLAP – схема, при которой сами данные лежат в реляционке, но пользователь видит их, как будто они в OLAP)
Essbase – очень сложный и мощный сервер, поэтому за один день его, конечно, не изучишь. Да и тот кубик, что я построил очень примитивной структуры, на измерениях нет атрибутов и т.д.
Но, будем считать, что данные загрузили.
Просмотр данных
Для просмотра данных тоже существует как минимум несколько вариантов:
- Встроенная в Administration Services Console смотрелка.
- Smart View и Visual Explorer
- Web Analysis
- Oracle BI EE
Про первый вариант я уже сказал.
Smart View – это Addin к Excel, который является основным инструментом для доступа пользователей к данным. Visual Explorer – это лицензированный по OEM очень мощный визуализатор от Tableau Software, который тоже запускается из Excel.
Web Analysis – это смотрелка кубов через веб интерфейс, я ее запустил, но посмотрел всего минут 10. Поэтому ничего сказать не могу. Почему-то она требует для запуска Java старой версии и может поэтому запустилась у меня не сразу.
Ну и относительно с недавних пор, Oracle BI EE понимает Essbase как источник данных и вы их можете использовать в Answers, аналитических панелях и т.д.
Я знаю, что есть еще и другие способы общения с Essbase, например через MDX. Но это я пока посмотреть не успел.
Некоторые итоги
- Установка Essbase 11 стала относительно простой. У меня была попытка установить Essbase в том виде, как он был, когда Oracle его купил, но это оказалось очень сложным. К тому же было еще больше сервисов. К примеру сервис лицензий.
- Создать модель в Essbase Studio и загрузить в Essbase оказалось несложно. Конечно, я все делал по дефолту, но при этом никакой потребности в оптимизации я не почувствовал. Но, правда и данных у меня немного (таблица фактов около 300 000 записей) С другой стороны, все крутится в VMware, в том числе и Oracle сервер. Уважаемые товарищи, имеющие практический опыт промышленной эксплуатации Essbase, говорят что с масштабируемостью у него все очень хорошо.
- Действительно, отклик на запросы мгновенный. При этом я, как и сказал, ничего не делал для оптимизации кубов.
- Essbase очень большой и сложный сервер, содержит большое количество возможностей, до которых я пока не добрался, но цель на эти два дня у меня была установить сервер и попробовать загрузить свою базу в куб. Это мне удалось.
По мере того, как буду продвигаться в изучении Essbase, буду писать еще, если будет о чем.
Комментарии опытных специалистов по Essbase приветствуются. Спасибо Федору Зевако за ценные комментарии.
__________________________________Читайте также:
- Наиболее часто возникающие ошибки при инсталляции Oracle BI EE
- Презентации с Oracle OpenWorld 2007
- Oracle купит Hyperion Solutions
- Семинар и тренинг по Oracle OLAP 11g в Москве
- Семинар-лаба по Hyperion Essbase
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.
on 27 Apr 2009 at 11:02 am 2.Андрей Пивоваров said …
Федор, спасибо.
Про SQL надо посмотреть. Я видел эту возможность, правда навскидку не понял, где там прописывается соединение с тем же Oracle.
on 27 Apr 2009 at 4:05 pm 3.Yuri Kudryavcev said …
В SQL rule-файлах по дефолту ODBC источник. Можно всталять OCI.
Юра
on 27 Apr 2009 at 4:57 pm 4.Андрей Пивоваров said …
Юра,
Понял, спасибо!
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 :)
on 27 Apr 2009 at 8:31 pm 6.Андрей Пивоваров said …
er,
Спасибо!
1. Да, я где-то читал, может у того же Tim Tow, что shared можно гасить. Но в общем пока мне это не приницпиально.
2. Ок.
3. Я и BSO и ASO пробовал. В ASO агрегированные данные сразу видны. В BSO пришлось запускать дополнительно в админе сделать калькуляцию.
on 15 May 2009 at 8:04 am 7.vol1 said …
Спасибо за руководство! Только что вылечил административную консоль указанным методом запуска вручную :)
on 16 May 2009 at 10:09 am 8.Андрей Пивоваров said …
vol1,
Ну, значит не зря писал :)
on 17 Dec 2010 at 9:22 am 9.Evgeniy said …
Андрей, могу ли я закросспостить твою статью ?
on 18 Dec 2010 at 1:12 pm 10.Андрей Пивоваров said …
Evgeniy, да пожалуйста. Если будешь репостить сам текст, поставь плиз, ссылку на меня обратную.