pondělí 15. října 2007

Datamart Automation - Zrychlení odezvy uživatelských dotazů

Jedna z častých stížností uživatelů na reportovací/analytický systém je výkonnost (přesněji odezva/doba generování reportů). Už Vám někdy "business" uživatelé volali a stěžovali si: "Máte to zase pomalé ... s tím se nedá dělat. Report jsem spustil(a) před hodinou a pořád nic ..."?

Jak Vám s tímto může Oracle Business Intelligence pomoci? K dispozici jsou následující varianty:
  1. Data předagregujete prostředky relační nebo multidimenzionální databáze a nasměrujete Oracle BI Server na tato data
  2. Využijete Datamart Automation - funkcionalita Oracle Business Intelligence Enterprise Edition a Standard Edition One

Co je Datamart Automation?
Oracle BI Server obsahuje "Aggregate Navigator" - vlastnost, která přesměruje uživatelský dotaz na předagregovaná/sumární data místo toho, aby výsledek byl znovu počítán z dat detailních (vše je pro uživatele/aplikaci plně transparentní). Samozřejmostí je, že někdo (IT) musí zajistit, aby předagregovaná data existovala a byla správně namapovaná do metadat BI Serveru.

Datamart Automation umí výše uvedené automatizovat, tzn. na základě Vašich požadavků založí v určené databázi (je jedno jaké) datamart (STAR schéma), naplní jej daty (tzn. data předagreguje) a namapuje potřebná BI metadata. Vše probíhá automaticky, pro návrh lze využít grafického průvodce, pro automatické plnění a obnovu dat lze využít komponentu Oracle BI Scheduler nebo nějakou službu pro plánované spouštění úloh.


Datamart Automation nabízí snadný a rychlý vývoj nezávislých datových tržišť, která mohou být fyzicky vytvořeny v libovolné databázové technologii. Na vývojáře a správce klade minimální nároky na znalost problematiky tvorby datamártů a definice BI metadat, a hlavně je vše plně transparentní pro koncové uživatele/aplikace - tzn. nemusíte předělávat stávající reporty, sestavy nebo analýzy, funkcionalita je využívána automaticky!


Jak na Datamart Automation?

I. Příklad
Chci analyzovat výnosy a náklady za celou společnost (všechny pobočky) a za jednotlivá období (jednotlivé roky):


Výsledný dotaz poslaný do databáze je následující:



II. Definice cílové databáze pro datamart

1/ V metadatech založte databázi, která bude obsahovat výsledný datamart (v mém případě Oracle 10gR2)


2/ Pro databázi vytvořte connection pool (obsahuje jméno uživatele/schéma, pod kterým bude datamart fyzicky vytvořen)



III. Definice datamartu

1/ Z menu Tools > Utilities spusťte Aggregate Persistence Wizard


2/ Doplňte cestu a název skriptu, který bude vygenerován


3/ Vyberete business model, faktovou tabulku a ukazatele, pro které chcete založit datamart


4/ U jednotlivých dimenzí vybere úrověň pro agregaci (v mém případě, u geografické a časové dimenze chci agregovat data na nejvyšší úrovni, dimenzi prodejních kanálů nepoužívám)


5/ Vyberte databázi, schéma a connection pool, ve kterém bude datamart vytvořen (viz. výše krok 1 a 2)


6/ Systém vygeneruje "create" skript pro založení datamartu


7/ Jestliže počítáte s tím, že datamart budete pravidelně obnovovat, je třeba přidat do skriptu příkaz pro jeho zrušení tj. příkaz "delete aggregates"


Chcete-li přidat/předělat/odstranit indexy, můžete je do skriptu také zahrnout. Skript pak bude vypadat takto:

EXECUTE PHYSICAL CONNECTION POOL "DM_Automation"."DM_Automation_ConnPool" DROP INDEX ......;

DELETE AGGREGATES......;

CREATE AGGREGATES......;

EXECUTE PHYSICAL CONNECTION POOL "DM_Automation"."DM_Automation_ConnPool" CREATE INDEX ......;


IV. Založení a naplnění datamartu (spouštění skriptu)
K dispozici máte dvě možnosti
  1. Ruční spuštění skriptu
  2. Automatické spouštění skriptu

1/ Ruční spuštění
Skript spusťte pomocí utility nqcmd.exe:
nqcmd.exe -d AnalyticsWeb -u Administrator -p Administrator -s d:\dm_automation_bdemo.sql


2/ Automatické spouštění
Utilitu nqcmd spolu se skriptem zavoláte z nějakého externího časovače, jako je Crontab, Windows Scheduler nebo Oracle BI Scheduler:



V. Kontrola výsledného datamartu

Po přihlášení do databáze, uvidíte vytvořený datamart:


Po přihlášení k BI Serveru, uvidíte BI metadata pro vytvořený datamart (fyzická vrstva) a mapování agregovaných ukazatelů a dimenzí na ty detailní (business model & mapping)


VI. Opakování příkladu
Chci analyzovat výnosy a náklady za celou společnost (všechny pobočky) a za jednotlivá období (jednotlivé roky), tzn. spouštím stejný report viz. bod I.:


Výsledný dotaz poslaný do databáze je nyní následující:



Co můžete očekávat v blízké budoucnosti?
  1. Možnost uložení datamartu do Oracle Analytic Workspace (tj. Oracle OLAP Option neboli multidimenzionální úložiště)
  2. Paralelní nahrávání a agregace datamartu
  3. Automatizované indexování

Erik Eckhardt (eec).

Žádné komentáře: