oracle essbaseessbase.ru/uploads/oracle+essbase_copy.pdfessbase •Универсальный...
TRANSCRIPT
<Insert Picture Here>
Oracle EssbaseСахаров Андрейвед. консультант Oracle CIS
Oracle OLAP
Oracle Data Mining
Oracle Partitioning
Oracle Warehouse Builder
ХРАНИЛИЩА И ВИТРИНЫ ДАННЫХ
ИНСТРУМЕНТЫ БИЗНЕС-АНАЛИЗА и ОТЧЁТНОСТИ
Oracle Data Integrator
ORACLE ORACLE ESSBASEESSBASE
ORACLE DATABASE
Oracle Exadata Server
АППАРАТНО-ПРОГРАММНАЯ ПЛАТФОРМА РЕАЛИЗАЦИИ ОЧЕНЬ БОЛЬШИХ БД
Oracle BI Suite EE Oracle RTD
Аналитическая платформа Oracle
Oracle BI Suite EE
Essbase
• Универсальный OLAP-сервер для хранения, обработки и представления информации
• Может использоваться • дополнительно к хранилищу• независимо от хранилища
• Загрузка данных из хранилища данных и / или непосредственно из бизнес приложений
• Реализован на основных 32 и 64 битных аппаратных платформах
Развитые возможности для динамического анализа данных• Детализация, • Вращение, • Выборка, • Сравнение, • Ранжирование, • Сортировка, • Фильтрация, • Группировка, • Вычисления, • Аннотация, • Изменение (“write back”), • ……..
Развитые вычислительные возможности
• Широкая функциональность: • От простого агрегирования до сложных многомерных
распределений• Результаты могут храниться или вычисляться «на лету»
• Поддержка иерархических взаимосвязей• Любые виды несбалансированных иерархий• Любое количество альтернативных иерархий
• Более 350 встроенных функций• Простой синтаксис, расширяемость
АрхитектураУровень баз данныхПромежуточный уровеньКлиентский уровень
Административные сервисы
Интеграционныесервисы
MaxL, MDXC API, VB API, Java
API
Административная консоль
Интеграционная консоль
TCP/IP
HTTP
TCP/IP
Essbase
RDBMSODBC
ОбслуживающиесервисыHTTP
Essbase Spreadsheet Add-inSmart View for Office
Block Storage
AggregateStorage
TCP/IP
XOLAP eXtending OLAP on RDBMS
Block Storage Database• Исходный механизм хранения в Essbase• Для приложений, связанных с итеративным планированием,
распределениями, сложным анализом (анализ продаж, анализ прибыльности)• Если необходимо много процедурных вычислений и запись изменений на
любой уровень агрегации• Управление порядком вычисления измерений• Вычисление всей или части БД• Выполнение сложных вычислений
Данные на нижем уровне
Вычисленная БД
Вычислительные процедуры
Агрегированные данные
ОтчётДанные на нижем уровне
Aggregate Storage Database• Реализован в 2005 г.• Для крупномасштабных, разреженных данных с большим числом
(десятки) больших (сотни тысяч) размерностей • Высокая гибкость для отчетов и анализа• Автоматическая оптимизация хранения, сжатие• Стандартный набор правил агрегации
eXtending OLAP on Relational Database - XOLAP
• Кубы динамически подгружаемые из RDBMS• Конструирование приложений (многомерная
модель на основе таблиц/колонок БД) в Essbase Studio
• Отчётность и анализ через OLAP инструментарий:• Smart View for Microsoft Office• BI+: Web Analysis / Financial Reports / Answers• Oracle Essbase Visual Explorer
RDBMSSQL
Компоненты Essbase
• Essbase:• Essbase database • Essbase Server• Administration Services• Smart View• MaxL, ESSCMD, MDX• C API, VB API, and Java API
• Дополнительные компоненты:• Integration Services• Essbase Studio
Administration Services Console
• Интерфейс для администрирования базы данных и системы
Навигационная панель
Окно объектов
Окно сообщений
Компоненты Среды Реализации
• Объекты базы данных• Outline (.OTL)• Rules files (.RUL)• Calculation scripts (.CSC)
• Аналитические интерфейсы• Smart View• Spreadsheet Add-in
• Integration Services• Essbase Studio
Outlines• Редактирование древовидных структур для иерархий
измерений• Редактирование правил консолидации и математических
отношений между элементами измерений
Rules Files• Отображений источников данных в целевые базы данных
Oracle Essbase• Загрузка данных и иерархий измерений
Поля отображаемые в Измерения
Игнорируемые поля
Calculation Scripts
• Вычисляют всю или часть базы данных• Управляют порядком вычисления Измерений• Совершают сложные вычисления
данные “Level 0”
Результирующая база данных
“Calculation script”
Smart View
• Устанавливаемый через Web тонкий клиент, который встраивается в Microsoft Office приложение
• Позволяет редактировать (Excel) и просматривать данные, создавать произвольные отчёты
Excel, Word и PowerPoint с Smart
ViewБазы Данных
Essbase
Provider Services
Java API
Infrastructure
HTTP(S) TCP/IP
Block Storage DatabaseBlock Storage Database
Проектирование Приложений и Баз Данных
• Приложения• Содержат BS базы данных и скрипты• Размещается на сервере, на котором Essbase Server
установлен
• Базы данных• Репозиторий многомерных аналитических данных• Содержат объекты баз данных и определения
секретности
Essbase Server ApplicationApplication
Создание Block Storage Applications
1
2 3
Создание Block Storage Databases
2
1
3
Рекомендации
Одна База Данных на Приложение рекомендуется.• Серверные ресурсы лучше балансируются. • Если приложение становится недоступным, все базы
приложения недоступны.• Исключения:
• Приложения для задач планирования• “Currency” базы данных
Создание объектов в “Outline”
• Терминология:• “Generations” • “Levels”
Generation 3
Generation 2
Generation 1
Level 0 (Leaf node)
Level 1
Level 2 или Level 1
Ancestors of• Act vs Bud• Act vs Fcst• Bud vs Fcst
Children of Scenario Variances
Descendants of Scenario
Типы Измерений «Dimension»
Нет
Счета
Время
Страны
Валюта
Атрибуты
Создание Измерений и Значений измерений
• «Add child» добавляет значение на один уровень ниже выбранного значения.
• «Add sibling» добавляет значение на том же уровне, что и выбранное значение.
• Если выбранное значение (элемент) является Измерением, «Add sibling» добавляет новое измерение.
Add Child Add Sibling
Перемещение Измерений и Значений измерений
• Перемещение родителя так же перемещает его дочерние значения.
• Вставка значения как дочернего, делает его первым дочерним значением.
• Вставка значения как равного, делает его следующим значением на уровне.
42
1 3
Вырезать и перетащить
Модификация Свойств Значений
• Опции Хранения• Метод Консолидации• Алиасы• Атрибуты• Пользовательские атрибуты
(UDAs)• Формулы вычисления
Формула вычисления
Свойства значения
Вычисление на основе правил определённых в «Outline»Два способа:• Иерархическая структура
• Операции Консолидации• Разделяемые «Shared» значения
• Формулы вычисления значений
Операторы консолидации определяют способ консолидации значений к родительскому элементу:
• Addition (+)• Subtraction (-)• Multiplication (*)• Division (/)• Percent (%)• Exclude from consolidation (~) Does not use the member in the consolidation to its parent.
• Never consolidate (^) Does not use the member
in any consolidation in any dimension.
Операторы Консолидации
Act Vs Bud = Current Year – Budget
Current Year (+)
Budget (-)
Act Vs Bud
Разделяемые значения «Shared Members»
• Не хранят данные• Создают индексный
указатель на хранимое значение
• Всегда являются значением уровня 0 «level 0 members»
• Размещаются после (ниже) хранимых элементов в схеме «outline»
Scenario
Act Vs Bud
Current Year
Budget
Scenario Variances
Budget
(~)
(~)
(~)
(~)
SharedCurrent Year (+)
(-) Shared
Формулы вычисления значений
• Определяют вычисления в схеме «outline»:
Порядок консолидации значений• Порядок консолидации определяется порядком значений
в схеме «outline».• Вычисления производятся в порядке сверху-вниз.
Parent
Member 4
Member 2
Member 1
Member 3
Member 7
Member 5
Member 6
(+)
(+)
(-)
(*)
(%)
(/)
(~)
10
20
25
40
50
60
70
30
5
200
400
25
40
50
60
6.67
6.67 Parent = ((((M1 + M2) – M3) * M4) % M5) / M6
Интеллектуальные «Intelligent» вычисления
Только блоки данных отмеченные как Изменённые пересчитываются.
Создание алиасов для значений
Алиасы• Используются для отчётности• Обновляются в свойствах
схемы «Member Properties»• Хранятся в таблицах алиасов
Таблицы алиасов• Создаются в свойствах схемы• Обновляются отдельно
Загрузка значений измерений с помощью «Rules Files»
Источник данных
Выборка «Rules files»
Essbase БД
Иерархия
Создание «Rules Files»Раздел ШагиПодготовка 1. Открыть источник данных.
2. Установить свойства источника.3. Ассоциировать «rule» с схемой «outline»
БД.4. Если необходимо, форматировать файл.
Действия 5. Определить метод загрузки значений.6. Определить свойства полей
Завершение 7. Проверить корректность описаний.8. Сохранить «rule».9. Выполнить «rule».
Выбор Измерения
12
34
Выбор метода построения
• «Generation»• «Level»• «Parent-child»
1
2
3
4
Определение свойств полей
• Измерение• Тип поля• Номер поля
2
3
1
Дополнительно определить правила поддержки загрузки значений измерения
• Передвигать значения• Модифицировать свойства значений• Сортировка значений• Способ обновления
Загрузка данных
Источник данных
«Rules files» БД Essbase
Источники данных требующие «Rules File»
• Загрузка из SQL БД• Одновременное построение Измерений• Изменение данных
• Шкалирование• Изменение знака• Пропуск полей
• Изменение имён (значений)• Добавление префикса или суффикса• Добавление отсутствующих измерений• Измение порядка полей
Определение свойств полей
• Для каждого поля определяется – метод загрузки и имя поля.
1
3
2
Доопределение отсутствующих измерений
• Если необходимо, доопреляется заголовок для отсутствующего измерения
2
3
Отсутствует измерение Сценарий
1
Установка опций загрузки
• Перезаписывать, вычитаь из, суммировать с существующими значениями
• Изменять знак
Вычисления в Block Storage Essbase
• Значения в БД:• Исходные данные• Вычисляемые данные
• Вычисления:• «Outline» вычисления• Вычисления на основе скриптов
ОтчётВычисленная БДИсходные
данные
Вычисления
Вычисления основанные на «Outline»
• Используются для простых вычислений• Основывается на определённых в схеме «outline»
отношениях или формулах• Вычисляется вся БД
Вычисленная БД
«Outline»
Задание на вычисление по
умолчанию
CALC ALL
Входные данные
Вычисления основанные на Скриптах
• Вычисляется вся или часть БД• Управление порядком вычисления измерений• Выполнение сложных вычислений
Вычисленная БД
Пользовательские скрипты
Входные данные
Редактор Сриптов
Функции и команды
Измерения и значения
Порядок вычислений
•CALC ALL вычисляет схему в следующем порядке:
Оптимальный порядок:
От Наибольшего к НаименьшемуОптимальный
порядок:
От Наименьшего к Наибольшему
3. Плотные «Dense» измерения (в порядке в схеме)
4. Разряженные измерения (в порядке в схеме)
5. Двух проходные «Two-pass» вычисления
1. Измерения типа «Account»
2. Измерения типа «Time»
Блоки данных и Индексы
Scenario->Product->Customer
Блок Scenario Product Customer1 Current Year Lightbolt 365 A IBM2 Current Year Lightbolt 365 A Acer
… … …
Индексы блоков данных
Физические данные хранятся в блоках данных
Определения опций хранения Измерений
AccountsYear
Tot
Ячейка данных
• Уникально адресуема• Требуется 8 байт дискового пространства
100
123
131
166
196
150
149
182
231
115
120
143
100 Units of Lightbolt 365 A hard drives sold to IBM in February of the
current year
Статистика БД
Свойства Измерений
• Конфигурация Плотное-Разряженное («Dense-sparse»)• Количество значений в Измерении• Количество фактических значений
Измерение типа Атрибуты
Статистика по блокам
Вычисления в БД
Структура вычислительных Скриптов
• Комментарии
/* <=---BEGIN COMMENT TAGInsert comments between begin comment and end comment tags. END COMMENT TAG---=> */
Служебные команды
• команды - SET определяют режимы настройки среды выполнения
Фиксация множеств - секции Fix
Начало внешнего (основного) блока Fix
Окончание основного блока Fix
Внутренний блок Fixes
Пример вычислительного блока
Агрегация
• Используются CALC DIM или CALC ALL команды
Управление вычислениями
Фокусировка
Страницы до начала вычислений
«Budget Retail» блоки в памяти для вычислений
FIX(Budget, @ICHILDREN(Retail))"Net Sales" = "Gross Sales"–Discounts;ENDFIX
Страницы после вычислений
Оператор IF
Все блоки в памяти для проверки условий и вычислений
IF(@ISMBR(Budget) AND @ISICHILD(Retail))"Net Sales" = "Gross Sales"–Discounts;ENDIF
Страницы до начала вычислений
Страницы после вычислений
Синтаксис
IF в «outline» формуле IF в вычислительном скрипте
Units(IF(@ISMBR(Budget))
Units = "Prior Year" * 1.1;"List Price" = "Prior Year" * 1.25;"Discount %" = "Prior Year" * .90;
ENDIF)
Сравнение FIX и IF
• Результат вычислений один и тот же, но что быстрее?Units(IF(@ISMBR(Sep)) Units=@PRIOR(Units, 1);ENDIF
IF(@ISMBR(Oct)) Units=@PRIOR(Units, 2)*1.1;ENDIF)
FIX (Sep) Units=@PRIOR(Units, 1);ENDFIX
FIX (Oct) Units=@PRIOR(Units, 2)*1.1;ENDFIX
Units
Aug 100
Sep 100
Oct 110
Количество обрабатываемых блоков
Units(IF(@ISMBR(Sep)) Units=@PRIOR(Units, 1);ENDIF
IF(@ISMBR(Oct)) Units=@PRIOR(Units, 2)*1.1;ENDIF)
FIX (Sep) Units=@PRIOR(Units, 1);ENDFIX
FIX (Oct) Units=@PRIOR(Units, 2)*1.1;ENDFIX
IF обрабатывает все блоки
FIX для значений «dense» обрабатывает блоки с данными
Количество проходов
Units(IF(@ISMBR(Sep)) Units=@PRIOR(Units, 1);ENDIF
IF(@ISMBR(Oct)) Units=@PRIOR(Units, 2)*1.1;ENDIF)
FIX (Sep) Units=@PRIOR(Units, 1);ENDFIX
FIX (Oct) Units=@PRIOR(Units, 2)*1.1;ENDFIX
Один вычисляемый блок элементов требует один проход на блоках данных
Два FIX утверждения требуют два прохода на блоках данных
Ссылки на значения
Ссылки на значение
Units / Units->"Channel Total"
1
2
3
1. Block 1 Units / Block 3 Units
2. Block 2 Units / Block 3 Units
3. Block 3 Units / Block 3 Units
Unit Mix по Cust вычисления
1. Current Year->O-IBM->Family Total2. Current Year->OEM->Family Total3. Current Year->Channel Total->Family Total
Блоки данных
Ссылки на множество значений
Функции работы с множеством значений:• Генерируют множество значений для вычислений• Обычно используются как аргумент в FIX утверждениях и
других функциях
FIX(@ICHILDREN(OEM)) "Unit Mix by Chan" = Units / Units->OEM;ENDFIXFIX(@ICHILDREN(Retail)) "Unit Mix by Chan" = Units / Units->Retail;ENDFIXFIX(@ICHILDREN(Distributor)) "Unit Mix Chan" = Units / Units->Distributor;ENDFIX
Относительные ссылки
• Ссылаются на значения соотнесённые к текущему элементу:• Родитель• Дочерние на специфическом уровне «level» или генерации
«generation»
"Unit Mix by Chan" = Units / @ANCESTVAL(Customer,3,Units);
«Generation» 3 «customers»
Переменные
• Temporary Variables
• Substitution Variables
VAR RetDisc = 1.005FIX(@CHILDREN(Retail)) Discounts = Discounts * RetDisc;ENDFIX
FIX(@CurYear) "Cur Mo Vs Prior" = @VAR(&CurrMonth, &PriorMonth);ENDFIX
• Хранят промежуточные значения• Уменьшают сложность скриптов• Улучшают производительность
Temporary Variables
VAR
Создание Substitution Variables
1
3
6
4 5
Aggregate Storage DatabaseAggregate Storage Database
Aggregate Storage
Оптимизирована для:• Быстрой агрегации кубов• Большого количества измерений и значений• Крайне разряженных данных
Ключевые характеристики
• Данные загружаются на «level» 0.• БД доступна только на чтение ( в 11.1.2 возможна
запись).• Значения основанные на формулах - MDX запросы.• Все формулы и агрегации вычисляются в момент
запроса.• Данные хранятся в Табличных Пространствах.• Измерения
• Нет ограничений на число Измерений• Максимальное количество комбинаций значений: 2^52
• Одна БД на приложение
Формулы вычисления Значений
"Sales" / "Net Profit";
[sales] / [net profit]
Синтаксис Формул
MDX синтаксис
Приложения и базы данных
Различия:• нет «Calculation scripts»• нет вторичных БД• нет БД Валют
Aggregate Storage Block Storage
Rules Files
• Поддерживаются для:• Файловых источников• SQL источников
Иерархии
• Поддерживаются:• Хранимые иерархии• Динамические иерархии• Множество иерархий для одного измерения
Хранимые (Stored) Иерархии
• Преимущества:• Потенциально позволяют хранить
агрегированные данные• Улучшают время выполнения
запросов
• Но:• Ограничены использованием только
Limited use of унарных операций• Ограниченное использование «Label
Only»• Поддержка только одного экземпляра
значения измерения
Dimension
Level_1_2
Level_0_3
Level_2_1
Level_1_1
Level_0_1
Level_0_2
Label Only
Label Only
Stored
+
~
Label Only
+
+
+
~
Level_0_4 +
Label Only
Динамические «Dynamic» Иерархии
• Преимущества:• Любой оператор консолидации• Формулы на значениях
измерения• «Label Only» на любом уровне• Неограниченные «shared
members»
• Но:• Значения вычисляются только по
запросу (никогда не преагрегируются)
• Потенциально ухудшают время выполнения запроса
Years
Curr Year
Prev Year
Variance
Dynamic
~
~
+
Variance % ~
[20: [Curr Year]-[Prev Year]]
[20: ([Curr Year]-[Prev Year])/[Prev Year]*100]
Label Only
Множественные Иерархии
Возможность сочетать хранимые и динамические иерарахии для измерения.
Time
QTD
QTD(Jan)
MTD
Jan
Label Only
Multiple Hierarchies Enabled
+
+
+
Dynamic
QTD(Feb) ~
Label Only
Feb +
~
[0: [Jan]]
[0: [Jan] + [Feb]]
Stored
Редактор формул
Аналогичен «block storage» редактору:
• Списки выбора• Автоматическое
заполнение• Цветовое кодирование
Ссылки на значения
1. Americas Sales / Geography Sales
2. Europe Sales / Geography Sales
3. Asia Pacific Sales / Geography Sales
4. No Region Sales / Geography Sales
5. Geography Sales / Geography Sales
[Net Sales] / ([Net Sales], [Geography])
Динамические ссылки
1. IBM Sales / Major Accounts Sales
2. Major Accounts Sales / Customer Sales
3. Acme Distribution Sales / Wholesale Accounts Sales
4. Wholesale Accounts Sales / Customer Sales
5. Customer Sales / Customer Sales
[Net Sales] / ([Net Sales], Ancestor ([Customer].CurrentMember, 1))
Проверка условий – IIF()
• Включает два возможных результата• Истина - действие• Ложь - действие
• Используется Missing ключевое слово для возврата #MISSING
• Не поддерживается - Else
IIF ([Gross Sales] > 900000 AND IsLevel ([Sales People].CurrentMember, 0), [Gross Sales]*.035, Missing
)
Database Partitioning
Типы Partition
• Replicated partitions• Transparent partitions• Linked partitions
Основные понятия
Исходная БД Целевая БД
Partition cellPartition area
Replicated Partitions
• Традиционный подход• Копия данных• Множество источников• Ручная репликация• Только «Block storage»
Источники данных
Целевые данные
Transparent Partitions
• «Окно» между БД• Бесшовная передача• Текущие данные• Требуется синхронизация
«Outline»
Источники данных
Целевые данные
Linked Partitions
• Точка перехода• Связывает объекты• Различные схемы• Нет репликации • Нет синхронизации схем
Источники данных
Целевые данные
Создание Partitions
1
2
3
4
Идентификационная информация
• Исходная и Целевая БД• Пользователь
• Права на запись на Целевой
• Права на чтение на Исходной
Проектирование «Aggregate Storage Partition»
• Поддерживаются «Transparent» и «Linked»
• Комбинируется с «Block»• Расширение аналитических
возможностей• Нет синхронизации
Replicated,linked или
transparent
«Block» Целевая БД
«Block» БД Источник
«Aggregate Storage» БД
Источник