Documente Academic
Documente Profesional
Documente Cultură
Arhitecturi de SBD
• Arhitectura unui SBD = o prezentare grafica a elementelor sistemului, a legaturilor dintre ele,
evidentiindu-se si legatura cu exteriorul.
• In mod frecvent se folosesc 2 tipuri de arhitecturi de SBD, in functie de ceea ce se evidentiaza grafic:
- arhitectura pe componente
- da o imagine asupra elementelor constitutive ale unui SBD si a interdependentei dintre ele
- din aceasta arhitectura rezulta componentele unui SBD: date, software, elemente auxiliare
- arhitectura pe niveluri
- structureaza un SBD pe 3 niveluri de abordare si da o imagine despre modul de organizare
al acestuia:
1. Nivelul conceptual este dat de viziunea administratorului BD asupra SBD
1
2. Nivelul logic este dat de viziunea programatorului asupra datelor
3. Nivelul fizic este dat de viziunea analistului/inginerului de sistem asupra datelor
1. SBD paralele
- rezultatul integrarii tehnologiei BD cu cea a prelucrarii paralele pe sistemele de calcul si retele
de calculatoare
- caracteristicile sunt determinate de tehnologia procesarii paralele, in special de urmatoarele
aspecte:
• Resursele de calcul disponibile
• Operatiile de prelucrare necesare
2. SBD mobile
- aplicatii cu BD destinate echipamentelor mobile - conectate la microcalculatoare portabile si la o
retea de comunicatie
- un astfel de sistem presupune:
• Hardware specific
• Software care sa lucreze cu astfel de echipamente
• Un mod de stocare si transmitere a datelor intr-un context mobil
• Considerente suplimentare privind protectia datelor
- Caracteristicile principale:
• Timp de raspuns mic de la distante mari pt utilizatori, care sunt conectati in retea
• Costul crescut al comunicatiei in raport cu operatiile de intrare - iesire si cu operatiile de
procesare in memoria interna (CPU)
• Transmisia-receptia datelor trebuie sa tina cont de schimbarea constanta a localizarii
utilizatorului
• Durata de utilizare limitata (bateriile etc)
• Nu se poate lucra cu tranzactii centralizate ci doar distribuite ceea ce inseamna ca
mecanismele corespunzatoare vor fi cele de la SBD distribuite
3. SBD spatiale
- au rezultat prin integrarea, avand ca suport tehnologia BD, a sistemelor geografice (cu harta de
memorare si informatia asociata) cu sistemele de proiectare asistata ( cu informatia stocata pt
asistarea unui proces de proiectare)
- organizarea datelor se face cu modelul de date spatial
- reprezentarea datelor prin modelul de date spatial este o extensie fie a modelului relational, fie a
modelului OO pt BD
- Principalele caracteristici se refera la:
• Datele spatiale
• Cererile spatiale
• Indexarea spatiala
• Tipurile de aplicatii cu SBD spatiale
4. SBD multimedia
- stocheaza si prelucreaza, in context de BD, atat date clasice (text, grafica) cat si multimedia
(imagine, audio, video)
- Caracteristcile principale:
• Stocheaza date de dimensiuni foarte mari
• Accepta regasirea similara pt:
- imagini, care pot fi diferite dar insesizabile pt utilizator
- audio, adica voce care seamana cu ceva stocat in sistem
- scrisul de mana, adica o semnatura citita se compara cu cele existente in sistem
- accepta date media continue, cum ar fi sunet si video
- accepta diferite formate de date
- tipurile de aplicatii cu SBD multimedia sunt cele care presupun:
2
• Regasiri bazate pe continut: “toate imaginile similare cu una data”
• Utilizarea obiectelor foarte mari individuale: “o secventa audio”
• Necesitatea datelor video: “un clip video”
Exemplu: Oracle InterMedia este o componenta care extinde functionalitatea SBD Oracle cu
facilitati privind stocarea, gestiunea si regasirea datelor multimedia intr-o maniera integrata cu tipurile de
date clasice.
5. SBD pentru SSD
- sunt produse software complexe care folosesc date online pt fundamentarea deciziilor si pt
asistarea procesului decizional
- caracteristici
- obiective
- componente functionale
- Tipuri de SSD evoluate:
• Orientate pe date (Data Driven)
• Orientate pe modele (Model Driven)
• Orientate pe comunicare si de grup (Communication Driven and Group)
• Bazate pe Web (Web Based)
Sistemul Oracle
BD orientate obiect
• Limitele sistemelor relationale -> evolutia spre sistemele orientate obiect
• Prima aparitie - sfarsitul ’80
• Dpdv al BD - o noua generatie de modele logice de date: cel orientat obiect
• Orice model logic de date pt BD este format din 3 elemente fundamentale:
1. Structura
2. Operatorii
3. Restrictii de integritate
Modelul orientat obiect
1. Definirea structurii modelului OO - consta in definirea obiectelor si a legaturilor dintre ele
A. Definirea obiectelor - clasa de obiecte
• Concepte utilizate:
- clasele (tipurile) de obiecte
- obiectele
- metoda
- mesajul
- instanta
- caracteristici
5
A. Definirea legaturilor intre obiecte se realizeaza implicit prin modul de construire (definire) al
obiectelor
Tipuri de legaturi:
- ierarhice
- de referinta
2. Operatorii modelului OO - au rolul de a actiona asupra obiectelor din BD
- actualizarea metodelor
- actualizarea proprietatilor
- actualizarea claselor
- legaturile intre clase
- actualizarea instantelor
3. Restrictiile de integritate ale modelului OO asigura coerenta modelului:
• Caracterizarea generala:
- a treia generatie de BD
- probleme foarte mari si complexe
- toate domeniile de activitate
- limite
- exemple: O2 (Franta), Jasmine (SUA)
- BD orientata obiect
Sisteme de gestiune a BD OO
SGBDOO
• Abordarea notiunilor de obiect si SGBDOO s-a facut din mai multe puncte de vedere, pt ca mai multe
domenii ale informaticii (limbajele de programare, BD, sistemele informatice, inteligenta artificiala) au
contribuit la dezvoltarea conceptelor din tehnologia OO
• Directii de cercetare pt SGBDOO:
- accentul pe limbajele de programare ( functionale - LISP; imperative - Pascal C; OO -
Smalltalk, C++, Java)
- accentul pe date (modelul OO)
Printr-un compromis al celor 2 directii de cercetare s-a ajuns la SGBDOO
• In tehnologia OO, datorita directiilor de cercetare diferite, exista mai multe nuante de exprimare privind
sistemele dezvoltate:
- sisteme orientate pe clase/tipuri, folosesc drept notiune fundamentala “clasa/tipul de obiecte”
6
- sisteme orientate pe obiecte - folosesc drept notiuni fundamentale atat “clasa de obiecte” cat si
obiectul
- sisteme bazate pe obiecte - folosesc notiunea de “obiect” pt care nu se implementeaza 3
caracterisitici (mostenirea, incapsularea, abstractizarea)
Ex limbaje tip “scenarii - script”
- sisteme obiectuale - folosesc alte notiuni fundamentale dar trateaza si obiecte/clase de obiecte
Ex : sistemele relational - obiectuale cum ar fi Visual Foxpro, Oracle etc
• rezulta ca mai corect ar fi sa spunem, atunci cand ne referim in mod generic, sistem OO, care ar fi
acoperitor pt variantele de mai sus
• La definirea minimala a unui SGBDOO se au in vedere 3 principii
Oracle obiectual
• nativ - un sistem relational, dar se incadreaza acum in categoria de SGBD relationale extinse cu
facilitati din tehnologia OO -> relational obiectuale
• Facilitati:
- clasele de obiecte sunt denumite tipuri de obiecte
- se face deosebirea intre tipuri (clase) de obiecte si instanta obiectului respectiv
- Oracle poate utiliza limbajele SQL si PL/SQL pt a descrie si manipula atat datele relationale cat
si obiectele
- pt a se putea lucra cu tipurile de obiecte in Oracle este necesar ca optiunea Objects sa fie activa la
instalarea sistemului
- sistemul trateaza distinct notiunea de tip de obiecte si pe cea de obiect
Tipul de obiecte
• Similar dpdv al constructiei cu un subprogram PL/SQL de tip pachet: parte declarativa si corp
• caracteristici:
- declararea : CREATE OR REPLACE
- corpul: intre BEGIN si END
- metodelor li se pot atasa restrictii prin PRAGMA RESTRICT_REFERENCES
- actualizarea unui tip de obiecte se face prin instructiunea ALTER si DROP si consta in
adaugarea, modificarea sau stergerea unor proprietati sau metode
Obiectele
• Se aseamana cu variabilele din PL/SQL
• caracteristici:
- declararea prin instructiunea DECLARE
- initializarea: cu un constructor prin operatia de atribuire
- obiectul curent se poate specifica prin cuvantul rezervat SELF
- Oracle lucreaza cu obiectele in 2 moduri: in BD sau in LMD
- obiectele in BD sunt persistente si se stocheaza in tabele relationale cu randuri sau
coloane
- obiectele in LMD sunt tranziente, adica locale unor blocuri PL/SQL
8
Baze de date distribuite
9
A. Nivelurile de referinta intr-o BDD
Componentele unei BDD pot fi grupate si reprezentate structural pe 2 niveluri de referinta:
1. Global
2. Local
Din cele 2 => componentele unei BDD, care sunt structurate prin adaptarea componentelor
oricarei BD astfel:
- nivelul global:
- schema conceptuala globala
- schema externa globala
- schema interna globala
- nivelul local:
- schema conceptuala locala
- schema externa locala
- schema interna locala
B. Tipurile de BDD
• Se folosesc mai multe criterii in vederea clasificarii BDD
• Dpdv al modului de amplasare a datelor pe calculatoarele din retea:
- BDD centralizate
- BDD multiplicate
- BDD partitionate
C. Cererile distribuite intr-o BDD
- utilizatorul poate formula, intr-o BDD, cereri de regasire care se prelucreaza prin
accesarea unor date situate si pe alte noduri decat cel de unde s-a formulat cererea
- pt rezolvarea unei astfel de cereri de regasire se realizeaza o serie de pasi, tinand cont de
cele 2 niveluri de structurare ale unei BD
• Definirea SGBDD
• Necesitatea (rolul) SBD distribuite
• Componentele software:
- SGBD locale
- comunicatia
- SGBDD
Obiectivele unui SGBD distribuit:
1. Redundanta minima si controlata
2. Facilitatile de utilizare
3. Securitatea datelor
4. Integritatea datelor
5. Partajabilitatea datelor
6. Administrarea si controlul datelor
10
Arhitectura SGBD distribuite
1. Arhitectura ANSI pe 2 niveluri:
Nivel global:
- schema globala
- schema de fragmentare
- schema de alocare
Nivel local:
-schema locala
- SGBD local
- BD locala
11
Avantaje:
• Structura organizatorica
• Fiabilitate crescuta
• Partajabilitate ridicata
• Performante imbunatatite
• Extensibilitatea
Dezavantaje:
• Investitia initiala
• Complexitatea
• Protectia
• Standardele
• Proiectarea
Depozite de date
12
Tipuri de depozite:
Dupa modelul de date implementat:
1. DD relationale
2. DD multidimensionale
B. Pe 3 niveluri
1. Nivelul de jos (bottom-tier) e constituit din serverul DD si este in multe cazuri, un sistem
de BD relationale. In cadrul acestui nivel datele sunt extrase, curatate, transformate si
incarcate in DD.
- daca din BD operationale si din sursele externe sunt extrase utilizand programe de
aplicatii tip interfata cunoscute sub numele de “gateways”
- un gateway este sprijinit de SGBD-ul de baza si permite programelor client sa
genereze cod SQL pt a fi executat de server
ex gateways: ODBC (open database connection), OLE-DB (open linking and
embedding for database) la Microsoft, JDBC (java database connection)
- trebuie luata in considerare si modalitatea de improspatare a datelor din depozit, pe
masura trecerii timpului
Daca, de exemplu, dimensiunea timp are structura luna, trimestru, an, inseamna ca la
sfarsitul fiecarei luni, a fiecarui trimestru sau a fiecarui an datele din sistemul operational
trebuie sa improspateze DD
13
2. Nivelul mediu (middle-tier) bazat pe un server OLAP care e implementat in mod
obisnuit, utilizand fie un :
- model relational OLAP (ROLAP) = extensie a unui SGBDR care mapeaza
operatiunile pe date multidimensionale la operatiunile relationale standard
- fie un model multidimensional (MOLAP) este dedicat si implementeaza direct
descrierea datelor si a operatiunilor multidimensionale
3. Nivelul superior (top-tier) = nivelul client care contine instrumente pt generarea
interogarilor si a rapoartelor, instrumente de analiza si/sau instrumente data mining (ex:
analiza trendului, predictii etc)
C. Oracle
• Orice sursa. Datele colectate in DD Oracle pot proveni dintr-o varietate de surse, atat
operationale (interne) cat si externe
- in mod obinuit datele din DD provin sin sisteme operationale interne
- totusi, sursele externe de date (demografice, economice, internet) devin tot mai populare
si in curand vor furniza tot mai multe date pt DD
- sursele int si ext trebuie combinate pt a furniza utilizatorilor finali acces la ambele tipuri
de date
• Orice date. Datorita profilului utilizatorilor DD, proiectantii de sisteme sunt pusi in fata unui set
divers de cerinte.
- accesul la date trebuie sa fie rapid, direct si intuitiv
- majoritatea utilizatorilor necesita interogari directe si analize in detaliu, in timp ce alti
utilizatori au cerinte de analize complexe
- sursele de date trebuie sa fie capabile de manevrarea a noi formate de date: audio, video,
texte si spatiale. Mai mult, cerinte de volume de date istorice mari pot conduce la BD foarte
mari (VLDB = very large databases). Pt a satisface aceste cerinte, Oracle furnizeaza atat
solutii relationale (Oracle) cat si multidimensionale (express server)
• Orice acces. Oracle ofera o suita de instrumente ce permite tuturor utilizatorilor accesul la date
inclusiv: interogari si raportari ad-hoc , analiza in detaliu, modelare, previziune si analize de tip “ce
se intampla daca”
- majoritatea utilizatorilor necesita instrumente intuitive ce permit accesul rapid la date pt
luarea deziciilor
- o categorie separata de utilizatori necesita instrumente sofisticate de analiza pt stabilirea
strategiilor pe termen lung. Luate impreuna, necesitatea de accesare a informatiilor se
regaseste in intreaga organizatie. DD tind sa se extinda de la domeniul analistilor la o
categorie mai larga de utilizatori. In acest context, decizia asupra instrumentelor ce vor fi
folosite devine critica.
14
BigData si BD NoSQL
Teorema CAP
• Consistenta
• Disponibilitate
• Toleranta la partitionare
Sistem de BD NoSQL
Sistem de BD NoSQL = sistem de BD care este:
- distribuit
- ar putea sa nu necesite scheme fixe pt tabele
- evita de obicei operatiile de tip join
- este in mod tipic scalabil pe orizontala
- nu pune la dispozitie o interfata de interogare SQL
- este open source
Uneori termenul este folosit cu sensul de sistem complet nerelational.
16
Ex: Redis, Memcached, Riak, DynamoDB, Ehcache, Hazelcast, Berkeley DB, SimpleDB,
Coheremce, Oracle NoSQL
• Alte categorii de BD NoSQL cu utilizare de nisa: RDF stores (acumulari de informatii Resource
description Framework), BD graf, BD pt motoare de cautare, BD multivaloare, BD native XML, BD de
evenimente, BD de continut, BD de navigatie etc
17