+ All Categories
Home > Documents > Новые возможности Oracle OLAP 11g

Новые возможности Oracle OLAP 11g

Date post: 10-Feb-2016
Category:
Upload: raleigh
View: 93 times
Download: 3 times
Share this document with a friend
Description:
Новые возможности Oracle OLAP 11g. Андрей Пивоваров Старший менеджер по технологическому консалтингу Oracle CIS. Аналитическая платформа Oracle (2010). АНАЛИТИЧЕСКИЕ ПРИЛОЖЕНИЯ. УПРАВЛЕНИЕ ЭФФЕКТИВНОСТЬЮ ДЕЯТЕЛЬНОСТИ. BI APPLICATIONS. Hyperion Planing. Strategic Finance. Marketing. - PowerPoint PPT Presentation
53
Transcript
Page 1: Новые возможности  Oracle OLAP 11g
Page 2: Новые возможности  Oracle OLAP 11g

<Insert Picture Here>

Новые возможности Oracle OLAP 11g

Андрей ПивоваровСтарший менеджер по технологическому консалтингуOracle CIS

Page 3: Новые возможности  Oracle OLAP 11g

Oracle OLAP

Oracle Data Mining

Oracle Partitioning

Oracle Warehouse Builder

ХРАНИЛИЩА И ВИТРИНЫ ДАННЫХ

Oracle BI Suite EE PLUS

ИНСТРУМЕНТЫ БИЗНЕС-АНАЛИЗА

Oracle BI Suite SE ONE Oracle BI SE

АНАЛИТИЧЕСКИЕ ПРИЛОЖЕНИЯ

Hyperion Planing

Hyperion Financial Mng

Strategic Finance

Аналитическая платформа Oracle (2010)

Oracle Data Integrator

HYPERION ESSBASE

ORACLE DATABASE

УПРАВЛЕНИЕ ЭФФЕКТИВНОСТЬЮДЕЯТЕЛЬНОСТИ BI APPLICATIONS

Marketing Sales Contact Center

Finance Supply Chain HRScorecard

GoldenGate

Page 4: Новые возможности  Oracle OLAP 11g

Почему популярен Excel?

Page 5: Новые возможности  Oracle OLAP 11g

Вычисления внутри строки на SQLSQL> select t.empno,t.ename,t.sal,t.comm, sal+nvl(comm,0) summfrom emp t;

EMPNO ENAME SAL COMM SUMM

----- ---------- --------- --------- ---------- 7369 SMITH 800,00 800

7499 ALLEN 1600,00 300,00 1900 7521 WARD 1250,00 500,00 1750 7566 JONES 2975,00 2975

7654 MARTIN 1250,00 1400,00 2650 7698 BLAKE 2850,00 2850

7782 CLARK 2450,00 2450 7788 SCOTT 3000,00 3000 7839 KING 5000,00 5000

7844 TURNER 1500,00 0,00 1500 7876 ADAMS 1100,00 1100

Page 6: Новые возможности  Oracle OLAP 11g

Вычисления между строк на SQLselect

(select sal from emp

where empno=7499)-

(select sal from emp where empno=7521) diff

from dual; DIFF----- 350

Page 7: Новые возможности  Oracle OLAP 11g

Структура типичной OLTP системы

Page 8: Новые возможности  Oracle OLAP 11g

Запрос над OLTP

Page 9: Новые возможности  Oracle OLAP 11g

Куб OLAP

Время

Продукты

Регионы

Прибыль

Агрегация

Расп

реде

лени

е

Прогноз

Рост прибыли

Прибыль за год

Прибыль

Доля прибыли

Единица

Тип продукта

Всего по продуктам

Месяц Квартал Год

Page 10: Новые возможности  Oracle OLAP 11g

Вычисления на Oracle OLAP DMLRPR hr_cube_sal(emp_id '7499')- hr_cube_sal(emp_id '7521’)

(В Excel-е B10=A5-A6)

TIME SAL---------- ---------JAN10 350,00FEB10 350,00MAR10 450,00

Page 11: Новые возможности  Oracle OLAP 11g

Сравнение OLAP DML и SQL

limit geography to ‘NW'limit time to 'OCT2009'limit product to dollars gt 100000

Найти товары, по которым за период Октябрь 2009 были продажи на сумму более 100 000 в регионе Северо-Запад

Задача

OLAP DML

Select p.prod_name, g.geog_name, t.time_name, f.sales from fact f, proddim p, geogdim g, timedim t where f.prod_id = p.prod_id and f.geog_id = g.geog_id and t.time_id = f.time_id and g.geog_id = ‘NW' and t.time_id = 'OCT2009' and sales > 100000

SQL

Page 12: Новые возможности  Oracle OLAP 11g

SQL Model

• Выборка рассматривается в виде куба• Введен оператор MODEL • С помощью модели куб, т.е. выборка, может

изменяться и расширяться• Мощнейшие возможности по формированию

сложных вычислений

SELECT * FROM sales sMODEL DIMENSION BY (Product,Version)MEASURES (units,price,sale) RULES UPSERT (sale['Total','Total'] = SUM(sale)[ANY,ANY])

Page 13: Новые возможности  Oracle OLAP 11g

C OLAP

БезOLAP

Больше времени

Меньше времени

ПредсказуемыеПростые вычисления

НепредсказуемыеСложные вычисления

Время отработкизапроса

Повышение производительности

Page 14: Новые возможности  Oracle OLAP 11g

Три (M)OLAP сервера Oracle

• Oracle Express Server

• не развивается, используется, например, с OFA

• Oracle OLAP option

• опция СУБД Oracle, наследница Express Server

• Oracle Hyperion Essbase

• появился с приобретеним Hyperion

Page 15: Новые возможности  Oracle OLAP 11g

Краткая история Oracle OLAP (1/2)• 1967 – Leonard M. Lodish и John D.C. Little основали

Management Decision Systems (MDS) • 1977 – Software Development Laboratories (SDL),

предшественник Oracle. Основатели Larry Ellison, Bob Miner и Ed Oates.

• 1979 – Выпущена Oracle Version 2 (RDBMS) • 1983 – MDS начинает переписывать Express на C с

AED. • 1985 – Information Resources, Inc. (IRI) приобретает

MDS. Express полностью переписан на C • 1993 – E.F. Codd придумал термин OLAP и E.F.

Codd, S.B. Codd и C.T. Salley опубликовали работу “Providing OLAP to User-Analysts: An IT Mandate” где сформулировали 12 принципов OLAP

Page 16: Новые возможности  Oracle OLAP 11g

Краткая история Oracle OLAP (2/2)• 1995 – Oracle приобретает Express у IRI • 1998-2000 – Oracle продолжает развитие Express и в конце 90х

начинается работа по интеграции Express в ядро Oracle • 2002 – Oracle 9.2.0 – Express интегрирован в ядро Oracle и назван

OLAP option • 2004 – 10.1.0 – OLAP добавлены возможности доступа по SQL и

секционирование • 2004 – 10.1.0 – В OLAP option появляется новая запатентованная

технологния агрегирования и управления разреженными данными

• 2005 – 10.2.0 – первое терабайтное Аналитическое пространство• 2007 – Выпущена Oracle Database 11g • 2007 – Oracle покупает Hyperion• 2007 – 11.1 – OLAP option интегрирована с механизмом query

rewrite для использования кубов в качестве материализованных представлений.

Page 17: Новые возможности  Oracle OLAP 11g

Что такое Oracle OLAP?

• Многомерная СУБД, встроенная в СУБД Oracle (MOLAP)

• Основное назначение – анализ данных

• Построена на основе Oracle Express Server

• Данные хранятся в т.н. Аналитических пространствах (Analytical Workspaces)

Page 18: Новые возможности  Oracle OLAP 11g

Oracle OLAP и СУБД Oracle

Реляционые таблицыАналитические пространства

Oracle Database 11g

Page 19: Новые возможности  Oracle OLAP 11g

Отличительные особенности OLAP• Работа не только с детальными данными, но и с

агрегатами

• При этом разработчик приложений не думает о том как рассчитывать агрегаты

• Мощные аналитические возможности

• Работа с множеством иерархий, в том числе и Parent-Child

• Возможность записывать факт в произвольное место куба

• Часто используется в финансовых системах, когда агрегат не равен сумме детальных данных

Page 20: Новые возможности  Oracle OLAP 11g

Когда стоит попробовать использовать OLAP

• Когда SQL запросы становятся очень сложными

• Когда есть потребность в сложных вычисляемых показателях

• Когда существует большое количество нерегламентированных запросов.

• Когда производительность запросов становится проблемой

Page 21: Новые возможности  Oracle OLAP 11g

Типы иерархий

Director

VP Admin

Analyst

Senior Director

VP

President

День

Месяц

Квартал

Год

Уровневые Родитель-потомок (parent-child)

Director

Admin

Page 22: Новые возможности  Oracle OLAP 11g

Analytic Workspace Manager

“Enterprise Manager” для OLAPНекоторые вещи без AWM сделать крайне сложно

Page 23: Новые возможности  Oracle OLAP 11g

Вычисления

• Вычисления определяются один раз

• Работают по всем измерениям и уровням

• Инструменты просто извлекают результаты

24

Page 24: Новые возможности  Oracle OLAP 11g

• Вычисления могут использовать данные в других кубах

25

Факт

Время

Орг

аниз

ация

Регион

ПланО

рган

изац

ия

Время

budget_cube.variance = actual_cube.actual[geography ‘TOTAL’] – budget_cube.budget

Вычисления между кубами

Page 25: Новые возможности  Oracle OLAP 11g

Агрегации

• Агрегации вычисляют значения на верхних уровнях на основе данных нижних уровней

26

Page 26: Новые возможности  Oracle OLAP 11g

Агрегации

• Пример – Вычисление значения на конец периода

27

Page 27: Новые возможности  Oracle OLAP 11g

Иерархические распределения

• Распределения вычиcляют значения нижних уровней на основе значений верхних и весов

28

Page 28: Новые возможности  Oracle OLAP 11g

Вычисляемые показатели

29

net_income = operating_income – taxesoperating_income = gross_margin - (marketing + selling_exp + r_d)gross_margin = revenue - cogs

Page 29: Новые возможности  Oracle OLAP 11g

Вычисляемые показатели

30

Вычисляемый показатель, демонстрирующий на верхних уровнях наличие проблемы на нижних

VRB _alert NUMBERVRB _product NUMBER_product = product + 0TEMPSTAT product time DO LIMIT product TO DESCENDANTS USING product_parentrel _product IF STATLEN(product) EQ 0 THEN _alert = na ELSE DO LIMIT product KEEP sales_cube_sales_ytd_pr_yr_pct LT 0 AND sales_cube_sales_share_tot_pro GT .25 IF STATLEN(product) GT 0 THEN _alert = -1 ELSE _alert = na DOEND DOEND RETURN _alert

Page 30: Новые возможности  Oracle OLAP 11g

Вычисляемые показатели

• Большое количсетво шаблонов вычислений

• Можно расширять набор шаблонов

31

Page 31: Новые возможности  Oracle OLAP 11g

Вычисляемые показатели

• Шаблоны помогают создать аналитическое выражение

32

Percent Change in YTD Sales from Year Ago

Тип вычислений

Описание

Автоматически генерируемое выражение

Page 32: Новые возможности  Oracle OLAP 11g

JAN04 FEB04 MAR04 APR04 MAY04 JUN04 JUL04 AUG04 SEP04 OCT04 NOV04 DEC04 JAN05 FEB05 MAR05 APR05 MAY05 JUN05 JUL05 AUG05 SEP05 OCT05 NOV05 DEC05

Q1-04 Q2-04 Q3-04 Q4-04 Q1-05 Q2-05 Q3-05 Q4-05

Q1-04 Q1-04

SUM(sales) OVER HIERARCHY (global.time.calendar_year BETWEEN UNBOUNDED PRECEDING AND CURRENT MEMBER WITHIN ANCESTOR AT LEVEL global.time.calendar_year)

Cumulative Total(or AVG, MIN, MAX)

Cumulative total (sum) of Sales in the Time dimension and Calendar Year hierarchy within ancestor at level calendar year. Total from beginning member to current member.

Page 33: Новые возможности  Oracle OLAP 11g

JAN04 FEB04 MAR04 APR04 MAY04 JUN04 JUL04 AUG04 SEP04 OCT04 NOV04 DEC04 JAN05 FEB05 MAR05 APR05 MAY05 JUN05 JUL05 AUG05 SEP05 OCT05 NOV05 DEC05

Q1-04 Q2-04 Q3-04 Q4-04 Q1-05 Q2-05 Q3-05 Q4-05

Q1-04 Q1-04

LAG_VARIANCE_PERCENT(global.units_cube.sales,1) OVER HIERARCHY (global.time.calendar_year BY ANCESTOR AT LEVEL global.time.year POSITION FROM BEGINNING)

Percent Difference From Parallel Period

Percent difference from parallel period for Sales in the Time dimension and Calendar Year hierarchy 1 Year ago based on position from the beginning of Year.

Page 34: Новые возможности  Oracle OLAP 11g

Присвоения

• Присвоение записывает данные в ячейки куба• Можно использовать для Что-Если анализа

• С учетом иерархий и уровней.• Пользователь может определять свои правила

вычислений• Фильры, ранжирования, временные ряды, более 450

функций

35

Page 35: Новые возможности  Oracle OLAP 11g

Доступ с помощью любых инструментов

Реляционая таблица Многомерный куб

Oracle Database 11g

Реляционные View

ДругиеBusinessObjects

CognosOracle BIEE

Ускорение для реляционных приложений и отчетных средств

Page 36: Новые возможности  Oracle OLAP 11g

11g Cube Fact View

DESC units_cube_view;

Name Null Type ------------------------- -------- -------------- TIME VARCHAR2(100) CHANNEL VARCHAR2(100) CUSTOMER VARCHAR2(100) PRODUCT VARCHAR2(100)UNITS NUMBER SALES NUMBER COST NUMBERSALES_PRIOR_PERIOD NUMBERSALES_DIFF_PRIOR_PERIOD NUMBERSALES_PCT_DIFF_PRIOR_PERIOD NUMBER

Keys

Stored facts

Calculated facts

Page 37: Новые возможности  Oracle OLAP 11g

11g Cube Fact ViewSELECT time, product, customer, channel, unitsFROM units_cube_viewWHERE rownum < 15;

TIME PRODUCT CUSTOMER CHANNEL UNITS--------- ------- -------- ------- ----------TOTAL TOTAL TOTAL TOTAL 4000968CY1999 TOTAL TOTAL TOTAL 330425CY2003 TOTAL TOTAL TOTAL 534069CY1998 TOTAL TOTAL TOTAL 253816CY2005 TOTAL TOTAL TOTAL 565718CY2006 TOTAL TOTAL TOTAL 584929CY2004 TOTAL TOTAL TOTAL 587419CY2000 TOTAL TOTAL TOTAL 364233CY2002 TOTAL TOTAL TOTAL 364965CY2001 TOTAL TOTAL TOTAL 415394CY2000.Q1 TOTAL TOTAL TOTAL 88484CY2001.Q2 TOTAL TOTAL TOTAL 97346CY2001.Q3 TOTAL TOTAL TOTAL 105704CY2005.Q3 TOTAL TOTAL TOTAL 138953

Агрегаты по годам

Агрегаты по кварталам

Итого по продуктам и др. измерениям

Page 38: Новые возможности  Oracle OLAP 11g

Запросы к Cube ViewsExplain Plan

SELECT t.long_description time,g.long_description geography,c.long_description channel,f.sales sales

FROM time_calendar_view t, product_standard_view p, geography_regional_view g, channel_sales_channel_view c, sales_cube_view f

WHERE t.dim_key IN('CY2007','Q1CY2007', 'FEB2007')AND p.dim_key = 'ALL_PRODUCTS'AND g.level_name = 'REGION'AND c.dim_key = 'INTERNET'AND t.dim_key = f.TIMEAND p.dim_key = f.productAND g.dim_key = f.geographyAND c.dim_key = f.channel

ORDER BY t.end_date;

Page 39: Новые возможности  Oracle OLAP 11g

Материализованные представления

Объемы продаж по Западному и Восточному регионам за последние 3 месяца ?

x

(30 GB)

ПродажиПродажи(детальные (детальные данные)данные)

• Хранение суммарных данных

• Использование материализованных представлений при автоматической оптимизации запросов

• Средства модификации запросов

• Различные методы обновления (полное, частичное и отложенное)

(2 GB)

Продажи по регионам по месяцам

Page 40: Новые возможности  Oracle OLAP 11g

Materialized Views

• Создание MV при нерегламентированных запросах - проблема

• Пользователи хотят ровый отклик

• Появление большого количества MV

EXPENSE_DETAILday_iditem_idemp_idexpense_amountpotential_fraud_cost

EXPENSE_YDTyear_iddistrict_idexpense_amountpotential_fraud_cost

Year, Region

EXPENSE_MDTyear_iddistrict_idexpense_amountpotential_fraud_cost

Month, District

EXPENSE_MECmonth_idcategory_idemp_idexpense_amountpotential_fraud_cost

Month, Employee, Category

EXPENSE_YECyear_idcategory_idemp_idexpense_amountpotential_fraud_cost

Year, Employee, Category

EXPENSE_YRCyear_idcategory_idregion_idexpense_amountpotential_fraud_cost

Year, Region, Category

EXPENSE_QDIqtr_iditem_iddistrict_idexpense_amountpotential_fraud_cost

Qtr, District, Item

EXPENSE_XXXXXX_idXXX_idXXX_idexpense_amountpotential_fraud_cost

Org Lvl, Time Lvl, Cat Lvl

EXPENSE_XXX

XXX_idXXX_idXXX_idexpense_amountpotential_fraud_cost

EXPENSE_XXXXXX_idXXX_idXXX_idexpense_amountpotential_fraud_cost

EXPENSE_XXXXXX_idXXX_idXXX_idexpense_amountpotential_fraud_cost

EXPENSE_YRTyear_idtotal_category_idregion_idexpense_amountpotential_fraud_cost

Year, District

Page 41: Новые возможности  Oracle OLAP 11g

11g Cube-Organized Materialized Views

Cube MVCube OrganizedCube OrganizedMV MV показывает показывает агрегированные агрегированные данныеданные

Tables

Детальные данные вДетальные данные в обычных таблицах обычных таблицах

SQLSQL запрос запрос

Агрегированные Агрегированные данные в кубеданные в кубе

СУБД обновляет СУБД обновляет данныеданные

QueryQueryRewriteRewrite

• Детальные данные в реляционных таблицах

• Приложение генерирует SQL запрос

• Агрегированные данные в OLAP кубе

• Доступ к агрегированным данным в кубе – автоматический, через query rewrite

• Приложение не меняется, но запросы работают быстрее

Page 42: Новые возможности  Oracle OLAP 11g

Ошибки при использовании OLAP

• Желание подменить хранилище OLAP системой

• Хранение слишком детальных данных в OLAP

• Ожидание, что OLAP сервер решит сам все проблемы с производительностью

• Непонимание разницы между реляционными и многомерными СУБД

Page 43: Новые возможности  Oracle OLAP 11g

Oracle OLAP MDX Driver (http://simba.com)

Page 44: Новые возможности  Oracle OLAP 11g

Работа Simba MDX-OLAP Adapter

MS EXCEL Pivot Table

Simba MDX Adapter’

MDX запрос

Данные

Возврат данных

Oracle OLAP

Выполнение запроса

Фильтрация, агрегация,вычисления

Oracle Client

SQL Данные (записи)

Page 45: Новые возможности  Oracle OLAP 11g

Для чего можно использовать OLAP 11g

• Как MOLAP сервер• Как вычислительное ядро для

приложений на Oracle• Как новый тип MV• Как ускоритель запросов по

агрегированным данным

Page 46: Новые возможности  Oracle OLAP 11g

OLAP 11g и BI EE

Page 47: Новые возможности  Oracle OLAP 11g
Page 48: Новые возможности  Oracle OLAP 11g
Page 49: Новые возможности  Oracle OLAP 11g
Page 50: Новые возможности  Oracle OLAP 11g
Page 51: Новые возможности  Oracle OLAP 11g

О чем помнить при работе с OLAP• Oracle OLAP – другая СУБД, со своими принципами и

подходами к оптимизации.• Частая жалоба – люди, не имеющие опыта с OLAP

сталкиваются с тем, что все не работает «быстро» и сразу

• Существуют миф, что если запросы на огромном объеме данных работают медленно – данные нужно переложить в OLAP и все будет работать быстро.

• OLAP опция динамично развивается, поэтому лучше использовать как можно более позднюю версию и патчи.

• Olap 10g сильно отличается от OLAP 9i, а OLAP 11g отличается от OLAP 10g

Page 52: Новые возможности  Oracle OLAP 11g

Дополнительная информация

http://oracle.com

Email:[email protected]

Блог: http://www.oraclebi.ru/

Page 53: Новые возможности  Oracle OLAP 11g

AQ&


Recommended