Upload
ilinca-dobre
View
169
Download
1
Embed Size (px)
Citation preview
- Depozite de date (Oracle Warehouse) -
2
CUPRINS Introducere ................................................................................................................................................... 3
Orientarea pe subiect ............................................................................................................................... 4
Integrarea .................................................................................................................................................. 4
Non – volatilitatea ..................................................................................................................................... 4
Variabilitatea ȋn timp ................................................................................................................................ 4
Arhitectura unui depozit de date .................................................................................................................. 5
Organizarea datelor ȋn depozite ................................................................................................................... 8
Metadatele .................................................................................................................................................... 9
Oracle pentru depozite de date .................................................................................................................. 10
Bibliografie .................................................................................................................................................. 11
ANEXA – Aplicație: Oracle Warehouse Builder ........................................................................................... 12
Pasul 1: Configurarea mediului Oracle Warehouse Builder ................................................................... 13
Pasul 2 – Generarea Surselor De Date .................................................................................................... 16
Pasul 3 – Vizualizarea Depozitului .......................................................................................................... 20
3
DEPOZITE DE DATE ORACLE
(ORACLE WAREHOUSE)
INTRODUCERE
Ȋn sens larg, depozitul de date reprezintă o bază de date de foarte mari dimensiuni care
este întreţinută separat de bazele de date operaţionale ale unei organizaţii şi care este construită
din date provenite din sisteme sursă prin extragere, filtrare, transformare şi stocare în depozite
speciale, în scopul sprijinirii proceselor decizionale.
Depozitele de date sprijină prelucrarea informaţiilor pentru analiză, furnizând o platformă
solidă de consolidare a datelor istorice. Un depozit de date este un ansamblu de date consistente,
din punct de vedere semantic, care serveşte la o implementare fizică a unui model de date pentru
sprijinirea deciziei şi stochează informaţii pe care o organizaţie le solicită în luarea deciziilor
strategice.
Ȋn definiția dată de W. H. Inmon (considerat părintele depozitelor de date), un depozit de
date este o colecție de date orientate pe subiect, integrate, non – volatile, variabile ȋn timp și care
constituie suport pentru luarea deciziilor ȋntr-o organizație.
4
Fig. 1 – Schema ilustrativă a unui depozit de date
ORIENTAREA PE SUBIECT: Ȋn general, depozitele de date sunt organizate în jurul
aplicaţiilor funcţionale ale companiei. De exemplu, pentru o companie de asigurări aplicaţiile
sunt orientate pentru auto, viaţă, sănătate şi depozitele de date se construiesc pe aceste subiecte.
INTEGRAREA: Depozitele sunt alimentate dintr-o multitudine de surse separate. La
alimentare, ele sunt curăţate, convertite, transformate, rezumate. Rezultă o singură imagine
integrată a datelor pentru ȋntreaga companie ȋn care datele sunt stocate astfel încât să faciliteze
utilizarea lor în mai multe aplicaţii, cu respectarea unor convenţii de nume, de structură, de
măsuri.
NON – VOLATILITATEA: În depozite, datele se încarcă în anumite momente de timp şi sunt
stocate pe perioade lungi de timp, de aceea nu se permite modificarea acestora odată ce ele au
fost deja ȋncărcate din sistemul operațional.
VARIABILITATEA ȊN TIMP: Datele sunt semnificative pentru un anumit moment de timp
(time-variancy) și de aceea înregistrările conțin o informaţie privind momentul sau perioada de
timp pentru care sunt valabile.
Depozit de date
Colecții de date:
Orientate pe subiect
Integrate
Non – volatile
Variabile ȋn timp
5
ARHITECTURA UNUI DEPOZIT DE DATE
Arhitectura unui depozit de date este formată din trei componente conectate ȋntre ele:
sursa de date, depozitul de date și interfața de analiză (vezi figura 2). Depozitul de date este de
dimensiuni foarte mari și conține informațiile informațiile pe care le pot folosi utilizatorii
(clienți, furnizori).
Fig. 2 – Arhitectura unui depozit de date
Depozitul de date conţine mai multe tipuri de date care corespund diferitelor cerinţe
informaţionale ale utilizatorilor: date detaliate, date agregate, metadate (dicţionarul de date).
Metadatele descriu datele conţinute în depozitul de date şi modul în care ele sunt
obţinute şi stocate. Prin metadate se precizează structura datelor, provenienţa lor,
regulile de transformare, de agregate şi de calcul. Ele sunt utilizate la încărcarea
datelor, la consultare, la actualizare, adică pe parcursul întregului ciclu de viaţă
al depozitului.
Date
externe
T
r
a
n
s
f
o
r
m
a
r
e
Metadate
Data Mart
Data Mining
OLAP
Date
interne
Date
arhivate
Date agregate
Date detaliate
Sursa de date Depozit de date Interfața de
analiză
6
Datele agregate, deşi determină o creştere a redundanţei datelor și sunt necesare
deoarece în acest fel se poate asigura un timp mediu de răspuns cât mai redus.
Aceste date presupun un grad de prelucrare prealabilă, astfel încât să fie pregătite
pentru nevoile managementului: consolidare, totalizare, sumarizare, împachetare
(în formate accesibile interfeţelor de analiză utilizate).
Datele detaliate sunt cele relativ recente, livrate utilizatorilor, de regulă la nivel de
execuţie. Tot aici se găsesc și date avȃnd o anumită vechime, tot ȋn formă
detaliată.
Sursele de date sunt: datele operaţionale curente (BD şi/sau fişiere din sistemul informatic al
organizaţiei), datele vechi arhivate, datele externe (BD şi fişiere din sistemele informatice ale
altor organizaţii). Construirea depozitului de date, pornind de la sursele de date, presupune
parcurgerea unor etape în cadrul unui proces de transformare:
- extragerea datelor din datele operaţionale sau din surse externe, urmat de copierea lor în
depozitul de date. Acest proces trebuie, cel mai adesea, să transforme datele în structura
şi formatul intern al depozitului;
- filtrarea datelor, pentru a exista certitudinea că datele sunt corecte şi pot fi utilizate
pentru luarea deciziilor;
- încărcarea datelor corecte în depozitul de date;
- agregarea datelor: totaluri precalculate, subtotaluri, valori medii, sume etc., care se
preconizează că vor fi cerute şi folosite de utilizatori. Aceste agregări sunt stocate în
depozitul de date împreună cu datele importate din sursele interne şi externe.
Interfeţele de analiză sunt produse software care implementează tehnologii informatice
pentru extragerea şi analiza datelor din depozit : concentrări de date (Data Mart), extrageri şi
analize de date (Data Mining), analiza multidimensională a datelor (OLAP).
7
Datele ȋn depozite sunt subiect – orientate, deci organizate mai puțin după aplicație sau
proces. Ele sunt extrase și reȋmprospătate periodic de către sistemul operațional. După arhitectura
prezentată anterior (figura 2), serverul depozitului de date este punctul central (“inima”)
aplicației. Totuși, mai există o arhitectură pe verticală, mai simplă, cu două niveluri, ȋn care
primul nivel include sistemul operațional cȃt și baza de date iar al doilea aplicațiile client.
Fig. 3 – Arhitectura pe straturi
Metadata
Date sumarizate parțial
Date sumarizate complet
Date curente detaliate
Date vechi
8
ORGANIZAREA DATELOR ȊN DEPOZITE
Sursele de date pentru depozitul de date provin în principal din datele importate din
sistemul informatic operațional, dar mai pot proveni din datele de arhivă (în perioada de
constituire a depozitului) precum şi din surse externe (baze de date publice, date demografice,
date statistice, date de prognoză economică, date obtinute în urma unor sondaje de opinie etc.).
Colecţiile de date (BD sau fişiere) utilizate de sistemul informatic operaţional au ca scop
optimizarea şi siguranţa procesării datelor.
Datele dintr-un depozit de date sunt organizate într-o manieră care să permită analizarea
lor complexă, deci extragerea semnificaţiei economice pe care o poartă. Depozitul de date este
orientat pe subiectele importante ale procesului economic: clienții, furnizorii, produsele,
activităţile. De exemplu, o comandă lansată de un client va apărea în sistemul operaţional ca un
set de înregistrări care vor conţine date despre client, date despre produsele sau serviciile
comandate, date despre modul de transport, date despre modul de plată.
În sistemul operaţional redundanţa este minimizată (de exemplu prin procesul de
normalizare - proiectarea) pentru a evita anomaliile de actualizare. În depozitul de date
redundanţa este creată în mod intenţionat (prin denormalizare si sumarizare) pentru a permite un
acces mai rapid şi uşor la date.
Integrarea datelor reprezintă un aspect important al depozitului de date şi anume raţiunea
pentru care acesta este creat. Datele sunt adunate pentru a răspunde nevoilor informaţionale ale
întregii organizaţii, asigurând faptul că rapoartele generate pentru diverse compartimente vor
conţine aceleaşi rezultate. Informaţiile care au caracter istoric sunt esenţiale, deoarece ele pun în
evidentă tendinţe care reprezintă fundamentul unei prognoze corecte.
Depozitul de date este un istoric al sistemului operaţional. Orizontul de timp pe care îl
acoperă depozitul de date este de cel puţin cinci ani, ajungând uneori la zece ani, în funcţie de
dinamica evoluţiei pieţei şi, deci, de relevanţa datelor cu caracter istoric pentru nevoile analizei.
Din punctul de vedere tehnic, aceasta implică faptul că orice înregistrare din depozitul de date
poate fi plasată în timp, orice cheie de acces cuprinde şi o variabilă de timp. Actualizarea la
depozitele de date este foarte rară, ea se realizează doar prin adăugarea periodică a unor date
extrase din sistemele operative sau din alte surse de date (campanii).
Din punctul de vedere al aplicaţiilor care folosesc depozitul de date, accesul la date este
doar pentru citire. Pentru a obţine informaţiile dorite, depozitele de date sunt supuse unor
prelucrări complexe, cu ajutorul unor metode specifice, cum ar fi: analiza multidimensională a
datelor, metode statistice superioare de prognoză, metode matematice aplicate unui volum foarte
mare de date. Aceste metode presupun folosirea unui software specializat deosebit de complex,
bazat pe noi tehnologii informatice: extrageri de date (data mining), OLAP, concentrări de date
(data mart).
9
Concentrările de date (data marts) pot fi construite să funcţioneze pe configuraţii mai
modeste decât depozitele de date şi sunt specifice unei anumite aplicaţii. Depozitul de date
conţine informaţii care pot fi utilizate pentru a răspunde oricărei întrebări privind afacerile unei
organizaţii, iar concentrările de date conţin datele necesare unui anumit compartiment al
organizaţiei. Conectând împreună concentrările de date aferente diferitelor compartimente ale
organizaţiei, formând astfel o infrastructură specifică, departamentele pot folosi în comun datele
lor şi se poate crea astfel un sistem de suport al deciziei mai uşor de construit şi mai flexibil.
Interfeţele OLAP se bazează pe reprezentarea multidimensională a datelor (cub de date) şi
permite analiza interactivă şi rapidă a datelor prin operaţiuni specifice. Utilizatorul poate obţine
rezultate immediate parcurgând dinamic dimensiunile cubului de date, lucrând cu niveluri
diferite de sinteză/detaliere.
Interfeţele de tip Data Mining asigură extragerea şi transformarea datelor în cunoştinţe.
Se utilizează tehnici ale analizei statistice superioare şi de inteligenţă artificială care permit
descoperirea de corelaţii, reguli, cunoştiinţe utile sprijinirii deciziilor.
METADATELE
Metadatele sunt informaţii despre datele existente în depozite, care descriu structura
(conţinutul) depozitului şi furnizează referinţe directe la date. Ele sunt folosite pentru
administrarea depozitului de date, deoarece conţin informaţii despre: sursa datelor, algoritmii de
sumarizare, statisticile de utilizare etc. Metadatele sunt create pentru toate numele de date şi
definiţiile din depozit. Metadate adiţionale sunt create pentru a asocia intervale de timp la datele
extrase şi alte câmpuri care vor fi adăugate prin filtrarea datelor sau prin procesele de integrare.
Metadatele unui depozit de date conţin următoarele informaţii:
- o descriere a structurii de date din depozit, care include schema depozitului,
dimensiunile, ierarhiile, definiţiile datelor derivate;
- metadatele operaţionale, care includ: date privind evoluţia în timp (istoricul datelor şi
secvenţa de transformare aplicată asupra lor), circulaţia datelor (active, arhivate, şterse)
şi informaţii de monitorizare (statistici privind utilizarea depozitului de date, rapoarte de
erori etc.);
- algoritmii utilizaţi pentru sumarizare, care includ: măsura şi dimensiunea algoritmilor
definiţi, date despre granularitate, partiţii, arii de subiecte, agregări, sumarizări, rapoarte
şi filtre predefinite;
- mapările (transformările) de la mediul operaţional la depozitul de date care includ: bazele
de date sursă şi conţinutul lor, descrierile interfeţelor (gateways), partiţionarea datelor,
extragerea datelor, filtrarea datelor, regulile de întreţinere, securitate a datelor;
10
- date referitoare la performanţele sistemului care include indici şi profiluri care
îmbunătăţesc accesul la date şi performanţele de căutare;
- metadatele economice (business metadata), care includ termenii economici şi definiţiile
aferente.
ORACLE PENTRU DEPOZITE DE DATE
Oracle a fost printre primele sisteme care au inclus funcționalități pentru implementarea
depozitelor de date. Ȋncepȃnd cu versiunea 7.3, au fost posibile interogări paralele,
managementul paralel al datelor, optimizări bazate pe interogări, indexuri bitmap, etc. Oracle8 a
ȋmbunătățit aceste funcționalități și conectȃnd serverul cu unelete ca Oracle Discoverer și Oracle
Express, a devenit cea mai bună alegere ȋn construirea și ȋntreținerea unui depozit de date. Mai
mult, sistemul este mereu actualizat pentru a face față noilor cerințe ce apar ȋn legătură cu
depozitele de date.
Arhitectura este ilustrată ȋn figura 4 și ȋmpărțită ȋn 3 straturi:
Stratul 1 - accesarea datelor: datele pot fi accesate de la surse multiple iar
transferul este asigurat de utilitare ca SQL*Loader, scheme Oracle export/import.
SQL Stored Procedures.
Stratul 2 – Serverul depozitului de date: serverul poate fi de tip RDBMS (Relation
Database) sau MDD (Multi-Dimensional Database), Oracle prevăzȃnd soluții
pentru amȃndouă. Pentru MDD, se folosește Oracle Express Server iar pentru
RDBMS Oracle7, Oracle8 sau Oracle8i.
Stratul 3 – Sistemul de decizie : conține DSS și OLAP. Cu utilitarele Oracle
Reports, Oracle Discoverer și Oracle Express, utilizatorul poate avea oricȃnd și
oricum acces la datele depozitului.
Server al depozitului de
date
Sistem
operațional
Sisteme
Oracle
Oracle Discoverer
Oracle Express
Oracle Reports
SQL*Loader
Export/Import
Proceduri
stocate
Oracle
Transparent
Gateway Sisteme
“legacy”
DSS
OLAP
DSS
11
BIBLIOGRAFIE
1. Oracle Database, Data Warehousing Guide, 11g Release 1, September 2007
2. F. Ionescu, note de curs
3. Muhammad Ahmad Shazad, “Data Warehousing with Oracle”, Oracular
5.http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r1/owb/owb11g_update_g
etting_started_intro/lesson1/less1_start.htm
12
ANEXA – APLICAȚIE: ORACLE WAREHOUSE BUILDER
Aplicația a fost dezvoltată ȋn Oracle Warehouse Builder, un utilitar inclus ȋn pachetul
Oracle Database 11gR1.
Oracle Warehouse Builder (OWB) permite proiectarea şi construirea depozitelor de
date, a centrelor de date (data mart) şi a aplicaţiilor BI (Business Intelligence). Conţine un
set de instrumente grafice care asistă utilizatorul în proiectare, pentru crearea obiectelor
memorate într-un spaţiu de lucru (workspace) memorat în baza de date Oracle:
Toolset-ul Design Center permite importul obiectelor sursă şi proiectarea
proceselor ETL şi a obiectelor de corespondenţă (mapping) . Un mapping
(mapare) defineşte un flux de date de la sursă la depozitul ţintă (target
warehouse) iar OWB generează codul pentru extragerea, transferul şi
încărcarea datelor (procesul ETL).
Toolset-ul Repository Browser asigură o interfaţă Web pentru inspectarea
metadata din depozit.
Control Center Service – controlează deploymentul bazei de date target .
Figura A1 – Diagramă ce ilustrează interacțiunea dintre componentele principale
ale OWB
13
PASUL 1: CONFIGURAREA MEDIULUI ORACLE WAREHOUSE BUILDER
Se porneşte Repository Assistant.
Se creeaza un nou user şi se realizează accesul la centrul de control (control center).
14
15
Pentru a obine accesul, în command window se introduce:
C:> sqlplus
sql> username: sys as sysba
password: password
Iar pentru OWBSYS, se vor introduce:
sql> alter user owbsys identified by password account unlock;
16
PASUL 2 – GENERAREA SURSELOR DE DATE
După crearea coenxiunii, inainte de a ne loga cu userul nou creat, se vor rula nişte
scripturi pentru generarea unor tabele, mapări, cuburi, etc. Acestea se găsesc în
<path>newowdemo.
17
Ne vom loga din cmd din nou la sqlplus şi vom genera comanda:
Sql> @d:\newowbdemo\create_users.sql;
Se vor crea doi useri: xsales şi eul_from_owb.
18
Se editează fişierul owbdemoinit.tcl cu valorile corespunzătoare mediului creat prin
Repository Assistant.
#define global variables used in procedures global debug global iconlocation global owbclient global owbclientpwd global host global port global service global udoappdefname global themodule #Set all common variables set owbclient rep_owner set owbclientpwd rep_owner set sysuser sys set syspwd orcl set host localhost set port 1521 set service orcl set project OWB_DEMO set sourcedir d:/newowbdemo set dataspace USERS set indexspace USERS set tempspace TEMP set snapspace USERS set sqlpath C:\app\Illy\product\11.1.0\db_1\BIN set sid orcl #set the workspace info set workspaceOwner rep_owner set workspaceName my_workspace
19
Apoi, în OMB Plus (Start > Programs > [Oracle - OWB11gR1clientHome] >
Warehouse Builder > OMB Plus) se introduc comenzile:
cd d:\\newowbdemo\\
source owbdemoinit.tcl
source loadall.tcl
20
PASUL 3 – VIZUALIZAREA DEPOZITULUI
La pornirea WarehouseBuilder->Design Center, prin logarea cu userul şi parola
aferente, vom observa că în fereastra Explorer s-a generat un model nou OWB_Demo.
SALES_WH conţine tabelele de date, cuburile şi mapările.