1 / 36

Oracle OLAP Option ( Да споделим опита  )

Oracle OLAP Option ( Да споделим опита  ). Ина Найденова , ТехноЛогика inaydenova@techologica.com. Oracle OLAP. Oracle Express Platform : Express Server Express Administrator Oracle Express Objects и др. Oracle Olap Option : Olap Analytical Engine като част от RDBMS Oracle

bena
Download Presentation

Oracle OLAP Option ( Да споделим опита  )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle OLAP Option( Да споделим опита  ) Ина Найденова, ТехноЛогика inaydenova@techologica.com

  2. Oracle OLAP • Oracle Express Platform: • Express Server • Express Administrator • Oracle Express Objectsи др. • OracleOlap Option: • Olap Analytical Engine каточаст от RDBMS Oracle • Analytic Workspaces, OLAP DML, SQL Interface to OLAP • Analytic Workspace Java API • BI Beans and Java OLAP API • AWM, OLAP Worksheet • OracleBI Discoverer Plus OLAP, OracleBI Spreadsheet Add-In

  3. Какво използвахме? • Цели: • да създадем аналитично пространство с подходящ многодименсионнен модел • да заредим данните в дефинираните кубовете • да дадем на клиентите въможност да анализират данните • Използвани средства за целта: • Analytic Workspace Manager • OracleBI Discoverer Plus OLAP • OracleBI Spreadsheet Add-In

  4. Аналитичното пространство • Може да се създаде чрез: • Analytic Workspace Manager (AWM) • OracleBI Warehouse Builder (OWB) • AW XML API • OLAP DML / DBMS_AW • AW може да се ползва от: • BI tools на Oracle • SQL • OLAP APIs

  5. Analytic Workspace Manager • AWМможе работи в 2 режима: Model View – представя многодименсионния модел на даните (т.нар. Standard form) Object View – едно ниво по-надолу, имаме допълнителни обекти, с които работи OLAP engine-а • Последна версия 10.2

  6. Levels All time All 2005 2006 Year Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Quarter Month … M1 M2 M3 M1 M2 M3 Day D2 D3 … D31 D1 D2 D3 … … D1 D30 Елементи на Дименсионения Модел (Model View) • Основни елементи на логическия многодименсионнен модел: • Метрики • Дименсии • Йерархии • Нива • Атрибути • Кубове

  7. Стъпки при израждане на ДМ с AWM 1) Установяване на връзка и създаване на празен AW • създава се таблица AW$aw_name • права за достъп до аналитичното пространство • копиране на аналитично пространство (dbms_aw.aw_copy)

  8. Стъпки при израждане на ДМ с AWM 2) Съдаване на дименсите: - нивата • йерархиите • атрибутите • mapping на дименсиите • зареждане на дименсионните данни

  9. Стъпки при израждане на ДМ с AWM 3) Създаване на кубове: • “рехав” (sparse)и по кои дименсии • как ще агрегираме данните • дали да е компресиран • дали да е разделен на дялове

  10. Създaване на кубове

  11. Съхранение на многодименсионните данни

  12. Компресиране на кубове

  13. Компресията - ограничения • По компресиранитедименсии трябва да бъдат агрегирани всички нива (не може да използвате skip-level) • По компресираните дименсии може да се използва само SUM оператор • Не може да дефинирате променлива едновременно с нормален композитен индекс и компресиран композитен индекс • Не може да имаме повече от една променлива в компресиран куб *

  14. Логическо разделяне на дялове • Работим с по-малки метрики • Ако имаме повече от 1 CPU, AWM и AW/XML Java API използват паралелизъм за да се използват пълноценно всичките CPUs • Ако използвате Multi-Write възможностите на 10g, може да имате много сесии, които да променят отделните дялове • По-лесно се добавят и изтриват части от куба, фрагметация е по-малка • Ако използвате компресия, агрегациите се правят на ниво дял

  15. Логическо разделяне на дялове

  16. Стъпки при израждане на ДМ с AWM 4) Създаване на метрика

  17. Стъпки при израждане на ДМ с AWM 5) Зареждане наметрика

  18. DEFINE [program_name] PROGRAM PROGRAM ARGUMENT p_prod_level integer ALLSTAT SQL DECLARE CRS_ALLIANZ_CLNUM CURSORFOR - SELECT - RPERIOD_ID,- CLFORMNT_ID, - .... FROM [source_name] - WHERE prod_level = :p_prod_level - GROUP BY - RPERIOD_ID,- ... ROLLUP(CLFORMNT_ID) SQL OPEN CRS_ALLIANZ_CLNUM SQL IMPORT CRS_ALLIANZ_CLNUM INTO - :MATCH MONTHS - :MATCH CLIENT_FOR_MONTHS - ... :MATCH TB_ALLIANZ_CLIENTS_NUM_STORED SQL CLOSE CRS_ALLIANZ_CLNUM SQL CLEANUP UPDATE COMMIT SHOW JOINCHARS ('TB_CLNUM - LEVEL ' p_prod_level ' LOADED!') END

  19. Object View • Дименсиите – имаме дименсии за елементите, нивата и др., релации за йерархичните отношения • Атрибутите – в променливи • Метриките – във формули и променливи • Правилата за агрегиране – в aggregation maps и valuesets

  20. Object View – Formulas DEFINE DEMO_CLNUM FORMULA INTEGER <list of dimensions> EQ aggregate ( DEMO_CLNUM_STORED using OBJ771105059 )

  21. Aggregation Maps DEFINE [name] AGGMAPAGGMAP RELATION MONTHS_PARENTREL PRECOMPUTE(ALL) OPERATOR NOAGG RELATION SALES_CHANNELS_PARENTREL PRECOMPUTE(SCHL_AGG_VSET1) OPERATOR SUM RELATION PRODUCTS_PARENTREL PRECOMPUTE(PROD_AGG_VSET1) OPERATOR SUM RELATION CONTRACT_COUNT_PARENTREL PRECOMPUTE(CONTRACT_COUNT_LEVELREL 'CONTR_COUNT_L1') OPERATOR SUM RELATION CLIENT_STATE_PARENTREL PRECOMPUTE(CLIENT_STATE_LEVELREL 'CLIENT_STATE_L2') OPERATOR SUM …END

  22. All L1 E1 L1 E2 L2 E1 L2 E2 … … L2 Ek … … L3 E2 … … L3 Em … L4 E1 ... … … Можем ли сами даси направим “компресия”? • За даден период [tk,tm] имаме неадитивни дименсии, в чиито йерархии имаме възли само с 1 наследник Искаме OLAP engine-а точно за тези възли да използва обощения “on the fly”

  23. Можем ли сами даси направим “компресия”? • Нуждаем се от коректен aggregation map, който да се опреснява при всяко зареждане на данните • Например: дименсиите канали на продажба и продукти са неадитивни, но в SCHL_AGG_VSET1 и PROD_AGG_VSET1 се съдържат всички елементи освен възлите с един единствен наследник

  24. Можем ли сами даси направим “компресия”? DEFINE F_NAME FORMULA INTEGER EQ IF MONTHS GE '2003-JAN' AND MONTHS LT '2004-JAN' THEN aggregate(MEASURE_STORED using AGG_MAP1) ELSE IF MONTHS GE '2005-JAN' AND MONTHS LT '2006-JAN' THEN aggregate(MEASURE_STORED using AGG_MAP2) ELSE aggregate(MEASURE_STORED using AGG_MAP3)

  25. SQL достъп до многодименсионните масиви

  26. SQL достъп до многодименсионните масиви • CREATE TYPE row_obj AS OBJECT ( • column_first datatype, • column_next datatype, • column_n datatype); • CREATE TYPE table_obj AS TABLE OF row_obj; • SELECT * • FROM TABLE ( • OLAP_TABLE • ( 'analytic_workspace', • 'table_obj', • 'olap_command', • 'limit_map‘ • ) ) • MODEL • DIMENSION BY(dimensions, gids) • MEASURES(measures, attributes, rowtocell) • RULES UPDATE SEQUENTIAL ORDER();

  27. Други • Полезни изгледи: All_olap2_aw_XXXX V$AW_XXXX • Имплицитна смяна на текущото AW • Отделно temporary таблично пространство за OLAP потребителите • Проблеми с освобождаването на паметта selectsum(dbas.bytes)/1024/1024 as mb fromuser_lobs dbaljoinuser_segments dbas using (segment_name)where dbal.column_name = 'AWLOB' and dbal.table_name ='AW$ALLIANZDW'; select sum(length(AWLOB)) from AW$ALLIANZDW;

  28. OracleBI Spreadsheet Add-In

  29. OracleBI Spreadsheet Add-In

  30. OracleBI Spreadsheet Add-In

  31. OracleBI Spreadsheet Add-In

  32. OracleBI Discoverer Plus OLAP

  33. Time: May, Client Type: Private person, … Time: April 2006,…. въвВарна, Стара Загора и Бургас няма застрахователни офиси Услуги свързани с банковия бизнес

  34. В заключение • Много е направено, но и има още какво да се желае  • Работи се в нова посока: Oracle BI Suite базиран на Siebel Analytics платформата

  35. Въпроси ?

More Related