You are on page 1of 17

Sisteme de baze de date

Structura cursului SBD


1. Sisteme de BD - concepte fi fundamente
2. Sistemul Oracle - aspecte evoluate
3. SBD orientate obiect & Oracle obiectual
- concepte
- arhitecturi
- avantaje si limite
- extensia OO din PL/SQL
4. Integrarea unor tehnologii informatice in Oracle
- platforma Java si JDeveloper
- web si Oracle WebLogic
- GIS si Oracle Spatial
- Grid Computing si Oracle Grid Control
5. Tratarea volumelor mari de date
- depozite de date, Oracle Discoverer
- extragerea de date si Oracle Miner
6. SBD distribuite & Oracle distribuit
- fundamente
- distribuirea datelor
- avantaje si limite
- Oracle distribuit

Aspecte fundamentale privind SBD


Concepte
• In contextul dezvoltarii societatii informationale actuale, numeroase notiuni din domeniul informaticii,
altdata cunoscute doar de specialisti, au devenit familiare tuturor: SBD, BD, SGBD, aplicatie
informatica.
• Desi in limbajul curent ele pot fi confundate ca semnificatie, pt specialisti fiecare dintre aceste concepte
trebuie sa fie delimitat, tinand cont ca fac parte din acelasi domeniu al informaticii.
• O aplicatie informatica presupune un ansamblu de elemente intercorelate functional pt culegerea,
transmiterea, stocarea si prelucrarea datelor cu ajutorul calculatorului.
• Sistemul de BD = ansamblu de elemente interconditionate care contribuie la realizarea si exploatarea
unei aplicatii cu BD.
• Elementele care fac parte din acest ansamblu se refera la: date, software, alte resurse necesare.
• Datele sunt structurate si stocate in calculator, atat in memoria interna cat si in cea externa cu ajutorul
unor produse software si intr-un anumit context de lucru.

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

Tipuri de SBD evoluate

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

1. Oracle SGBD evoluat


- respecta in totalitate teoria relationala, presupunand respectarea a 2 cerinte minimale:
• A implementa modelul de date relational pt BD
• A implementa un limbaj de programare relational (SQL)
- respecta regulile lui Codd
- versiunea 12c -> infrastructura pt BD pe Internet
- pe parcursul evolutiei sistemului Oracle, au fost adaugate noi facilitati, rezultate atat din noul context
informatic, cat si din cerintele utilizatorilor, date de dezvoltarea societatii informationale. In mod continuu,
noi tehnologii informatice au fost implementate in sistem:
• Lucrul cu BD distribuite
• Abordarea OO
• Facilitati multimedia
• Gestionarea BD pt Internet
• Afaceri electronice
• Inteligenta afacerii
• Grid computing
2. Oracle SGBD relational
- tinand cont de criteriile rezultate din teoria BD, dar si din teoria relationala, urmatoarele elemente confirma
statutul Oracle ca SGBD relational:
• Indeplineste functiile unui SGBD:
- descriere
- manipulare
- utilizare
- administrare
Acest lucru este realizat prin LDD, LMD, pachetele software de interfete si instrumente
specializate (Developer Suite, Application Server, Enterprise Manager)
• Indeplineste obiectivele unui SGBD:
- independenta datelor
- redundanta minima si controlata
- facilitate de utilizare
- securitatea datelor
- integritatea datelor
- partajabilitatea datelor
3
- legaturile intre date
- performantele globale
- administrarea si controlul datelor
Obiectivele sunt indeplinite prin colaborarea tuturor componentelor sistemului Oracle.
• Implementeaza modelul de date relational sub toate cele 3 aspecte ale sale:
- structurarea datelor se face cu ajutorul notiunilor: domeniu, tabela (relatie), tuplu, atribit, chei,
schema relatiei
-restrictiile de integritate se implementeaza prin LDD. Acestea sunt unicitatea cheii (unique,
primary key), referentiala (FK), entitatii (not null) si de domeniu (check)
- operatorii relationali implementati provin din algebra relationala: selectie, proiectie, jonctiune,
reuniune, intersectie, diferenta. Toti operatorii sunt implementati prin clauze specific in comanda
SELECT
• Implementeaza limbajul relational SQL, care este bazat pe transformarea relationala si imbina
puterea calculului si algebrei relationale. In Oracle este implementat o varianta extinsa de SQL
standard numita SQL*PLUS. Pt a suplini lipsa facilitatilor procedurale din SQL, Oracle are si un
limbaj imperativ/procedural propriu, denumit PL/SQL.
• Functioneaza in arhitectura client-server cu procese corespunzatoare. La instalarea sistemului
Oracle sunt componente pt server si componente pt client. Desi procesele client si server din Oracle
pot fi rulate concomitent pe acelasi calculator, este mai eficient ca ele sa fie rulate pt masini (noduri
de retea) diferite.

Facilitati oferite de sistemul Oracle


- a evoluat de la un SGBD relational spre o infrastructura de BD pt internet
- Facilitati:
• A initiat trecerea de la arhitectura client-server spre arhitectura NC (network computing).
Versiunile actuale de Oracle pot functiona in ambele arhitecturi
• Ofera o mare deschidere atat el ca sistem, cat si pt aplicatiile cu BD evoluate
• Pune mare accent pe tot felul de optimizari privind utilizarea resurselor de calcul (timpul si spatiul)
• Pune accent mai mare pe analiza - proiectare (modelare - functionalitate) fata de programare,
inclinand balanta in favoarea primei activitati.
• A implementat primul sistem de BD pt internet in lume si apoi a dezvoltat acest conceput cu o
multime de servicii performante
• A implementat pt prima data in lume tehnologia Grid Computing pt BD si continua sa o dezvolte
• A devenit o platforma multipla, de mare complexitate, cu portabilitate ridicata, care accepta: orice
calculator, orice sistem de operare, orice date, orice aplicatie, orice utilizator
• Ofera o mare diversitate de interfete pt dezvoltarea aplicatiilor cu BD:
- bazate pe modelare ( designer, developer, application server)
- bazate pe componente (platforma java)
- bazate pe HTML (navigatoare, editoare web, XML)
- bazate pe servicii (Service oriented architecture-SOA)
- prin programare (fraze SQL, proceduri stocate PL/SQL si java, obiecte standard CORBA, obiecte
ODBC, obiecte JDBC)

Oracle Grid Computing


• = Tehnologie introdusa de Oracle ce presupune utilizarea coordonata a mai multor servere mici, care
actioneaza impreuna ca un singur sistem foarte puternic
• Se realizeaza un progres tehnologic de la Internet la Grid Computing datorat aparitiei unor componente
tot mai puternice si mai ieftine
• Facilitati:
1. virtualizarea pe fiecare nivel - se pot adauga sau inlatura discuri de stocare, cu pastrarea on-line a
aplicatiilor
Performantele serverelor sunt puse la dispozitia mai multor aplicatii cu baze de date, intr-o structura
eficienta de tip cluster. Resursele serverelor se aloca in functie de necesitatile organizatiei si
folosind tehnici speciale: se urmareste incarcarea diferitelor echipamente din retea si masina cu
cele mai putine procese active va primi o noua sarcina
4
2. Platforma ieftina - Oracle poate rula pe platforme diverse, inclusiv servere si alte echipamente de
stocare a datelor la un cost redus, oferind aceleasi functionalitati indiferent de platforma aleasa
3. Scalarea - pt exploatare, se poate porni initial de la o aplicatie cu 2 niveluri, pe un grup de servere cu
un cost redus, continuandu-se apoi cu includerea unor noi aplicatii si a altor echipamente
4. Sisteme informatice integrate - componenta Oracle Streams ofera functionalitati multiple pt
realizarea unei solutii de sistem informatic integrat, cu eliminarea redundantei datelor.
5. BD distribuite - Oracle a introdus conceptul de rulare a unei singure BD, integrate logic, pe
multiple servere folosind tehnologia Real Application clusters (RAC). Practic mai multe servere
sunt folosite optim de mai multe aplicatii, reducandu-se nr de echipamente si licente necesare.
Tehnologia de tip cluster nu trebuie sa fie achizitionata de la un producator diferit, introducandu-se
componenta Oracle Portable Clusterware, care permite folosirea facilitatilor de tip cluster pe
orice tip de hardware.
6. Managementul tip grid - Oracle a introdus un instrument special pt managementul tip grid, denumit
Oracle Grid Control, pe care adm BD il poate folosi pt monitorizarea si intretinerea intregii
infrastructuri de BD, care include resurse eterogene distribuite geografic. Resursele aplicatiilor cu
BD nu mai sunt administrate individual, asa cum se realiza in mod traditional, ci grupat, prin
utilizarea unui navigator Web
7. Securitatea - Oracle Enterpise User Security este o componenta de management centralizat al
privilegiilor de acces a utilizatorilor. Practic, un utilizator este creat o singura data, putand avea
acces la multiple BD existente in arhitectura, conform drepturilor sale de acces
• Conceptele fundamentale GC implementate in aplicatiile dezvoltate cu Oracle:
- partajarea resurselor : resursele aflate la distanta, necesare unei aplicatii sunt utilizate in comun
(schimb de fisiere, acces direct la date si alte aplicatii etc )
- accesul sigur: pt a avea acces partajat la anumite resurse se impun anumite restrictii: politica de
acces, autorizarea, autentificarea
- accesul in timp util: indiferent de nr de resurse existente, utilizatorul va avea uneori de asteptat.
Mecanismele de alocare si cele de acces au rolul de a rezolva eficient cozile de asteptare
- disparitia distantelor: performantele mereu crescande ale mediilor de comunicatie in retea fac
acum posibila conectarea unui nr foarte mare de utilizatori si transmisia unui volum urias de date
- standardele: pt ca tehnologia GC sa fie recunoscuta si utilizata la nivel global este nevoie sa fie
standardizate cat mai multe elemente. Exista organisme de standardizare si o propunere de
arhitectura standard numita Open Grid Services Architecture - OGSA
- sistemul deschis: proiectele GC sunt construite pe baza unor protocoale si servicii standarde, ca
o infrastructura de sistem deschis (open-source) capabila sa preia din mers schimbarile care apar

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

BD orientate obiect - BDOO


• Definire
• Aparitia si dezvoltarea - favorizeaza incepand cu ’90 de: un nou context informatic, noi tipuri de
aplicatii, evolutia limbajelor de programare
• Tehnologia OO - in totalitatea conceptelor, metodelor, proceselor si instrumentelor utilizate pt
constructia sistemelor bazate pe obiect
• Aplicarea tehnologiei OO la SBD: avantaje privind imbunatatirea structurii de date (modelul OO) si a
celorlalte componente ale sistemului
• Caracteristicile cele mai importante ale BDOO rezulta din implementarea modelului de date OO si
din tehnicile de proiectare utilizate:
- Tehnici de implementare:
• Gestiunea mediului limbajului de programare
• Reprezentarea obiectelor
• Gestiunea persistentei - se descriu si manipuleaza datele permanente ( persistente), in
acelasi mod cu cele temporare
• Gestiunea memoriei
• Extensibilitatea
• Distribuirea
• Gestiunea versiunilor
• Gestiunea obiectivelor traditionale ale unei BD

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

Caracteristici ale SGBDOO


1. Manipularea obiectelor complexe
2. Identitatea obiectelor
3. Incapsularea obiectelor
4. Ierarhiile de clase/tipuri
5. Suprapunerea
6. Extensibilitatea
7. Completitudinea
8. Persistenta
9. Gestiunea memoriei
10. Concurenta in exploatare
11. Tranzactiile lungi
12. Gestiunea versurilor
13. Modele diferite

Arhitectura unui SGBD OO


Pentru SGBDOO exista mai multe tipuri de arhitecturi:
- functionale
- operationale
- distribuite
Arhitectura functionala:
• intr-o arhitectura functionala, un SGBDOO este descris in termenii componentelor sale logice si ai
modulelor din care este compus sistemul (software)
• Componentele unui SGBD sunt structurate pe 3 niveluri de functionalitate, necesare pt dezvoltarea
aplicatiilor cu BD:
1. Instrumente utilizator
2. Gestionarul de obiecte
3. Serverul de obiecte
Avand in vedere arhitectura functionala a unui SGBDOO, componetele unui astfel de sistem pot fi
grupate in 3 categorii corespunzatoare celor 3 niveluri functionale:
I. Componentele destinate utilizatorilor - se refera in principal la :
- limbajele de programare
- la interfetele de dezvoltare
II. Componetele gestionarului de obiecte au rolul de a asigura:
- prelucrarea mesajelor - realizata in mai multi pasi
- prelucrarea schemei BDOO - care asigura suport pt o serie de activitati
III. Componentele serverului de obiecte se ocupa de:
- gestiunea tranzactiilor
- gestiunea stocului rezident de obiecte
- protectia obiectelor
Avantajele si limitele SGBDOO
Avantajele folosirii solutiilor informatice cu SGBDOO
- se preteaza bine pt aplicatii tip multimedia, care genereaza obiecte mari, complexe,
multidimensionale
7
- implementeaza modelul de date OO care permite reprezentarea obiectelor mari, complexe si
dinamice
- pot fi stocate si prelucrate volume foarte mari de date, de o mare complexitate si de orice tip
- produc aplicatii cu BD deschise, cu avantajele care rezulta din caracteristicile implementate pt
obiecte - mostenirea, incapsularea, persistenta, reutilizarea, identitatea etc
- asigura cresterea productivitatii in programare prin implementarea caracteristicii de reutilizare,
precum si noi tehnici de programare specifice tehnologiei OO, alaturi de tehnicile clasice
- se asigura independenta totala a datelor in programe, atat la nivel fizic cat si logic
- trateaza tranzactii foarte lungi si realizeaza cooperarea intre tranzactii prin mecanisme specifice
- distributia si reutilizarea obiectelor se aplica atat la nivel de date - partea de proprietati din
clasele de obiecte, cat si la nivel de programe - partea de metode din clasele de obiecte
Dezavantajele folosirii solutiilor informatice cu SGBDOO:
- piata de utilitare ramane redusa
- nu au o fundamentare teoretica suficient de solida care sa le asigure robustete mare
- nu au interfete de dezvoltare suficient de performante pt proiectarea asistata a BDOO
- nu au limbaj de programare standard, propriu, unanim acceptat (asa cum este de ex SQL pt
relational), dar exista incercari: OQL - obiect query language, ObjectSQL etc)
- interogarea se face, de multe ori, greoi, cu un mare consum de resurse de calcul
- nu exista reguli clare care sa permita evaluarea unui SGBDOO

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

Sisteme distribuite - aspecte fundamentale


= ansamblu de calculatoare conectate in retea si echipate cu sisteme software care lucreaza distribuit
• Resursele dintr-un sistem distribuit sunt: hardware, software, datele
• Caracteristici :
1. Suport pt partajarea resurselor - se realizeaza prin cel putin 2 modele:
- modelul client-server
- modelul bazat pe obiecte
2. Deschiderea
3. Concurenta si paralelismul
4. Scalabilitatea
5. Toleranta la accidente
6. Transparenta
Exista mai multe tipuri de transparenta pe care le poate asigura un sistem distribuit:
- transparenta accesului
- transparenta localizarii
- transparenta concurentei
- transparenta replicarii
- transparenta accidentelor
- transparenta migrarii
- transparenta performantelor
- transparenta scalarii
Obiectivele realizarii sistemelor distribuite
1. Cerintele proiectarii
Pentru realizarea unui sistem distribuit proiectantul va tine cont de urmatoarele aspecte tehnice:
• Numele globale
• Comunicatia
• Structura software
• Alocarea functionala
• Mentinerea consistentei
2. Cerintele utilizator
Pentru realizarea unui sistem distribuit proiectantul va tine cont de urmatoarele aspecte legate de
utilizarea sistemului:
• Functionalitatea
• Reconfigurarea
• Performanta service
BD distribuite
= ansamblu de colectii de date memorate, conform unui model de date, in diferite locuri - noduri ale
unei retele de calculatoare, colectii legate logic, adica integrate astfel incat sa constituie o BD
unica, tratata in mod unitar
• O BDD implementeaza toate aspectele fundamentale ale unei BD, unele particularizate pt mediul
distribuit si in plus o serie de caracteristici specifice
• acestea rezulta din modul de realizare a unei BDD si da o imagine asupra modului de utilizare a ei
Caracteristici specifice ale BDD:
• Organizarea datelor
• Manipularea datelor
• Criteriile de distributie a datelor in nodurile retelei
• Multiplicarea datelor
• Accesul concurent
Structurarea unei BDD:
Modelul logic de date implementat de o BDD este unul dintre cele 4 fundamentale adaptat la mediul de lucru
retea de calculatoare.

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

Sisteme de gestiune ale BDD

• 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

Regulile lui Date


• R1. Autonomia locala
• R2. Server central
• R3. Continuitatea
• R4. Transparenta localizarii
• R5. Independenta fragmentarii
• R6. Independenta replicarii
• R7. Interogari distribuite
• R8. Tranzactii distribuite
• R9. Independenta fata de hardware
• R10. Independenta fata de software
• R11. Independenta fata de retea
• R12. Independenta fata de SGBD

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

2. Transparenta distributiei datelor


• Asigurata prin unul dintre obiectivele unui SGBDD
• Arhitectura tip ANSI asigura transparenta distributiei pe 3 niveluri
- transparenta la nivel de fragmentare
- transparenta la nivel de alocare
- transparenta la nivel local

Distribuirea datelor de baza:


• Tehnicile prin care un SGBDD, asigura distribuirea datelor de baza sunt:
1. Fragmentarea = operatia de descompunere logica a colectiilor globale in parti disjuncte
numite fragmente, utilizand operatori speciali
- pt a realiza fragmentarea SGBDD respecta:
A. Reguli:
- competitudinea
- reconstructia
- disjunctia
B. Metode
- orizontala
-verticala
- mixta
2. Replicarea = operatia de stocare a unor potiuni dintr-o BD, sun forma de copii, pe mai
multe calculatoare (noduri) dintr-o retea
- daca un utilizator actualizeaza o copie locala atunci SGBDD actualizeaza automat
toate copiile acelor date
- Metode ce pot fi utilizate la replicare:
1. Date ne-replicate
2. Date replicate partial
3. Date replicate total
3. Mixta = operatia de aplicare succesiva a fragmentarii si replicarii pt aceeasi colectie
globala de date
- aceasta tehnica preia avantajele celorlalte 2 dar este mai greu de implementat
4. Incarcarea = operatia de copiere periodica a intregii BD centralizate sau a unei portiuni din ea
pe noduri locale
- tehnica este cea mai simpla si se foloseste atunci cand datele sunt stabile sau atunci cand
nu toti utilizatorii trebuie sa aiba acces la datele de ultima ora

Distribuirea datelor din catalog


• Se realizeaza in 2 situatii
• Metode de distribuire a catalogului:
- catalogul replicat
- catalogul local
- catalogul centralizat
- catalogul mixt

11
Avantaje:
• Structura organizatorica
• Fiabilitate crescuta
• Partajabilitate ridicata
• Performante imbunatatite
• Extensibilitatea

Dezavantaje:
• Investitia initiala
• Complexitatea
• Protectia
• Standardele
• Proiectarea

Depozite de date

Definirea depozitelor de date:


- sprijina prelucrarea informatiilor pt analiza
- furnizeaza o platforma solida de consolidare a datelor istorice
- depozitul de date - definire in sens larg
- depozitul de date - definire in sens W.Inmom
Scopul DD:
- stoc central de date
- optimizare
- accesul la datele organizatiei
- utilitare
- consistenta datelor
Caracteristicile principale:
- dimensiune foarte mare
- organizat
- cereri de regasire ad-hoc
- surse de date variate
- modele de date multidimensionale
- colectia de date
- necesitatea

12
Tipuri de depozite:
Dupa modelul de date implementat:
1. DD relationale
2. DD multidimensionale

Dupa aria de cuprindere:


1. Depozit de intreprindere
2. Data mart
3. Depozit virtual
Arhitectura DD
Exista mai multe modele de arhitectura:
A. Pe componente

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

Paradigma Big Data


• Analiza volumelor mari de date, Big Data = una dintre cele mai noi tendinte in domeniul sistemlor de BD
evoluate, integrarii sistemelor si a inteligentei afacerii
• Poate fi folosita de diverse tipuri de organizatii in diverse domenii pt a obtine un avantaj competitiv sau pt
a imbunatati calitatea deciziilor
• Big data - definire

BD NoSQL = Not OnlySQL


• Constituie un mecanism de stocare si accesare a datelor, ce permite acces rapid la date, scalabilitate si
flexibilitate
• Prin expresia “nu numai SQL” se specifica faptul ca se aduc imbunatatiri BD SQL traditionale
• Folosesc tipuri de structuri de date diferite de structura de date relationala. Aceste structuri contin date
semistructurate sau nestructurate

Teorema CAP
• Consistenta
• Disponibilitate
• Toleranta la partitionare

Trasaturi & caracteristici ale BD NoSQL


- conform def date de Rick Cattel BD NoSQL prezinta 6 trasaturi (caracteristici ) de baza:
1. Ignora principiile RDBMS
2. Nu au o schema de date fixa
3. Lipsa necesitatii de normalizare a datelor
4. Utilizeaza scheme de date extensibile slab tipizate
5. Scalare orizontala
6. Persistenta datelor

Stocarea datelor in BD NoSQL


• O caracteristica importanta a BD NoSQL o constituie modalitatea de memorare a datelor
semistructurate si nestructurate
• Au aparut in timp diverse tipuri de stocare a acestor date cum sunt:
1. Stocarea bazata pe grup de coloane
Ex: Hadoop/HBase, Cassandra, Hypertable, Accumulo, Amazon Simple DB, Cloudata,
Cloudera
2. Stocarea bazata pe structuri de tip chei-valoare
15
- tabela de dispersie
- date arbitrare neinterpretate
Ex: MongoDB, Oracle NoSQL Database, Tarantool, Tokyo Cabinet
3. Stocarea de tip documente
- conceptul principal in acest caz este documentul
- JSON, BSON, XML, PDF, XLS
Ex: Couchbase, MongoDB
4. Stocarea datelor bazata pe graf
- concepte: noduri, muchii, proprietati
Ex: Allegro, Neo4J, OrientDB, Virtuoso, Stardog
Avantaje: scalabilitate, flexibilitate, adecvate POO

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.

• Tranzactiile in BD NoSQL nu indeplinesc cerintele ACID:


• Pt acest tip de BD tranzactiile trebuie sa fie BASE
- Basically Available = sistemul garanteaza disponibilitatea datelor asa cum este ea definita in
teorema CAP. Oricare cerere va primi un raspuns. Dar spre deosebire de SBD relationale,
raspunsul poate fi si afirmarea incapacitatii temporare de a furniza datele cerute - datele pot fi la
momentul respectiv intr-o stare inconsistenta sau in curs de modificare
- soft state = la fel ca Basically Available
- eventual consistency = sistemul va deveni cu siguranta consistent dupa un interval in care nu mai
au loc operatii de scriere. Datele se vor propaga mai devreme sau mai tarziu in toate punctele in care
ar trebui sa se propage, dar sistemul va continua sa primeasca operatii de scriere si nu va verifica pt
consistenta la fiecare tranzactie inainte de a trece la urmatoarea tranzactie ( asa cum se face in SBD
relationale)
• In functie de modul in care sunt structurate datele, SBD NoSQL pot fi clasificare in urmatoarele categorii:
- Document stores (acumulari de doc) alese cand:
- se doreste organizarea datelor fara o schema generala
- tipurile valorilor din “campurile” individuale pot fi diferite de la o “inregistrare” la alta
- un “camp” poate avea mai multe valori (vector)
- “inregistrarile” pot avea o structura imbricata (inregistrare in inregistrare in
inregistrare ..)

Ex: MongoDB, CouchDB, Couchbase, Marklogic, RavenDB, Cloudant, Gemfire, OrientDB,


Rethink DB, Datameer
- Wide - column stores (acumulari de campuri de dimensiuni mari) - alese cand:
- fiecare “inregistrare” poate contine un nr foarte mare de “campuri” (milioane, miliarde)
a caror dimensiune si denumire poate fi schimbata in mod dinamic
Ex: Cassandra, Hbase, Accumulo, Hypertable, Sqrrl
- Key-value stores - alese cand:
- structura foarte simpla - diverse valori sunt stocate impreuna cu o cheie de cautare
- nu sunt adecvate pt aplicatii complexe
- porivite pt sisteme embedded
- potrivite pt subsisteme de mare viteza

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

You might also like