Documente Academic
Documente Profesional
Documente Cultură
2011
Cuprins
1
Consideraii de design..............................................................................................................
4.1
Modelarea relaional. Baze de date normalizate..........................................................
4.2
Modelarea dimensional. Baze de date demormalizate.................................................
4.3
Granularitatea.................................................................................................................
4.4
Partiionarea...................................................................................................................
4.5
Indexarea........................................................................................................................
4.6
Capcane n modelarea datelor........................................................................................
Modelul de date.........................................................................................................................
5.1
Nivelul Conceptual........................................................................................................
5.2
Nivelul logic..................................................................................................................
5.3
Nivelul fizic...................................................................................................................
5.4
Concluzie.......................................................................................................................
Bibliografie................................................................................................................................
Introducere
practic din ce n ce mai frecvent. Un sondaj realizat de META Group n 1998 arata ca
90% dintre managerii intervievai intentionau lansarea unor proiecte de implementare a
acestui concept. Segmentul de pia legat de depozitele de date are o rata anual de
crestere de cca. 35%.
William Inmon este considerat printele noiunii n nelesul ei curent (Inmon
deine de altfel trademark-ul termenului Data Warehouse). Viziunea sa despre depozitele
de date se concentreaz asupra rolului acestora, de baza informational a deciziei
manageriale, pstrnd astfel un nivel nalt de generalitate. Un alt nume important este cel
al lui Earl Hadden, cel care a enuntat, a fundamentat i a experimentat cu succes o
metodologie riguroas pentru implementarea rapid a depozitelor de date (90 day
winners). O serie de societi comerciale i-au adus la rndul lor contribuia la
clarificarea, dezvoltarea i popularizarea noii tehnologii. Printre acestea se remarc
Software AG, Oracle, Red Brick Systems, Prism Solutions, MicroStrategy, IBM i SAP.
Din perspectiva economic, globalizarea comerului, ascuirea dramatic a
concurenei, scurtarea spectaculoasa a ciclurilor de viaa a produselor - datorit dinamicii
tehnologiei, impunerea unor cerine calitative extrem de ridicate precum i alte asemenea
evoluii, au evideniat si mai mult valoarea strategic a informaiei. Manipularea
operativ a informaiei a impus la rndul ei noi modele manageriale, mai versatile i mai
eficiente. Nevoia de a rspunde n timp optim cerinelor pieei a condus la
descentralizarea i la reducerea numrului nivelurilor decizionale, consacrnd ierarhiile
plate, care se bazeaz pe delegarea puterii decizionale operative catre esalonul
managerial secund. Atat la nivelul managementului strategic ct i la nivelul
managementului operativ, nevoia de informaie pur i corect a devenit vitala.
Din perspectiva tehnologic, ultimii ani au adus puterea de calcul la preuri
accesibile. Servere paralele bazate pe microprocesoare accesibile ca pre, rivalizeaz ca
putere cu supercalculatoarele, la o fractiune din pretul acestora din urm. Sistemele de
baze de date pot exploata la maximum arhitecturile hardware paralele, iar evoluiile spre
sisteme deschise permit o conectivitate aproape total la orice fel de surse de date i
interoperabilitate ntre diverse platforme software i hardware. Mediile de stocare
magnetice i optice admit volume de ordinul tera i chiar mai mult. PC-urile au ajuns i
ele la maturitate. Puterea lor este acum suficienta pentru funciile de analiz i prezentare
care le sunt rezervate, iar interfeele grafice intuitive le fac accesibile utilizatorilor nontehnici sau fr o pregatire special n domeniul ultilzrii intefeelor.
1.2
Scop i Cerine
fizic de cele ce servesc unor nevoi de analiza sau unor nevoi informaionale
1.3
Caracteristici
Integrat
Non-volatil
Centrat pe timp
Sitemul de fat, ce se aplic ntro companie de telecomunicaii respect toate
aceste caracteristici.
Centrarea modelului pe subiect
Spre deosebire de sistemele operaionale, care sunt organizate n jurul unei
aplicaii funcionale ale companiei spre exemplu aplicaii de facturare (Billing), de
management al relaiilor cu clienii (CRM), sistemele data warehouse au ca nucleu al
informaiei un anumit subiect cheie a crui analiz se dorete.
Modelul de date n proiectul de fa este organizat n jurul unui numar de subiecte
cheie din domeniul telecomunicaiilor mobile. Acestea sunt subiecte pe baza crora
putem analiza, urmri i msura rezultatele companiei ( financiare sau non-financiare).
Exemple de astfel de subiecte sunt: Clienti, Produse, Contracte, Parteneri, Canale de
distribuie.
Integrate
Faptul c n data warehouse datele sunt integrate nseamn c ele sunt organizate
ntrun unic format de msur i referint (sunt msurate n acelai fel i refer acelai
lucru). Aceasta este poate cea mai important caracteristic a sistemului data warehouse.
Datele intr n data warehouse din multiple surse disparate. Pentru ca datele s fie
integrate, ele trebuie s fie convertite, reformatate, renumerotate, sumarizate, etc.
Rezultatul este o unic imagine a activitilor companiei.
Datele operaionale sunt orientate pe aplicaii, n sensul c organizarea lor este
optimizat pentru a servi procesului tranzacional, dinamicii sistemului. n contrast, DW
este orientat pe subiectele importante ale procesului economic, cum ar fi: clieni,
furnizori, produse, activiti. Mai mult, date eseniale din perspectiva operaional sunt
complet lipsite de relevan din perspectiva informaional. Aceste date vor fi exluse din
data warehouse. (ex. ID-uri cu semnificaii locale)
Raiunea pentru care data warehouse-ul este creat l constituie asigurarea datelor
pentru a rspunde nevoilor informaionale ale ntregii organizaii, asigurnd faptul c
rapoartele generate pentru diverse compartimente vor furniza aceleai rezultate. Sistemul
operaional este de cele mai multe ori format din subsisteme semi-independente, create la
momente diferite, de echipe diferite, n maniere diferite, rezultnd un amalgam care, dei
funcional si de nenlocuit din punct de vedere operaional sistemul nu poate fi folosit
pentru analiz. Simpla lui structura l face imposibil de folosit n analiz
Non-Volatil
Data Warehouse trebuie s fie o structur informaional stabil, a unui mediu de
suport decizional. Modelul trebuie s fie astfel proiectat, nct s susin o astfel de
stabilitate. Datele nu vor fi direct modificate ci vor fi populate periodic cu datele noi din
aplicaiile operaionale.
Sistemul operaional al unei organizaii tinde mereu s reflecte realitatea curent.
Astfel, el se afl ntro continu evoluie iar datele pe care le conine sunt relevante doar
pentru momentul n care sunt accesate. Orizontul de timp pe care l acopera este de regul
de 60 pn la 90 de zile, deoarece dup acest interval tranzaciile efectuate sunt arhivate,
fiind considerate deja de domeniul istoriei, deci neinteresante din perspectiva operativ.
Pentru nevoile analizei, dimpotriv , informaiile cu caracter istoric sunt eseniale,
deoarece ele pun n eviden tendine care reprezint fundamentul unei prognoze corecte.
viitoare i pentru a putea susine procesul decizional, istoria trebuie foarte bine urmrit
i analizat.
Cum difer?
OPERAIONAL
INFORMAIONAL
CONINUTUL DATELOR
Valori curente
Arhivate, derivate,
sumarizate
STRUCTURA DATELOR
Optimizate pentru
tranzacii
FRECVENA
ACCESRILOR
Mare
TIP DE ACCESRI
Citire, modificare,
tergere
Citire
UTILIZARE
Predictibil, repetitiv
TIMP DE RSPUNS
De ordinul secundelor
De ordinul minutelor
UTILIZATORI
Numeroi
Relativ puini
2.2
Accesul la informaie
Utilizatorii pot accesa datele coninute n sistemul de suport decizionat de tip data
warehouse prin intermediul unor interfee de nivel aplicaie. Numim acest nivel nivelul
front-end. Produsele software cel mai adesea ntalnite pun la dispoziia beneficiarilor:
Roll-up este operaiunea prin care datele se agreg, fie printrun pas n sus n
ierarhia de dimensiuni, fie prin reducerea numrului de dimensiuni. Spre exemplu n loc
s grupm datele dup zi, printro operaiune roll-up le vom grupa dup lun sau trimestru
sau an (urcm n ierarhia de timp).
Fig 3: Exemplu de
folosire a
funcionalitii Drill
Up n Cognos 8 BI
n al doilea caz de roll-up, s presupunem c vizualizm o mrime dup data
activrii i dup localitate, eliminnd una dintre cele dou dimensiuni mrimea se va
agrega dup dimensiunea rmas.
Fig 4: Drill Up
prin elimiarea
de dimensiuni
Slice realizeaz o filtrare dup o dimensiune din cub, realiznd astfel un subcub.
n exemplul urmtor am filtrat micrile de balan dup dimesiunea pozitiv / negativ,
pstrnd numai micrile pozitive (bonus si recharge).
Fig 6: Slice
Dice este operaiunea prin care putem realiza fitrri dup mai mult de o
dimensiune n exemplul urmtor am filtrat, pe lng tipul micrile de balan i dup o
dimensiune de timp: anul activarii s fie ntre 2005 si 2007.
Fig 7: Dice
Fig 8: Pivotare
Reducerea de achiziii.
n industia telecomunicaiilor, deregularizarea a atras concurena global i pe plan
local. Acest fenomen a determinat i determina nc erodarea acestui segment de piat i
amenin profitul obinut.
Concurena a determinat apariia unor produse alternative, cu pre accesibil, ca 3G,
VOIP, serviciile ce in cont de locaie, etc. Aplicaiile multi-media au adugat un mare
factor de risc pentru o industire ce are nevoie de o mare infuzie de capital pentru a-si
mbunti infrastructura i sistemele de facturare. n tot acest timp banii ctigai din
telefonie sunt tot mai puini.
Drept rspuns, muli operatori de telefonie se lupt s obin i s-i menin
poziia pe pia prin:
scurt timp pote face diferena ntre supravieuire i faliment pe o pia foarte competitiv
i n continua schimbare.
S diminueze costurile;
3.2
Sitemul de data warehouse ofer informaiile rapid i ntrun format care sprijin
procesul decizional. Un data warehouse permite operatorilor s exploateze la maxim
potenialul infomaional, folosindu-se de date att la nivel de detaliu, ct i ntrun grad
mai mare de sumarizare, necesar utilizatorului cu capacitate de decizie sau cu
responsbilitate de raportare.
Un sistem de data warehouse poate reine informaii despre sectoarele de care
operatorii sunt mai preocupati n aceasta perioad i ofer posibilitatea unei analize
detaliate asupra acestora:
Pierderea de clieni;
Profitabilitatea produselor;
sunt supui, dar mai mult, s o transforme ntrun avantaj de business. Majoritatea
segmentelor de business sunt avantajate de construirea unui data warehouse astfel:
Avantaje competiionale ctig realizat prin campanii de marketing,
promovarea de pachete de produse, oferirea de preuri promoinale, vnzarea produselor
pe segmente de piaa bine determinate.
Informaii cheie n relaia cu clientul ctigat prin nelegerea preferinelor
clientului asupra unei game de produse, printro abordare preventiv cu privirea la
satisfacerea nevoilor clientului, prin punerea accentului pe construirea i reinerea unei
baze de clieni valoroi.
Reducerea riscurilor - ctigat prin prevederea tendinelor de evoluie a pieei.
Creterea profitului prin planuri tarifare, optimizarea profitului,
performante, respectarea unor reguli privind raportul cost - discount
preuri
Procesul de tarifare
Organizarea informaiilor dup aceste criterii ajut la obinerea de avantaje prin
identificarea oportunitilor pentru:
Personalizarea produselor
Urmrirea performaelor
Evoluia vnzrilor
Consideraii de design
n domeniul bazelor de date de tip Data Warehouse exist dou paradigme
recunoscute.
Paradigma lui Bill Inmon: Data warehouse este parte a unui sistem de suport
decizional integrat. O companie poate avea un data warehouse i data mart-urile
i iau informaii din data warehouse. Informaiile stocate n data warehouse sunt
n a treia form normal.
Paradigma lui Ralph Kimball: Data warehouse este un conglomerat al tuturor
data mart-urilor din companie. Modelul informaional este ntotdeauna unul
dimensional, denormalizat.
Cele dou paradigme reprezint filozofii diferite i niciuna din aceste doua idei nu
poate fi considerat corect sau greit. n realitate majoritatea companiilor folosesc
sisteme data warehouse mai apropiate de ideea lui Ralph Kimball. O posibil explicaie a
acestui fapt este c sistemele data warehouse apar ca un efort al unui departament, deci
i au originea ntrun data mart. Pe msur ce evolueaz i mai multe data mart-uri sunt
dezvoltate, acestea compun de fapt sistemul data warehouse.
n aplicaia ce face obiectul acestei lucrri am folosit modelul dimensional. Cu
toate acestea, pentru a justifica alegerea, n continuare vom prezenta caracteristicile de
modelare ale fiecarei din cele doua idei.
mai multor rnduri. Dac operaiunea de modificare nu este realizat cu succes, adic
modificarea este fcut asupra unor rnduri dar nu asupra tuturor, atunci datele din tabel
devin inconsistente i practic inutilizabile.
nainte de update
id
Regiune Judet
Localitate
Dobroge
a
Tulcea
Localitate 1
Dobroge
a
Tulcea
Localitate 2
Dobroge
a
Tulcea
Localitate 3
Moldova
Galati
Localitate 4
Moldova
Galati
Localitate 5
Moldova
Galati
Localitate 6
Regiune Judet
Localitate
Dobroge
a
Tulcea
Localitate 1
Dobroge
a
Tulcea
Localitate 2
Dobroge
a
Tulcea
Localitate 3
Dobroge Galati
a
Localitate 4
Dobroge Galati
a
Localitate 5
Moldova Galati
Localitate 6
Anomalia de inserare
Pot exista cazuri n care anumite fapte nu pot fi urmrite deoarece nu exist
informaia necesar la un moment dat. Dei o parte din date sunt disponibile, informaia
complet nu poate fi inserat n baz.
Anomalia de tergere
n anumite circumstane, stergerea unor date poate atrage dup sine stergerea altor
date din arii complet diferite, a caror stergere nu o dorim.
Prima form normal (1NF)
O tabel este n prima form norml daca tabela reprezint cu fidelitate o relaie
si nu conine grupuri repetitive. Aceast definiie se presupune urmtoarele:
Numar de telefon
Paul
0215479445, 0257995845
George
0215495845
Numar de telefon
1
Numar de telefon
2
Paul
0257995845
0215479445
George
0215495845
Numar de telefon
3
Definiia primei forme normale n varianta original a lui E.F Codd pentru a face
referire la atomicitate. Valorile domeniului pe care fiecare relaie este definit trebuie s
fie atomice, adic s nu poat fi imprite de SGBD n pri mai mici.
A doua form normal (2NF)
O tabel avnd forma normal 1, este n form normal 2 dac i numai dac nu
include dependene partiale; adic niciun atribut nu este dependent doar de o poriune din
cheia primar. De remarcat faptul c o tabel n prima form normal ce nu are nicio
cheie candidat compozit este automat i n a doua form normal.
A doua form normal face inadmisibil structura urmtoare, structur n care
cheia primar este combinatia id oferta id plan tarifar; planul tarifar determin
discountul iar oferta pretul.
id id plan nume oferta
ofe tarifar
rta
nume plan
tarifar
discount
pret
20
100
15
100
10
100
Regiune
Judet
Localitate
Dobrogea
Tulcea
Localitate 1
Moldova
Galati
Localitate 6
determinant din tabela este o cheie candidat ( un determinant este orice atribut a crei
valoare determina alte valori din tupla). Cazurile n care o tabel n a treia form normal
nu sunt i n forma normal Boyce-Codd sunt foarte rare.
4.2
exemplu analitii pot formula o cerin prin care doresc s afle ce venit a generat noul
produs de la lun la lun n regiunea de sud, dup caracteristicile demografice ale
utilizatorilor. Aceast formulare se traduce n analiza unei variabile a venuturilor
dup dimensiuni geografice i demografice.
Datele sunt ncrcate dintro baz n care aceeai tabel dimensiune poate fi
folosit n diferite contexte.
Dimensiunile
Dimensiunile sunt tabele care, printro asociere cu o tabela fact furnizeaz
informaii descriptive despre fiecare mrime msurat de tabela fact. Dimensiunile conin
n general date statice: datele nu se schimb, sau care se schimb rar. Spre exemplu o
dimensiune geografic va conine cte un rnd pentru fiecare localitate cu atribute
precum judet, regiune de interes i ar. Desigur, nu ne ateptm ca judeul din care o
localitate face parte s se modifice. Cu toate acestea organizaia i poate redefini periodic
gruparea judeelor pe regiuni.
Modelul dimensional trebuie s permit modificarea dimensiunilor. Gestionarea
modificrilor se poate implementa cu pstrarea istoricului sau cu rescrierea complet a
datelor. Pstrarea istoricului dimensiunilor se poate realiza prin introducerea unui cmp
de versionare. Dac o modificare apare, rndurile afectate sunt marcate cu 0 n cmpul de
versionare i noi rnduri sunt introduse, avnd versiunea 1 pentru a realiza modificarea.
O alt metod de pstrare a istoricului dimensiunilor este de a aduga dou
atribute suplimentare fiecrei nregistrri: valabil_de_la, valabil_pn_la care s
marcheze data de la care nregistrarea nu mai este valabil i data de la care noua
nregistrare este valabil.
ntr-un hipercub, o dimensiune este reprezentat printro ax. De obicei
dimensiunile conin un numr mare de atribute ce cresc felxibilitatea schemei i permit
un mod variat de analiz. De exemplu dimensiunea Oferta poate s conin urmtoarele
atribute dimensionale: tipul ofertei, numrul de minute incluse, numrul de SMS-uri,
valoarea n euro, valoarea n dolari, descrierea ofertei etc.
ntro schem stea sunt tabelele care se dispun radial n jurul tabelei de fapte i se
mai numesc tabele dimensionale. Aceste tabele sunt denormalizate iar cheia lor primara
este o cheie surogat sau o combinaie de atribute.
Conceptul de dimensiune este fundamental pentru modelarea multidimensional.
Cei mai multi proiectani utilizeaz fraza dimensiuni comune afacerilor. De exemplu,
un model multidimensional trebuie s includ timpul ca dimensiune fundamental. Cele
mai multe instrumente de analiz multidimensional implementeaz facilitatea de a
permite conversii de calendar i operaii de agregare ( zi > saptamn > lun > an )
automate i chiar manipularea cu usurin a seriilor de timp ( perioade promoionale,
sezoane, perioade fiscale etc.) Alte dimensiuni des ntlnite n domenii variate de afaceri
sunt: locaia, organizaia (ierarhia organizaional), clientul.
O dimensiune conine mai muli membri. Un membru este un nume distinct sau
un identificator folosit pentru a determina pozitia unui element de data (n schema stea
apare sub denumirea de atribut dimensional). De exemplu, toate lunile, trimestrele i anii
formeaz dimensiunea Timp i toate oraele, regiunile i rile dimensiunea Locaie.
Ierarhiile
Mrimile
Mrimile sunt atribute numerice al unui element din fact, un indicator de
performan prin care se poate analiza activitatea modelat. Valorile unui indicator se
modific continuu. Pentru fiecare combinaie posibil ntre dimensiuni, exist o valoare
corespunztoare a mrimii.
Nu orice atribut numeric este un indicator. De exemplu, costul pltit de client
pentru o ofert este un atribut numeric (valoarea ofertei) i totui nu este un indicator ci
un atribut al ofertei, deci o dimensiune. Dac valoarea atributului numeric variaz
continuu (costul de livrare, cantitatea vndut, volumul vnzarilor) atunci atributul este
un indicator, iar dac atributul este perceput mai mult ca o constant sau o nsuire a unei
alte dimensiuni atunci este un atribut dimensional.
Indicatorii pot fi indicatori de baza (volumul vnzarilor, cantitatea vndut,
costurile, numrul de clienti) sau indicatori derivai care se obin prin combinarea
indicatorilor de baz (profitul). n funcie de funcia de agregare folosit pentru calculul
mrimilor, acestea se clasific astfel:
Mrimi distributive, calculate cu funcii distributive de agregare, precum
count(), sum(), min(). Calculul mrimii pentru un subseturi ale datelor poate fi
nsumat i va returna acelai rezultat ca i n cazul calculului pentru ntregul set de
date. Aceste mrimi poart i numele de mrimi aditive, deoarece totalul se obine
prin nsumare. O mrime aditiv se poate nsuma dup toate dimensiunile. De
exemplu indicatorul volumul vnzrilor se poate calcula pentru o categorie de
oferte sau pentru o anumit regiune sau pentru a anumit perioad de timp.
Volumul vnzrilor, cantitatea vndut i costurile sunt aditive. Aceasta nseamn
c are sens de a aduna euro sau cantiti de-a lungul oricrei combinaii timp,
produs, magazin.
Mrimi algebrice, calculate folosind funcii algebrice de agregare. O funcie de
agregare este algebric dac poate fi calculat ca o funcie algebric de funcii
distributive. Un astfel de exemplu este funcia medie avg() care poate fi calculat
ca sum()/count(). Alte funcii algebrice sunt procentaj: percentage(), deviaia
standard.
Mrimi holistice, calculate folosind funcii holistice de agregare. Exemple de
astfel de funcii sunt mediana: median(), moda: mode(), numrul distinct: count
(distinct() ). Aceste funcii au n comun faptul c depind n mod intrinsec de setul
de date pe care sunt calculate
Schema stea
Este o reprezentare intuitiv a cubului multidimensional de date, ntrun mediu
relaional. Schema stea conine o tabel central i un set de tabele dimensionale aranjate
ntro manier radial n jurul tabelei centrale. Fiecare tabel dimensional reprezint o
dimensiune a activitii analizate, n timp ce tabela central conine elementele cubului de
date.
Fig
14: Modelul Stea extins
extins
Concluzii
Dac am realiza o comparaie ntre modelul relaional i modelul dimensional,
Relaia care se evidentiaz ntre cele doua este ca modelul relaional corespunde unui set
de modele dimensionale i o singur diagram entitate-relaie (la nivel de organizatie)
corespunde unei mulimi de diagrame dimensionale. Modelul rezultat pentru o
corporaie, va consta din aproximativ 10-25 de scheme stea. Fiecare schem stea are de
obicei 4-12 tabele de dimensiuni.
Modelul dimensional prezint o serie de avantaje fa de modelul relaional:
modelul dimensional este extensibil. Se pot aduga noi tabele fact, noi
dimensiuni, noi atribute n cadrul unei dimensiuni. Acest extindere se poate realiza
fr a afecta aplicaia.
4.3
Granularitatea
a unui volum mare de date. Se va opta pentru un nivel foarte detaliat numai dac acesta
va aduce informaiile necesare.
S consideram urmtorul exemplu: dorim s nregistrm toate operaiunile de
balan realizare de clienii prepaid (realizarea de rencrcri, primirea de bonusuri, plata
de taxe). Dac am nregistra aceste date o agregare zilnic la nivel de client, am avea
nevoie de o nregistrarare pe zi pentru fiecare client. La un numar de 1000 de clieni am
avea
pe
an
un
maxim
de
aproximativ
1000 * 30 * 12 = 360 000. nregistrri care ar ocupa n medie un spatiu de stocare de
aproximativ 72 000 000 bytes. Dac lum n calcul faptul c n Romnia principalii
operatori de telefonie mobil au un numr de clieni de ordinul milioanelor nevoia de
capacitate de stocare crete exponenial.
Pe de alt parte, dac am agrega datele lunar la nivel de client, pentru un eantion
de 1000 de clieni am avea pe an un numr de maxim 1000 * 12 = 12 000 de nregistrri
pentru fiecare tip de micare. Ce se traduce ntrun spaiu de stocare de aproximativ 2 400
000 bytes. Mai mult dac scopul analizei nu este de a analiza comportamentul clientilor
putem folosi numai o agregare lunar ce va rezulta n 12 nregistrri pe an pentru fiecare
tranzacie sau o agregare zilnic ce va rezulta n aproximativ 365 de nregistrri pe an
pentru fiecare tranzacie.
4.4
Partiionarea
stergerea unor volume mari de date, atunci cnd dorim tergerea datelor
prea vechi
Pe lng
benficii:
mbuntire a performantei: timpul de rulare al interogarilor scade de la
zeci de minute la secunde
dup data
Range
PARTITION BY RANGE(AGG_DATE)
(
STARTING '1/1/2009'
ENDING '12/31/2009'
EVERY 1 MONTHS
)
4.5
Indexarea
Principalul scop al unui index este de a ajuta sistemul de gestiune a bazei de date
s localizeze mai usor rndurile stocate n tabele. Daca indexarea este facut pe coloane
utilizate frecvent, performana operaiilor de acces la date este exponenial mbuntit.
Mai mult, indecii permit o mai bun concuren a tranzaciilor ce au nevoie s acceseze
acelai tabele n acelai timp.
Cu toate acestea, beneficiile indecilor vin cu preul unei uoare scderi a
performanei pentru operaiile de insert i de update pentru ca fiecare operaie trebuie
fcut att asupra tabelei ct i asupra indexului asociat. Considerm acest compromis
benefic pentru un data warehouse, unde, operaiile de acces la date sunt mult mai
frecvente dect cele de insert sau update.
Tipuri de indecsi
Indecsi bitmap. Folosesc pentru stocare cmpuri de bii denumite bitmap.
Pentru a rspunde interogrilor realizeaz operaii logice pe cmpurile de bii. Sunt
potrivii pentru cmpuri care au un numr mic de valori distincte. Indecii bitmap au
performane ridicate dac sunt aplicai tabelelor pe care nu sunt frecvente operaiile de
update.
Spaiul ocupat n memorie de indecii bitmap este proporional cu cardinalitatea
coloanei pe care sunt creai. Dac domeniul are n valori, deci cardinalitate n, atunci
indexul va avea neoie de n bii pentru fiecare intrare n indexul bitmap. n data
warehouse sunt potrivii pentru a lega tabela fact de tabele dimensiune, adic pentru a
lega o tabel de mari dimensiuni de una cu dimensiuni reduse.
Indeci de asociere (join indexes). Spre deosebire de indecii tradiionali ce
asociaz o valoare dintr-o coloan dat unei liste de rnduri ce au acea valoare, indecii
join nregistreaz rndurile ce pot fi asociate din doua relaii din baza de date.
nregistrrile indecilor join identific tuplele care pot fi asociate. Operaiile de asociere
sunt mai costisitoare dect identificarea prin indeci join. Indecii join menin legtura
dintre atributele unei dimensiuni i rndul corespunztor n tabela fact.
4.6
1. Capcana prpastiei ntre date (eng. Chasm Trap) se refer la relaiile M:M;
2. Capcana relaiilor tranzitive apare atunci cnd exist mai mult de o cale
ntre dou tabele;
3. Capcana conexiunilor apare atunci cnd exist o cale opional ntre
entiti diferite;
4. Capcana ventilatorului (eng. Fan Trap) apare la existena mai multor
relaii 1:M ce provin din aceeai tabel.
Chasm Trap
Cazul trivial al acestei capcane este o relaie de tipul M:M ntre dou tabele.
Aceast relaie se traduce prin mai multor rnduri dintro tabel le corespund mai multe
rnduri din alt tabel. Dei nu este o relaie incorect atunci cnd elaborm modelul cu
o vedere de ansamblu, vom descoperi c aceast structur nu poate nregistra i menine
datele. Informaia cade ntr-o prpastie ntre cele dou tabele de date.
Tabela offer_dim
Tabela minutes_fct
Tabela revenue_fct
Pentru a rezolva aceast problem putem folosi un proces ETL (extract transform
and load) care s multiplice fiecare rnd din tabela revenue_fct pentru fiecare rnd din
minutes_fct, dar care s nlocuiasc valoarea proprizis cu o medie astfel:
oferta z | 166,66 | 20 | 1
oferta z | 166,66 | 22 | 2
oferta z | 166,67 | 12 | 3
Aceast metod nu aduce un plus de informaie i nu va contribui la procesul
decizional cu informaii noi, ns evit afiarea unor date incorecte.
O alt metod de evitare a acestei capcane, fr a modifica datele din tabele, este
de a realiza dou inteorgri separare i de a rezolva problema din modul de afiare al
sistemului de suport decizional.
Capcana relaiilor tranzitive
Capcana de tranzitivitate apare la crearea unei bucle ntre cel puin trei tabele. n
acest fel, ntre doua tabele avem mai mult de o cale prin care tabelele relaioneaz. Acest
tip de capcan ngreuneaz interogrile i este posibil ca datele ntoarse s nu fie cele
corecte deoarece nu este clar care sunt tabelele care trebuiesc incluse n query.
O modalitate de rezolvare a capcanei este de a crea un alias pentru una din tabele,
obinnd astfel o rupere a buclei n doua seturi de doua relaii.
Modalitile de rezolvare a buclelor difer ca implementare de la o aplicaie la
alta.
SAP propune n pachetul de programe de Business Objects o rezolvare prin crearea de
contexte. n mod tipic un context este asociat unei tabele de tip fact; daca bucla include
doua tabele de acest tip, se vor crea dou contexte. n figura urmtoare se poate observa
un exemplu de rezolvare a capcanei de tranzitivitate cu ajutorul contextelor n aplicaia
Business Objects. Cele dou contexte sunt marcate n culori diferite.
Tabela opt_facturate
Tabela opt_line
Dac dorim n schimb s aflm totalul facturat dup tipul serviciului oferit,
interogarea va multiplica datele din tabela de facturare pentru fiecare rnd din tabela cu
detalii despre opiunile facturate.
select A.cust_name, sum(B.pret_optiune) Total_facturat,
sum(C.valoare) Total_servicii
from customer A, opt_facturate B, opt_line C
where A.cust_id=B.cust_id and B.id_fact=C.id_fact
group by A.cust_name, C.tip;
C.tip,
Problema poate fi rezolvat prin crearea unui alias la tabela care produce
multiplicarea datelor. Aliasul i tabela original vor fi legate de o asociere 1:1.
Rezolvarea capcanei fan nu aduce informaie n plus. Totalul facturat nu va fi
disponibil pentru fiecare serviciu n parte deoarece strctura tabelelor nu permite
interogarea datelor pentru a afla aceast informaie. Datele din sistemele surs nu
urmresc aceast informaie. Informaia poate chiar s nu existe pentru c nu prezint
interes. Cu toate acestea rezolvarea capcanei previne afiarea de date eronate.
Modelul de date
Exista trei niveluri [3,4] la care se poate construi modelul de date:
1. nivelul conceptual (high-level): modelul entitate relaie (ERD-entity
relationship diagram)
2. nivelul intermediar (midlevel): modelul logic (DIS Data Item Set)
3. nivelul cel mai mic de detaliu (low-level): modelul fizic
5.1
Nivelul Conceptual
Nivelul conceptual i are bazele n modelul entitate relaie propus de Peter Chen
n 1976. Acest model ncorporeaz informie semantic din lumea real. Sunt unificate
pentru prima dat modelele reea, relaional i entitate-mulime, analiznd ambiguitile
semantice existente n aceste modele.
Modelul retea este o extindere a nivelului ierarhic. Baza de date este privit ca un
graf orientat. A fost elaborat de Charles Bachman i publicat n 1969 de CODASYL
Conference on Data System Languages. A fost adoptat i ca standard OSI.
Modelul relaional a fost propus n 1968 de Edgar Frank Codd i este bazat pe
logica predicativ. Privete baza de date ca pe o colecie de variabile predicative peste un
domeniu finit de astfel de variabile. Variabilele predicative exprim constrngerile de la
nivelul bazei de date. O relaie este asociat fiecrei astfel de variabile.
Modelul entitate-mulime este bazat pe teoria mulimilor i privete datele ca pe
entiti ce pot sau nu s aparin unei mulimi. Apartenena este exprimat prin predicate.
Considerm cele trei modele ca fiind nvechite, deoarece noul model: modelul
entitate relaie a fost acceptat pe scar larg i a devenit un standard de dezvoltare,
beneficiind i de standarde de notaie foarte bine documentate (IDEF1X,UML).
Modelul entitate relaie este modelul cu cel mai nalt grad de abstractizare a
datelor. Aceast tehnic de modelare presupune o abordare de sus n jos (top-down):
pornete de la delimtarea scopului modelului i a informailor pe care dorim s le obinem
din baza de date, pn la abstractizarea termenillor, definirea de entiti i tratarea
modurilor i cazurilor n care aceste entiti pot relaiona. Din totalitatea de relaii
posibile ntre entiti se vor selecta numai cele care aduc un plus de valoare sau de
informaie modelului.
O entitate poate fi definit ca un obiect care are o existen independent i care
poate fi identificat n mod unic. Entitatea trebuie s aiba un coninut de sine stttor i o
existen determinat. Entitile sunt uzual identificate dup caracteristica lor de a
reprezenta un substantiv. Exemple de entiti n cazul unui operator de telefonie mobil
sunt: Client, Operator, Canal de distribuie, Oferta
O relaie descrie modul n care entitile interacioneaz unele cu altele. O relaie
poate fi considerat i ca o asociere ntre entiti. Relaiile sunt percepute n general ca
verbe ce aduc n aceeai propoziie doua sau mai multe entiti. Spre exemplu dac un
operator activeaz unul sau mai muli clieni putem spune ca ntre entitatea Client i
entitatea Operator exist relaia de activare.
Regula minimal aplicabil este Tot ceea ce este necesar se afl aici i tot ceea ce se afla
aici este necesar
Cardinalitatea unei entiti n relaie cu o alt entitate se refer la numrul de
elemente din entitatea dreapt, respectiv stng, care sunt puse n coresponden prin
relaia dat. Aftel o cardinalitate 1:M se traduce prin fiecare rnd din entitatea dreapt
are unul sau mai muli corespondeni n entitatea stang i fiecare rnd din entitatea
stang are un singur corespondent n entitatea dreapt.
Cele mai ntlnite tipuri de relaii i cardinaliti:
Nr. Diagrama conceptual
Relatia Legtur
Caracteristicile relaiei
Relatie opional 0:0. O
persoan poate ocupa un loc
de parcare, dar nu avem
nevoie de o persoan pentru a
Relaia Posesiune
Relaie
opional
0:M.
Caracteristici:
o persoan poate avea
unul sau mai multe
telefoane;
un telefon are cel mult
un posesor.
n baza de date se
implementeaz
printro
coloan cheie strin n tabela
Telefon ce refer tabela
Persoana, cheie care poate
avea valoarea null.
2.
3.
4.
Caracteristicile relaiei
Relaie
obligatorie
1:M,
obligatorie n partea unitar.
Este cel mai comun tip de
relaie. O persoan poate sau
nu s fie menbru, dar poate s
fie membru de mai multe ori
(spre exemplu dac entitatea
membru exprim apartena la
mai multe cluburi). Un
membru este cu siguran o
persoan. Cheia strain n
tabela membru nu poate fi
null.
Relaia Caracteristic
Relaia Paradox
1.
2.
1.
Caracteristicile relaiei
Caracteristicile relaiei
Relaia Asociere
Relaie
M:M
opional.
Conceptual se traduce prin: o
persoan poate sau nu s
lucreze pentru un angajator
2.
dat, dar poate lucra pentru
mai muli ali angajatori. Un
angajator poate s nu aib
angajai sau poate avea muli
angajai. Cel mai adesea se
implementeaz cu o entitate
de asociere auxiliar pentru a
mpri relaia n dou relaii
de tip 0:M. Aceasta entitate
auxiliar ar putea purta
numele Angajat
deoarece
leag persoana de angajatorul
pentru care aceasta lucrez.
Modelul conceptual pentru o corporaie este un compozit al mai multor vederi ale
oamenilor provenind din diferite departamente ale corporaiei. Diferitele comuniti ale
corporaiei i pot crea propria vedere conceptual. Aceast vedere ns este limitat la
relaiile i entitile vzute de respectivul departament. Colectarea tuturor acestor vederi
alctuiete ntregul model conceptual.
Pentru a alctui diagrama entitate relaie ce va reprezenta cerinele comunitii ce
va folosi sistemul de suport decizional, discuii de analiz trebuiesc realizate cu fiecare
grup pentru a cunoate fiecare din aceste vederi. Dup ce toate vederile sunt cunoscute,
ele vor fi integrate n modelul entitate relatie al corporaiei. Figura urmtoare prezint
procesul prin care se construiete diagrama entitate relaie pentru o corporaie. (Fig 20)
5.2
Nivelul logic
Nivelul logic este pragul la care apar pentru prima dat ideile IT n cerinele de
dezvoltare a sistemului de suport decizional. n modelul conceptual au fost folosite
numele cu care conceptele sunt folosite n organizaie, acum este momentul n care se
dezvolt convenii de nume i alte standarde. Atributele erau create fr consideraii
privind infrastructura sau arhitectura existent. n modelul logic sunt mai departe grupate
i aranjate.
Modelul logic este folosit n designul bazelor de date ca pas intermediar ntre
designul conceptual i cel fizic. El este intependent de sistemul de gestiune a bazei de
date. La acest nivel avem structura tabelelor i putem realiza denormalizri. O data
modelul logic creat, avem structura tabelelor, chei straine i indeci.
Spre exemplu, indeciii nu sunt o cerin n faza iniial de analiz, dar, dac se
dovedete c este nevoie de ei. pot fi creai n etapa nivelului logic. Cheile surogate sunt
adesea adugate n aceast etap pentru a minimiza complexitatea cheilor strine. n cele
din urm modelul logic va fi destul de aproape de cel fizic ca aspect.
Modelul logic foloseste termeni specifici modelului fizic: coloane, tabele,
indecii, dar nc prezint datele la un nivel lipsit de detaliu. n cadrul organizaiei,
oamenii interesai de modelul logic sunt cei ce analizeaz cerinele, managerii de proiect,
dezvoltatorii, arhitecii i integratorii de date. Dup ce sturctura i conveniile sunt
agreate se poate trece la relizarea modelului fizic.
5.3
Nivelul fizic
Modelul fizic este construit pe baza modelului logic la care se adaug chei,
caracteristici fizice i elementele de timp caracteristice pentru warehouse. La acest punct
modelul poate fi vzut ca o serie de tabele relaionale. Am putea spune c modelul este
gata s fie transferat ctre sistemul de gestiune a bazei de date (SGBD), cu toate acestea
din model lipsesc caracteristicile de optimizare a performanei. Consideraiile de design
care trebuiesc fcute n continuare n cazul sistemelor data warehouse se refer la
granularitate i partiionare
Nivelul fizic este domeniul administratorului bazei de date. Aici se aplic asupra
cerinelor i a datelor constrngeri ale platformei, cum ar fi limitri pentru lungimea
numelui tabelelor, limitri de integritate referenial. La acest nivel sunt create tabele,
tablespace-uri, triggere, proceduri stocate, partiii. Toate aceste sunt dependente de
sistemul de gestiune a bazei de date.
5.4
Concluzie
Cele trei nivele de modelare aduc valoare sistemului nc din faza de analiz. Ele
sunt de un real ajutor dac sunt folosite mpreun. La nceput, prin modelul conceptual
sunt strnse cerinele i comunicate napoi ctre stakeholderi ntr-o form high level, cu
posibilitatea de a fi detaliate. Apoi, nivelul logic permite deprtamentului IT s aplice
standarde i convenii fr a se lovi de limitri ale SGBD. n cele din urm, modelul fizic
este folosit de DBA pentru a crea o schema valid fr un editor de text.
O bun modelare i un bun program pentru crearea modelului ajut la stabilirea
unor standarde i la minimizarea efortului de dezvoltare. n acelai timp mbuntete i
comunicarea reducnd posibilitatea de confuzie.
Bibliografie
1. Peter Pin-Shan Chen - "The Entity-Relationship Model-Toward a Unified View of
Data", 1976, Massachusetts Institute of Technology p1-28.
2. Peter Pin-Shan Chen - "Entity-Relationship Modeling:Historical Events, Future
Trends, and Lessons Learned", 2002, Louisiana State University p1-11.
3. Mike Nicewarner - Data Modeling Layers Why have Conceptual, Logical and
Physical data modeling, December 2003, PowerDesigner Blueprint p1-5.
4. American National Standards Institute ANSI/X3/SPARC Study Group On
Database Management Systems; Interim Report, 1975.
5. Ronald Fagin - A Normal Form for Relational Databases That Is Based on
Domains and Keys, ACM Transactions on Database Systems, Vol. 6, No. 3,
September 1981
6. W. H. Inmon Building the Data Warhouse, Third Edition, 2002
7. Ralph Kimball, Margy Ross - The Data Warehouse Toolkit 2nd Edition The
Complete Guide to Dimensional Modeling, 2002
8. Morgan Kaufmann - Data Mining - Concepts and Techniques, 2004
9. Esteban Zimanyi - Temporal Aggregates and Temporal Universal Quantification
in Standard SQL, Universit e Libre de Bruxelles, 2005
10. Paulraj Ponniah - Data Warehousing Fundamentals: A Comprehensive Guide for
IT Professionals, 2001
11. Rob Mattison - Data Warehousing and Data Mining for Telecommunications,
1997
12. Roger E. Sanders - DB2 Universal Database Enterprise Server Edition V8.1:
Basic Performance Tuning Guidelines
13. IBM - Enterprise Data Warehousing with DB2 9 for z/OS, 2008
14. Dan Volitich - IBM Cognos 8 Business Intelligence: The Official Guide
15. Efraim Turban, Jay E. Aronson, Ting-Peng Liang, Ramesh Sharda - Decision
Support and Business Intelligence Systems (8th Edition) , 2006
16. IBM - The IBM Telecommunications Data Warehouse, 2005