Oracle Exalytics – Business Intelligence Machine

Андрей Пивоваров

 

 

Источник: блог Андрея Пивоварова (Oracle СНГ), 04 Oct 2011, http://www.oraclebi.ru/2011/10/04/exalytics/

Позавчера, 2 октября на Oracle OpenWorld 2011 был анонсирован (и даже показан) новый аппаратно-программный комплекс Oracle Exalytics – машина для Business Intelligence.

Exalytics

Эта машина продолжает серию новых аппаратно-программных комплексов, которая началась с Exadata. Теперь их уже 6 – Exadata, Exalogic, Oracle Database Appliance, Oracle SPARC SuperCluster, Exalytics и вчера еще объявили об Oracle Big Data Appliance. Про Big Data Appliance я напишу в следующий раз, а пока про Exalytics.

Итак, на этот раз разработчики обратились к теме BI.

Из чего она состоит? В железной основе лежит 4 десятиядерных процессора Intel Xeon E7-4800 и 1 терабайт оперативной памяти. Терабайт это много. В FullRack Exadata X2-8 их 2.

По части софта в этой машине установлены:

Примечательно, что этим летом мы проводили семинар по связке в том числе BI и TimesTen. И, как оказалось, мы угадали с направлением.

Все в Exalytics сделано так, чтобы оперативная память использовалась по максимуму, отсюда большая производительность комплекса в целом.

Oracle TimesTen – это очень быстрая in-memory СУБД. Интересно, что судя по описанию Exalytics, в TimesTen for Exalytics используется колоночная компрессия. В названии нет слова “Hybrid”, так что, наверное, это немного другая компрессия, чем в Exadata. Благодаря колоночной компрессии, в базу данных TimesTen можно поместить гораздо больше, чем терабайт данных, как минимум несколько терабайт.
Тут, конечно, возникает интересный вопрос – будет ли доступна компрессия в TimesTen не на Exalytics?

Кроме того, TimesTen оптимизирован для выполнения аналитических запросов. Та версия TimesTen, которая доступна сейчас, не так хорошо работает с сложными аналитическими запросами по сравнению с простыми типа чтения или записи по одной таблице. Видимо, разработчики поработали над улучшением работы оптимизатора и алгоритмов.

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

Самое интересное, конечно, как эти компоненты работают все вместе.

В документе упоминаются четыре режима:

В случае In-Memory Data Replication данные из хранилища закачиваются в TimesTen и дальше BI строит запросы уже по данным в TimesTen. Пока непонятно как это происходит и где настраивается, а также какие есть ограничения.

In-Memory Adaptive Data Mart – самый интересный режим, при котором в TimesTen автоматически создается витрина на основе часто запрашиваемых данных. Опять же, как это работает из документа пока не ясно.

In-Memory Intelligent Result Cache – режим, по описанию очень похожий на то, что в BI есть и сейчас – результаты запросов кешируются в памяти и следующий запрос может быть отработан уже по кешу.

In-Memory Cube – это как раз оптимизированный режим работы Essbase, когда кубы находятся в памяти. При этом подчеркивается, что поддерживается write-back, что должно быть очень полезно для план-факт и what-if анализа.

В качестве BI используется не текущая, а следующая версия Oracle BI EE, в которую внесены некоторые новые возможности, такие как множественные графики в одном отчете. Вчера, во время выступления Томаса Куриана была показана красивая демонстрация работы Exalytics. Запись пока не выложили, но по идее она будет доступна на этой странице. Посмотрите, это правда красиво. Во время демонстрации показывали, как мгновенно отрабатываются запросы по таблице из примерно миллиарда записей. Даже не важно много это или мало, просто интересно посмотреть как это выглядит.

Документ пестрит множеством цифр с ускорением производительности разных операций. Что не удивительно, если многие операции выполняются в оперативной памяти.

Ну и особенно подчеркивается, что Exalytics отлично работает с Exadata, благодаря соединению Infinband и специальных оптимизаций кодогенерации BI для Exadata.

В общем, решение интересное. Хранилища огромного числа заказчиков в России меньше 1 терабайта. А если еще использовать компрессию, то и вообще перспективы получаются очень хорошими.

Конечно, многие вопросы не прояснены. Например, как производится синхронизация изменений в хранилище и в Exalytics. Непонятно что и как делается вручную, а что в автоматическом режиме. Ну, думаю, скоро это станет яснее.

Ссылки по теме:

*****

Из комментариев: on 11 Oct 2011 AlVolny said …

Больше всего меня интересовал In-Memory Essbase в базовой версии Essbase (не Essbase for Exalytics)- давно ожидаемый функционал кэширования подкубов (срезов) и особенно top-агрегатов (в чем-то аналог KEEP/RECYCLE POOL в Oracle DB).

В кулуарах я задал прямой вопрос Paul Rodwick, Product manager BI. Ответ был уклончивым и размытым – “мы думаем над включением этого функционала”, но в какую версию Essbase и в какие сроки – не сказал.

Вероятно это совсем не ближайшее будущее, т.к. в RoadMaр по Essbase (на ближайший год) этот функционал не включен.

Зато включены 2 очень важных пункта: