Sunteți pe pagina 1din 15

Organizarea datelor:

- definirea, structurarea, ordonarea si gruparea datelor in colectii de date


omogene
- stabilirea legaturilor intre date
- definirea restrictiilor de integritate
- definirea chemei conceptuale, logice si fizice
- reprezentarea datelor pe un suport informational, etc.

Obiectivele organizarii datelor:


- Acces rapid la date
- Spatiu de memorie ocupat cat mai mic
- Unicitatea datelor
- Securitatea datelor
- Flexibilitatea datelor, etc.

Evolutie:
- fisiere cu organizare secventiala/relativa/directa, fisiere partitionate
- fisiere multiindexate, inverse, integrate
- BD arborescente, retea, relationale, BDOO
- BD multimedia, spatiale, internet, mobile
- BDD
- Volume mari de date, depozite de date, magazii de date, BD multidimensionale,
BD NoSQL

Fisiere – Concepte de baza:


• Entitate -> produse
• Membru -> un produs
• Atribut -> codp, denp, um
• Valoare -> B203, Ariel, kg

O entitate este descrisa prin: numele entitatii, structura sa logica.

Structura logica – descrierea proprioetatilor informationale ale atributelor unei


entitati

Categorii de atribute:
• Atribute de identificare – coduri de regasire
• Date calendaristice
• Cantitativ – valorice
• Atribute descriptive
• Coduri pentru caracteristici tehnice
• Coduri pentru sortari, grupari, clasificari

Memorarea entitatilor pe disc (structura fizica)


• Entitate -> Fisier
• Membru -> Inregistrare
• Atribut -> Camp

Relatia Entitate-Fisier

Fisierele
• Fisierul reprezinta o colectie organizata de date, omogena din punct de
vedere al continutului si al prelucrarii, stocata pe un suport de memorie externa
• Datele continute intr-un fisier sunt structurate in inregistrari logice,
dispuse intr-o anumita ordine
• Organizarea fizica este o organizare interna, fiind supusa rigorilor
sistemului de calcul avut la dispozitie
Caracteristicile unui fisier:
• De natura externa
o Nume si extensie fisier
o Caracteristicile suportului de memorie
o Atribute (read only, hidden, system, archive)
o Data crearii, a ultimei accesari si modificari
o O lungime
• De natura interna
o Continutul informational (fisier de date, program, comenzi, text, grafic
etc.)
o Modul de organizare a continutului (secvential, relativ, secvential-indexat)
o Modul de acces la inregistrari (secvential, direct)

Modul de acces:
1. Secvential
- Prelucrarea inregistrarilor: citirea si scrierea se fac la rand, una dupa
alta
- Viteza redusa
- Specific suporturilor neadresabile (banda magnetica)
2. Direct
- Prelucrarea inregistrarii se face independent de relatia cu celelalte
inregistrari din fisier
- Identifica direct o inregistrare pe baza adresei fizice
Adresa fizica:

3. Dinamic
- Imbina modelele anterioare
- Cautarea se face in 2 etape:
o Pozitionarea directa pe o anumita inregistrare
o Consultarea secventiala a inregistrarilor ulterioare

Metode de organizare in fisiere clasice:


1. Organizarea secventiala
- Stocare in odinea cronologica

- Accesare prin parcurgere secventiala a inregisytrarilor


- Marcajul End Of File
2. Organizarea indexata

- Se stocheaza inregistrarile ordonate ascendent dupa o cheie de acces unica,


asociata inregistrarii la creare
- Un index = pereche formata din cheia de indexare si adresa fizica de pe
suport
- Permite acces secvential si acces direct

3. Organizarea relativa
- Conceptul de “record number” (0..n)=numarul articolului in fisier
- Permite acces secvential si direct
4. Organizarea directa
- Stabilirea dinainte a adresei fizice a fiecarei inregistrari
- Algoritm care stabileste adresa fiecarei inregistrari tinand seama de
caracteristicile si parametrii suportului de memorie

Fisiere partitionate:
- Inregistrarile din fisier sunt grupate in parti sub un nume
- In cadrul unei partitii inregistrarile sunt organizate secvential
- Se utilizeaza si in biblioteci de programe

Fisiere multiindexate:
- Este o extindere a indexarii prin utilizarea mai multor chei alese de
programator
- Spatiul ocupat este mai mare
- Se utilizeaza pentru fisiere care necesita regasiri intense multicriteriale

Fisiere inverse:
- Se foloseste intotdeauna cu un fisier de baza
- Fisierul de baza contine date propriu-zise si are organizare secventiala. El
este fisierul in care se cauta
- Fisierul invers este construit din cel de baza (printr-o tehnica de
inversare) si are organizare relativa. El este fisierul prin intermediul caruia se
cauta
- Spatiul ocupat necesar este cam de 3,5 ori mai mare fata de cat ocupa
fisierul de baza

Fisiere integrate (fisiere cu legaturi)


- Particualritatea lor este ca structura datelor este separata de datele
efective
- Structura este definita si stocata intr-un fisier ce poarta denumirea de
dictionar, iar datele efective asociate structurii sunt memorate in fisiere
separate
- Intre fisierele de date se pot defini legaturi

Ce este o baza de date


• Bazele de date, ca mod de organizare a datelor in memoria externa, au evoluat
din fisiere printr-un proces de integrare a lor (fisiere si legaturile dintre ele)
si tinand cont de aplicatiile aferente
• baza de date este formata din mai multe colectii de date intercorelate,
organizate intr-o maniera ce corespunde cu nevoile si structura organizatiei,
impreuna cu structura datelor si legatura dintre date

Elementele unei Baze de Date

• Domeniul de valori: este multimea valorilor posibile pentru caracteristica


(ex: culorile posibile pentru un automombil)
• Caracteristica: consta in definirea si descrierea unui anumit aspect
(proprietati) dintr-o entitate a lumii reale (ex: marca auto)
• Familia de caracteristici: este ansamblul caracteristicilor care se refera la
aceeasi entitate din lumea reala
• Colectia de date (de entitati): este o familie de caracteristici asupra
careia se aplica un predicat (care conduce la o relatie de ordine intre
caracteristici si la obtinerea informatiilor cu un anumit sens) caruia i se
afecteaza numite legaturi

CODASYL
- Conceptul de baza de date a aparut in 1964 in cadrul primului raport CODASYL
prezentat la lucrarile unei Conferinte pe probleme de limbaje de gestiune a datelor
- La aceasta conferinta a fost lansata ideea organizarii datelor prin
intermediul unui fisier de descriere globala numit dictionar de date care are
menirea de a asigura independenta programelor fata de date si a datelor fata de
programe

Definitii ale bazei de date:


1. Baza de date este un ansamblu de colectii de date:
- Organizat, peniveluri de organizare a datelor (conceptual, logic si fizic)
- Coerent, conform restrictiilor de integritate si a legaturilor dintre date,
care rezulta din modelul logic de date aferent
- Structurat, conform unui model de date pentru baza de date
- Cu o redundanta minima si controlata, care este asigurata prin modelul de
date implementat
- Accesibil mai multor utilizatori in timp util, adica mai mult utilizatori,
concomitent pot obtine informatiile dorite
2. Baza de date este o colectie partajata de date corelate logic (alaturi de o
descriere a acestor date), proiectata pentru a satisface nevoile informationale ale
unei organizatii
3. Baza de date este o colectie de date eprsistente, care sunt folosite de catre
sistemele de aplicatii ale unei anumite intreprinderi

Contributia lui CODD:


- A inventat modelul relational pentru gestiunea bazelor de date
- Teoria normalizarii a fost conceputa initial de catre CODD, utlerior
aducandu-si contributia si alti cercetatori. Exista o forma normala care ii poarta
numele (BCNF)
- Teorema lui Codd: algebra relationala si interogarile de calcul relational
independente de domeniu, doua binecunoscute limbaje de interogare pentru modelul
relational, sunt echivalente ca putere de expresivitate. Adica o interogare a bazei
de date poate fi formulata intr-un limbaj daca si numai daca poate fi exprimata in
celalalt.
- A proprus un set de 12 reguli ce trebuie indeplinite de un SGBD pentru ca
acesta sa poata fi considerat relational

Generatii de baze de date:


1. BD arborescente si retea
2. BD relationale
3. BD orientate obiect

BD – Niveluri de organizare:
1. Nivelul logic – este dat de viziunea programatorului asupra bazei de date
- Programatorul realizeaza programele de aplicatie pentru descrierea si
manipualrea datelor scrie intr-un SGBD
- Programele implementeaza structura externa (logica) a datelor
- Structura externa este dedusa din strictura conceptuala
- Viziunea programatorului este independenta de suportul tehnic de informatie
- Rezultatul nivelului logic este schema externa, ca parte din schema
conceptuala
2. Nivelul conceptual – este dat de viziunea administratorului BD asupra datelor
- Administratorul realizeaza structura conceptuala a BD, eventual cu
instrumente oferite de SGBD
- Structura conceptuala se obtine utilizand un anumit model de date pentru BD
si o tehnica de proiectare adecvata
- Structura conceptuala este o reprezentare in interiorul sistemului a
realitatii pe care BD o transcrie
- Viziunea administartorului asupra BD este independenta de aplicatiile care
vor fi dezvoltate (independenta logica)
- Rezultatul nivelului conceptual este schema conceptuala
- Realizarea schemei corespunde unei activitati de modelare pentru ca este
vorba de o reducere in termeni abstracti a entitatilor lumii reale
3. Nivelul fizic – este dat de viziunea inginerului de sistem asupra datelor
- Inginerul de sistem realizeaza structura interna (fizica)
- Structura interna este dedusa din cea externa conform unor tehnici de alocare
pe suportul fizic
- Structura interna corespunde descrierii datelor pe suportul fizic de
informatie
- Rezultatul la nivel fizic este schema interna (fizica) care se defineste in
termeni de fisiere si inregistrari
- Implementarea schemei interne se face cu ajutorul sistemului de gestiune a
fisierelor din SGBD si/sau din sistemul de operare, prin gestiunea fizica a
perifericelor
Depozite de date
- Corey si Abbey definesc depozitul de date ca fiind: o colectie de informatii
strategice derivate direct din sistemele OLTP si alte surse externe. Scopul
specific al depozitului de date este de a oferi suport de decizie si nu suport
pentru activitatea operativa
- Firma IBM foloseste pentru depozite de date termenul „Information Warehouse”.
Dupa unii autori, viziunea IBM se refera mai degraba la conectivitatea globala a
diverselor surse de date, fiind un fel de „middleware generalizat”.

Baze de date NoSQL


- Definitie: Bazele de date de tip not only SQL sau prescurtat NoSQL constituie
un mecanism de stocare si accesare a datelor, ce permite acces mai rapid la date,
scalabilitate si flexibilitate
- Prin cuvintele „nu numai SQL” se specifica faptul ca se aduc imbunatatiri
bazelor de date SQL traditionale
- Spre deosebire de bazele de date traditionale, acestea folosesc tipuri de
structuri de date diferite de structura de date traditionala
- Aceste structuri contin date semistructurate sau nestructurate
- Carlo Strozzi a utilizat primul conceptul de NoSQL in 1998, reprezentand
numele bazei sale de date relationale open-source fara interfata
- Termenul a fost reintrodus in 2009 de catre Eric Evans in cadrul unui
eveniment cu tema baze de date distribuite open-source
- Termenul a fost folosit pentru a marca un pas in evolutia de la baze de date
relationale catre baze de date cu eprformante sporite

Depozitul de date
- Ofera acces la datele organizationale
- Datele continute sunt consistente
- Datele pot fi separate si combinate in functie de fiecare dimensiune sau
aspect al afacerii
- Depozitul de date include un set de instrumente pentru interogare, analiza si
prezentare a informatiilor
- Reprezinta locul in care sunt publicate datele folosite
- Calitatea datelor continute in depozit reprezinta o premisa pentru
reingineria afacerii
- Definitie: un depozit de date inseamna o stocare a datelor, unitara, completa
si consistenta, obtinuta dintr-o varietate de surse, disponibila utilizatorilor
finali intr-un mod usor perceptibil si utilizabil in contextul afacerii

Scopurile DD
- Depozitul de date asigura accesul la datele organizatiei. Accesul trebuie sa
fie imediat, la cerere si sa fie performant. Nu este acceptabil ca acest acces sa
fie realizat prin intermediul altei persoane sau sa fie prea lent
- Accesul presupune existenta unor utilitare care sa fie foarte usor de
folosit. Managerii vor trebui sa obtina diferite rapoarte printr-o simpla apasare
de buton
- Datele dintr-un depozit de date trebuie sa fie consistente. Consistenta
inseamna ca atunci cand doua persoane solicita date la momente de timp diferite, sa
primeasca aceleasi date
- Datele intr-un depozit de date pot fi separate si combinate
- Depozitele de date nu reprezinta doar datele ci si un set de utilitare pentru
a interoga, analiza si prezenta informatiile
- Depozitele de date sunt locurile unde publicam datele folosite, fiind inainte
corectate de erori

Aria de cuprindere DD
- Un depozit de intreprindere colectioneaza toate informatiile despre subiecte
care privesc intreaga organizatie
- Furnizeaza un volum extins de date
- Contine date detaliate, dar si agregate, iar ca ordin de marime porneste de
la catiga GB pana la sute sau TB
- Necesita cheltuieli mari pentru modelare si ani de zile pentru proiectare si
realizare
- Un data mart contine un subset al volumului de date din organizatie, specific
unui grup de utilizatori
- Domeniul este limitat la subiecte specifice
- Data mart sunt implementate pe servere mai ieftine, implementarea fiind
masurata in saptamani
- Un depozit virtual este un set de viziuni asupra bazelor de date
organizationale
- Pentru eficienta procesarii interogarilor, numai unele din viziunile de
agregare pot fi materializate

Compoentele arhitecturii DD
1. Depozitul de date propriu zis si sistemul de gestiune a depozitului de date
2. Sistemul de achizitie a datelor din sistemele OLTP si din alte surse
3. Sistemul de analiza si prezentare a datelor din depozitul de date
Tipuri de date:
- Metadate (date despre date)
- Date agregate la un nivel primar
- Date agregate la un nivel superior
- Date detaliate
Sursele de date pentru depozit pot fi:
- Bazele de date operationale curente
- Bazele de date vechi arhivate
- Baze de date externe
Etape pentru construirea depozitului de date:
- Extragerea datelor din bazele de date operationale si sursele externe in
cadrul depozitului, urmata de copierea datelor
- Curatarea datelor si incarcarea datelor corecte in cadrul depozitului de date
- Obtinerea datelor agregate cerute de utilizatori

O arhitectura mai complexa este aceea in care se foloseste un sistem de purificare


si integrare a datelor precum si multiple sisteme data mart proiectate pentru
compartimente ale intreprinderii. Sursele de date pot fi sisteme operationale si
fisiere

Modul operational
Datele unei companii sunt de obicei pastrate sub forma diferita la locatii
diferite.
Datele pot proveni de la aplicatii de mainframe sau de la sisteme distribuite din
cadrul companiilor cum ar fi sistemele de gestiune a comenzilor, de eliberare a
facturilor sau de contabilitate financiara
Transformarea datelor presupune un proces de extragere, conditionare, curatare,
fuziune, unificare pe adresa, punctare, validare si incarcare

Modul central al depozitului de date


Partea centrala a unui depozit de date il constituie sistemul de gestiune al bazei
de date si serverul principal pe care acesta ruleaza
Din punct de vedere al implementarii unui depozit de date exista doua tendinte:
1. Implementarea unui sistem distribuit
2. Implementarea unei surse de date unice, centralizate la care au acces
utilizatorii din toate departamentele unei institutii

Modul strategic, de afaceri


Valoarea finala a unui depozit de date este determinata de avantajele pe care el
ofera utilizatorului final in diferite procese de luare a deciziilor si analiza
Prin folosirea diferitelor unelte de acces la nformatie si „data mining”
disponibile pe piata, utilizatorii pot obtine informatii care ii vor ajuta in
procesele de stabilire a strategiei firmei

Aritectura pe 3 niveluri – DD
• Nivelul de jos (bottom-tier) este constituit din serverul depozitului de date
si este un sistem de baze de date relationale. La acest nivel sunt extrase,
curatate, transformate si incarcate n depozitul de date
• Nivelul mediu (middle-tier) este bazat pe un server OLAP care este
implementat in mod obisnuit, utilizand fie un model relational OLAP, fie un model
multidimensional
• Nivelul superior (top-tier) este nivelul client care contine intstrumente
pentru generarea interogarilor si a rapoartelor, instrumente de analiza sau de data
mining
Nivelul:
1. Este reprezentat de sistemele de operare ce gestioneaza date curente sic are
sunt folosite pentru procesarea tranzactiilor si interogarilor
2. Este preprezentat de depozitul de date. Datele sunt curatate si prelucrate
pentru a suporta una sau mai multe data mart-uri
3. Se numeste data mart. Este specializat pentru un anumit departament, sau grup
de utilizatori.

Arhitectura ORACLE – DD
Orice sursa – datele colectate in depozitul de date Oracle pot proveni dintr-o
varietate de surse, atat interne cat si externe
Orice date – datorita profilului utilizatorilor depozitului de date, proiectantii
de sisteme sunt pusi in fata unui set divers de cerinte
Orice acces – oracle ofera o suita de instrumente ce permite tuturor utilizatorilor
accesul la date, inclusiv: interogari, analiza in detaliu, modelare, previziune si
analize

Modele multidimensionale – DD
- Depozitele de date si instrumentele OLAP sunt bazate pe modele
multidimensionale de date. Acestea vizualizeaza datele sub forma unui cub de date
- Cubul de date permite modelarea si vizualizarea datelor in dimensiuni
multiple. El este definit prin dimensiuni si fapte. In termeni generali,
dimensiunile exprima perspectivele in care o anumita organizatie doreste sa
pastreze inregistrarile privitoare la tranzactiile desfasurate

Cubul 3d – DD
Datele sunt reprezentate ca serii de tabele 2D

Cubul 4d – DD
Putem vedea cubul 4D ca serii de cuburi 3D

Matricea cuboidului
In literatura data warehouse, cubul de date este denumit cuboid

Descrierea modelelor - modelele de date multidimensionale enumerate mai sus pot fi


descrise si printr-un limbaj de programare

Comenzi de definire – comanda pentru definirea cubului este „define cube(nume_cub)


as [(lista_dimensiuni)]:(lista_valori)” si pentru definirea dimensiunilor este
„define dimension (nume_dimensiune) as (atribut_sau_lista_subdimensiune)
Schema stea
Schema stea Este o reprezentare intuitiva a cubului de date multidimensional
într-un mediu relational. Schema stea contine o tabela centrala si un set de tabele
dimensionale ar
anjate într-o maniera radiala în jurul tabelei centrale. Fiecare tabela
dimensionala reprezinta o dimensiune a activitatii analizate, în timp ce tabela
centrala contine continutul cubului de date. Schema este asimetrica. Exista o
tabela dominanta în centrul schemei, singura tabela din schema cu multiple legaturi
prin care se conecteaza la celelalte tabele. Aceasta tabela se numeste tabela de
fapte (fact table). Celelalte tabele au numai o singura jonctiune prin care se
leaga la tabela centrala si se numesc tabele dimensionale sau dimensiuni (dimension
table). Schema stea reduce numarul de legaturi între tabele ca urmare a procesului
de denormalizare. Acestea sunt jonctiuni de egalitate. Totusi, denormalizarea
determina duplicarea datelor. Tabela de fapte este Vânzari înconjurata de
dimensiunile Timp, Client, Locatie, Produs, Vânzator.
Schema stea are urmatoarele caracteristici:
• Tabela de fapte se leaga de dimensiuni prin joinuri de egalitate.
• Fiecare atribut din cheie primara a tabelei de fapte reprezinta cheia primara a
unei dimensiuni.
• Atributele non cheie pot fi agregate. Tabelele de fapte contin numai atribute
numerice
• Tabelele sunt denormalizate.

Schema fulg de zapada


- Modelul este o varianta a modelului stea in care o aprte din tabelele
dimensiune sunt normalizate, iar datele sunt impartite in tabele suplimentare
- Rezulta o schema reprezentata intr-un grafic similar unui fulg de zapada
- Diferenta intre fulg de zapada si stea este ca tabelele dimensiune din
modelul fulg de zapada pot fi pastrate in forma normalizata
- Se economiseste spatiu de stocare si este usor de intretinut
- Reduce eficacitatea cautarilor cand mai multe join-uri trebuie executate la o
interogare, facand schema mai putin raspandita fata de stea

Schema galaxie
- Aplicatii sofisticate pot solicita tabele multiple de fapte care partajeaza
tabelele dimensiune
- Acest gen de schema poate fi vazuta ca o colectie de stele, si de aici
denumirea de schema galaxie sau constelatie

Reguli pentru definirea cubului de date


- Un cub de date este definit prin masurile si dimensiunile pe care le contine
- Din punct de edere multidimensional in spatiul cub de date poate fi definit
un set de perechi valoare-dimensiune
- masura de cub de date este o functie numerica ce poate fi evaluata in fiecare
punct al spatiului cubului de date. Masurile reprezinta valorile centrale care sunt
analizate prin cubul de date. Valoarea masurii este calculata pentru un punct dat
prin agregarea datelor corespondente perechii respective valoare-dimensiune,
diferite pentru punctul dat.

Masuri distributive - o functie de agregare este distributiva daca poate fi


calculata in mod distributiv

Masuri algebrice – o functie agregata este algebrica, daca poate fi calculata


printr-o functie algebrica cu M argumente.
Masuri holistice – o functie agregata este holistica, daca aceasta nu este limitata
constant pe spatiul de stocaj cerut de deschiderea subagregarii. In acest caz nu
exista o functie algebrica avand M argumente

Eficienta interogarilor
- Depozitele de date contin volume imense de date
- Este crucial pentru sistemele data warehouse sa dispuna de tehnici de tip cub
foarte eficiente pentru calcule, metode de acces si de procesare a interogarilor
- In termeni SQL aceste agregari sunt referite prin group by
- abordare a calculelor tip cub extinde SQL prin includerea operatorului
compute cube, care calculeaza agregari asupra tuturor subseturilor, pe dimensiunile
specificate in operatie

Categorii de tehnologii si instrumente


1. hardware – principalele instrumente si sistemele de operare pe care ruleaza
2. software – principalele instrumente care sunt folosite pentru a extrage,
curata, integra, popula, stoca, accesa, distribui si prezenta datele din depozit si
metadatele ce documenteaza depozitul de date

Categorii de hardware
1. sisteme pentru multiprocesarea simetrica – conectarea mai multor procesoare
pe acelasi not si scalabilitate
2. sisteme pentru procesarea paralela masiva – contin mai multe noduri, pe care
se pot dispune unul sau mai multe procesoare
Arhitectura MPP permite folosirea mai multor procesoare independente conectate in
retea, fiecare procesor are propria sa copie a sistemului operational si poate
functiona ca un procesor independent

Criterii pentru selectia hardware:


- Scalabilitatea
- Stabilitatea financiara
- Raportul pret-performanta
- Termenul de livrare
- Asistenta dupa livrare

Instrumente software
- De extragere si transformare a datelor
- De stocare a datelor in depozit
- De accesare si utilizare a depozitului de date

Instrumente de extragere
1. De mana – depozitul de date este improspatat periodic prin extragerea detelor
din sistemele sursa
2. Instrumentele de replicare a datelor pot asigura migrarea datelor intre
sisteme, respectiv dintr-o baza de date in alta
Pentru o replicare eficienta:
- Conexiune prin retea si o interfata corespunzatoare de acces la baza de date
- Accesul la dictionarul bazei de date
- Structura datelor sursa sa fie compatibila cu structura datelor destinatie
- Transformari care vor ingreuna controlul replicarii datelor
Produse care asigura:
- Transferul fisierelor de date
- Gestiunea copiilor de date
- Mecanisme de sincronizare a copiilor de date
- Replicarea bazelor de date
Example:
- Passport
- ETI extract
- infoPump
Intrumente de transformare
- Au rolul de a modifica datele extrase intr-un anumit format necesar pentru a
putea fi stocate in cadrul depozitului de date
- Facilitati oferite:
- Partitionarea si consolidarea campurilor
- Standardizare
- Deduplicare

Instrumente pentru asiguararea calitatii datelor


- Data quality workbench
- contend tracker
- quality manager
- integrity data reengineering

Instrumente pentru metadate


- warehouse control center
- PowerMart repository
- Warehouse control center
- Prism warehouse directory

Instrumente OLAP
- Permit utilizatorilor sa realizeze interogari ad-hoc asupra depozitului de
date
- Instrumentele MOLAP ofera facilitati analitice pentru baze de date
multidimensionale si au un timp de raspuns foarte mic, datorita structurii
eficiente de stocare a datelor. Ofera si functionalitati privind realizarea de
previziuni si diverse calcule statistice
- Instrumentele ROLAP ofera facilitati analitice pentru bazele de date
relationale

Instrumente pentru realizarea rapoartelor


1. Generatoare de rapoarte
- Permit utilizatorilor sa creeze rapoarte parametrizate care pot fi lansate in
executie de cate ori este nevoie.
- Necesita un efort initial de programare epntru definirea modelului de raport
2. Servere de rapoarte
- Similare cu generatoarele de rapoarte, doar ca au capabilitati suplimentare
care permit utilizatorilor sa gestioneze momentele de producere a rapoartelor
- Unele servere de rapoarte pot avea si functionalitati legate de distribuirea
rapoartelor

Instrumente data mining


- Au rolul de a cauta modele in depozitul de date, pentru a evidentia
cunostiinte noi despre o organizatie si mediul in care isi desfasoara activitatea
- Se bazeaza pe diferite modele de algoritmi, iar selectia unui astfel de
instrument depinde in mare masura de numarul si tipul algoritmilor care pot fi
utilizati
- Modelul data mining lucreaza cel mai bine cu date de nivel elementar
(tranzactionale) ceea ce implica necesitatea unor spatii de memorie voluminoase

Sisteme de alertare
Au rolul de a atrage atentia utilizatorului asupra datelor care sunt definite ca
exceptii
Tipuri de alerte:
1. Alerte operationale din sisteme operationale individuale
- Folosite pentru a evidentia exceptiile legate de sistemele operationale
2. Alerte operationale din magazinele de date operationale
- Necesita date operationale integrate si sunt posibil de implementat doar in
sistemele ODS
3. Alerte decizionale din depozitul de date
- Necesita comparatii intre valori de date istorice

Instrumente de modelare
- Permit utiizatorilor sa dezvolte un model atat pentru baza de date sursa, cat
si pentru baza de date destinatie.
- Este de preferat ca ele sa poata genera si structurile de baze de date
specificatiilor din model, precum si modelul datelor pe baza structurii deja
existente in baza de date
- Ajuta foarte mult auditorii sistemelor pentru a-si forma o viziune clara
asupra datelor si a legaturilor dintre ele

Instrumente pentru gestiune


- Au rolul de a sprijinii administratorii depozitului de date in activitatile
zilnice de administrare a depozitului de date
- Pot automatiza diverse aspecte ale administrarii depozitului

Paradigma Big Data


- Analiza volumelor mari de date, Big Data, este una din cele mai ni tendinte
in domeniul sistemelor de baze de date evoluate, integrarii sistemelor si a
inteligentei afacerii
- Poate fi folosita de diverse tipuri de organizatii in diverse domenii pentru
a obtine un avantaj competitiv sau pentru a imbunatati calitatea deciziilor
- Putem considera Big Data o combinatie de tehnologii orientate pe managementul
datelor, care permite stocarea, gestionarea si maniularea unor volume vaste de date
la viteza ceruta si la timpul potrivit pentru a obtine avantaje relevante si
reactie prompta
- Se pot colecta, stica, realiza alerte, rapoarte si analiza date provenite din
aplicatii, senzori, surse web si text pentru a asista procesul decizional in
diferite domenii
- Datele sunt stocate in mod traditional in baze de date relationale si/sau
depozite de date pentru a putea avea acces la ele si pentru a putea desfasura
analizele de business necesare
- Ceritele de procesare legate de volumul, varietatea, veridicitatea si viteza
de colectare a datelor au condus la aparitia bazelor de date non relationale numite
NoSQL

Bazele de date NoSQL


- Constituie un mecanism de stocare si accesare a datelor, ce eprmite acces
rapid la date, scalabilitate si flexibilitate
- Prin expresia „nu numai SQL” se specifica faptul ca se aduc imbunatatiri
bazelor de date SQL traditionale
- Bazele de date NoSQL folosesc tipuri de structuri de date diferite de
structura de date relationala. Aceste structuri contin date semistructurate sau
nestructurate
- Definitie: noua generatie de baze ded ate ce indeplinesc urmatoarele
conditii: nu sunt relationale, sunt distribuite, sunt open-source si se
caracterizeaza prin scalabilitate orizontala. Lipseste schema pentru a modela baza
de date, prezinta suport pentru replicare, suport API, nu respecta in intregime
ACID, stocheaza o cantitate mare de date. Fiecare nod/server este independent, nici
unul din ele nu partajeaza memorie sau spatiu. Datorita acestei caracteristici pot
fi efectuate un numar mare de operatii de citire/scriere pe secunda
- Nevoia de baze de date web ce suporta cantitati mari de date a aparut
deoarece exista o cantitate mare de informatie in lume si creste exponential

Teorema CAD
- Coform teoremei CAP un sistem nu poate satisface simultan toate cele 3
constrangeri, dar poate excela doar la oricare 2 din ele
- Baza de date NoSQL si sitemele aferente lor au la baza teorema CAP care
formalizeaza constrangerile acestor sisteme:
1. Consistenta – toti utilizatorii sistemului trebuie sa vada aceleasi date, tot
timpul
2. Disponibilitatea – garantie ca fiecare cerere va primi un raspuns
3. Toleranta si partitionare – proprietatea sistemului de a functiona si atunci
cand anumite noduri din sistem nu mai sunt functionale

Trasaturi BD NoSQL
- Lipsa unei scheme pentru a modela baza ded ate
- Prezinta suport pentru replicare, suport API
- Nu respecta in intregime ACID
- Stocheaza o cantitate mare de date

Tipuri de stocare
O caracteristica importanta a bazelor de date NoSQL o constituie modalitatea de
memorare a darelor semistructurate si nestructurate
1. Pe coloane
- Datele sunt stocate in celule grupate pe coloane
- Aceste coloane sunt grupate logic in familii de coloane
- Familiile de coloane pot contine un numar de coloane limitata de imlementarea
specifica
- Exemple: cassandra, hadoop
- Toate celulele corespunzatoare tuturor liniilor dintr-o coloana se memoreaza
pe disc intr-o zona continua
Avantaje:
• Este mai eficienta atunci cand trebuie sa fie calculata valoarea unei functii
agregate ce depinde de: o submultime mare de linii sau submultime redusa de coloane
• Este mai eficienta atunci cand mai multe valori pentru aceeasi coloana sunt
modificate intr-un singur pas, fara a influenta o intreaga linie
• Toata linia poate fi citita/scrisa dintr-o singura accesare a discului
• Organizarea bazata pe linii este mai eficienta atunci cand valorile mai
multor coloane de pe o singura linie sunt cerute in acelasi timp si dimensiunea
liniei este relativ mica
• Este mai eficienta atunci cand se foreste adaugarea unei noi linii, daca
toate valorile coloanelor pentru linia respectiva sunt furnizate in acelasi timp

2. Document
- Documentele sunt date semistructurate si conceptuale, ce pot fi stocate in
diferite forme: JSON, XML, PDF etc.
- Documentele sunt adresate in baza de date dupa o cheie unica ce reprezinta
documentul respectiv. Aceasta cheie este de multe ori un simplu sir de caractere,
dar poate sa fie si un URI
- Exemple: couchbase, mongodb
- Modelul orientat pe documente este reprezentat de un set de documente,
fiecare dintre ele cu mai multe versiuni
- Documentele contin colectii de tipul cheie-valoare
- Documentele sunt similare, in anumite privinte, cu inregistrarile din bazele
de date relationale
- Documentele sunt mai flexibile pentru ca nu trebuie sa aiba o anumita schema
predefinita si nu trebuie sa aiba aceleasi sectiuni sau chei
- De obicei este adaugat un index pentru chei, pentru a eficientiza accesarea
documentului asociat unei anumite chei
- Pe langa functionalitatea key-value, bazele de date de tip document adauga
functionalitati de gasire a documentelor bazat pe continutul acestora

3. Cheie-valoare
- Presupune existenta unei tabele de dispersie (hash) de chei unice care
puncteaza spre un item specific de date. Acest mecanism este folosit impreuna cu
mencanisme de cache pentru maximizarea performantelor
- Valorile sunt date arbitrare neinterpretate, pe care aplicaitiile le pot
interpreta in mai multe moduri. Acest model de date este unul simplu si fara nicio
schema predefinita, unele dintre caracteristicile principale fiind scalabilitatea
si API-ul foarte simplu de manipulat, fiind usor de imbunatati functionalitatea
sistemelor existente
- Exemple: mongodb, oracle nosql database
- Buchetul este o grupare logica pentru mai multe chei-valori si care nu
grupeaza fizic datele in acelasi loc pe disc
- Pot exista chei identice, cu valori diferite, in buchete diferite
- Pentru a citi o valoare este necesara cunoasterea cheii si a buchetului
4. Graf
Utilizeaza noduri, relatii intre acestea (muchii) si proprietati ale nodurior
Bazele de date bazate pe grafuri nu folosesc indecsi pentru a gasi o anumita
valoare in baza de date, ci se folosesc de relatiile dintre noduri pentru a gasi
elementele adiacente
Exempe: allegro, orientdb
Avantaje:
Pot fi mai usor si mai natural scalate la seturi mari de date pentru ca nu necesita
operatii de join, care sunt costisitoare ca timp de executie
Sunt foarte flexibile pentru ca nu folosesc o schema rigida, fiind potrivite pentru
date care nu au o structura fixa si ale caror caracteristici variaza in timp
Se preteaza pentru interogari asemanatoare celor din grafuri, cum ar fi cel mai
scurt drum intre doua noduri. Sunt in genral mai rapide pentru seturi de date
asociative si se preteaza mai bine unei proiectari orientate pe obiecte

Taxonomie – Ben Scotfield

Concluzii BD NoSQL
- Modeleaza logic datele utilizand schemele de date extensibile slab tipizate
(grupuri de coloane, documente, grafuri, chei-valoare) in locul modelarii datelor
in tupluri ce urmeaza scheme relationale fixe
- Sunt proiectate pentru scalare orizontala prin modele de distributie a
datelor pe mai multe noduri, respectand principiile teoremei CAP. Acest lucru se
datoreaza necesitatii de a suporta mai multe data center si provizionare dinamica
de noduri (elasticitate)
- Pot asigura persistenta datelor pe disc, in memorie, in amandoua sau folosind
alte dispozitibe inserate in sistem
- Bazele de date NoSQL ignora principiile RDBMS si nu stocheaza date folosind
tabele ci folosind chei de identificare iar datele pot fi regasite in functie de
chei asignate
- Acest tip de baze de date imbunatatesc si raspunsul la schimbari de-a lungul
timpului
- Bazele de date NoSQL nu au o schema de date fixa, ceea ce le face ca aceste
baze de date sa fie mult mai flexibile si adaptabile la schimbari de model in
cursul anilor
- Sistemele NoSQL asigura persistenta datelor in memoria interna si externa.
Exemple de persistenta a datelor:
• Bazate pe memorie
• Bazate pe disc
• Bazate pe o combinatie de memorie si disc
- Suporta diferite interfete NoSQL pentru accesul la date.
Exemple interfete:
• REST
• MapReduce
• Thrift
• Limbaje specifice ale API-urilor
Constructia tipologiei in ODI
1. Deschidem ODI Studio si ne conectam la Repository Start -> Programs -> Oracle
-> Oracle Data Integrator -> ODI Studio.
Dupa ce porneste: Connect to Repository -> OK
2. Selectam tabul Topology, alegem sectiunea Physical Architecture si extindem
nodul Technologies
3. Facem click dreapta pe Oracle si alegem optiunea New Data Server

4. Se va deschide editorul Data Server. Vom folosi ca nume pentru serverul


nostru de date XE_SISTEMCLIENTI
Vom folosi datele de conectare:
• User: sistemclienti
• Parola: oracle

5. Selectam tabul JDBC, apoi odata deschis editorul selectam iconita lupa din
partea dreapta a campului JDBC Driver. Fereastra de dialog care se deschide ne va
indica driverul JDBC implicit pentru tehnologia Oracle. Acest driver vine
preinstalat cu ODI 11g.

6. Selectam OK pentru a folosi acest driver


7. Selectam iconita lupa din partea dreapta a campului JDBC Url si acceptam
sablonul predefinit sugerat

8. Editam sablonul si introducem datele de conectare:


• Hostmane: localhost
• Port: 1521
• Service name: orclwm
9. Selectati butonul Test Connection din bara de titlu a editorului. Alegeti sa
salvati datele si continuati
10. Va aparea o fereastra de dialog care ne aminteste sa cream schema fizica
pentru acest server, lucru pe care il vom face ulterior. Alegem OK
11. Apare inca o fereastra de diaog in care vom face testarea propriu zisa a
conexiunii. Lasati nemodificata referinta Physical Agent, deoarece vrem sa folosim
agentul de executie implicit al ODI Studio. Selectati Test

12. Daca ati introdus corect datele veti vedea fereastra:

Daca conectarea esueaza revizuiti datele introduse


13. Inchideti editorul DataServer
14. Vom repeta pasii de la 3 la 8 pentru a crea o noua referinta la un server de
date pentru datamasrt-ul destinatie
Datele folosite la pasul 4 vor fi:
• Nume DataServer: XE_ODITEMP
• User: nume_prenume
• Parola: oracle
Celelalte date raman neschimbate
15. Pasul urmator presupunea crearea intrarilor de topologie pentru schemele
fizice. Extindem nodul Oracle din Technologies, selectam serverul XE_SISTEMCLIENT,
click dreapta si alegem optiunea New Physical Schema

16. In tabul Definition folosim listele de tipul drop-down pentru a selecta


SISTEMCLINET ca schema folosita atat pentru campul Schema (Schema) cat si pentru
campul Schema (WorkSchema)

17. Selectam tabul Context. Folosim butonul verde din partea dreapta pentru a
asocia o noua mapare bazata pe contect unui nume de schema logica
Avem un singur context definit, cel implicit, care se numeste Global si a fost
creat la instalarea ODI, ca atare el va aparea automat in coloana Context. Selectam
campul de sub coloana Logical Schema si scriem ORACLE_SISTEMCLIENTI apoi apasam
Enter

18. Selectam optiunea de Salvare din bara de instrumente principala pentru a


salva definitia schemei fizice si apoi inchidem editorul

19. Cream o noua schema fizica, de aceasta data pentru serverul XE_ODITEMP.
Alegem DATAMART ca Schema (Schema) si ODITEMP ca Schema (WorkSchema). De asemenea
asociem schema fizica unei scheme logice cu numele ORACLE_DATAMART foosind
Contextul Global. Salvam si inchidem editorul.