Sunteți pe pagina 1din 46

EABD

Extensie procedural 3GL Oracle a limbajului SQL (G4L) Poate fi folosit doar pe o baz de date sau alte poduse din familia Oracle (vs. SQL) Conine structuri de control elementare combinate cu instruciuni SQL Codul PL/SQL conine: Variabile Cursori Logic de programare. PL/SQL furnizeaz construcii procedurale precum: Variabile, constante, tipuri de date Structuri de control (liniare, ramificate i iterative) Uniti de programare reutilizabile. Beneficiile limbajului PL/SQL 1. Integrarea construciilor procedurale cu limbajul SQL 2. Dezvoltarea programrii modularizate (structuri bloc) 3. Sporirea performanei n exploatare 4. Integrarea cu produsele Oracle 5. Portabilitate (SO, platforme) 6. Tratarea excepiilor Compilatorul PL/SQL Se execut automat cnd este nevoie. El verific: Corectitudinea fiecrui cuvnt ce alctuiete programul Dac obiectele bazei de date referite exist Dac utilizatorul are privilegii suficiente pentru a accesa sau a exploata acele obiecte

Introducere n sisteme de baze de date distribuite Context. Tehnologia bazelor de date i cea a reelelor avansate individual, NU i la nivelul integrrii lor Precursor Sistemul cu prelucrare distribuit sistem centralizat de baze de date implic accesarea unei singure baze de date (baza de date central) prin intermediul unei reele de calculatoare Puncte forte: Neajunsuri: rezolvarea problemei accesului concurent vulnerabilitatea i disponibilitatea nodului central numr relativ sczut de utilizatori i accese concomitente viteza sczut i distana acceselor restricia de omogenitate integrarea aplicaiilor i a datelor din cadrul unei organizaii simplitatea proiectrii

Definirea sistemelor distribuite Motivaie Neajunsurile sistemelor centralizate Caracterul distribuirii geografice naturale a organizaiilor !!! Observaie: SD nu reprezint un panaceu al informatizrii organizaiilor Definiii: O baz de date distribuit reprezint o colecie de date integrate logic, ns repartizate fizic pe siturile unei reele de calculatoare. Un ansamblu de baze de date administrate de diferite situri, dar care apar pentru utilizator ca o baz unic. Ele sunt proiectate sub forma unor colecii de date integrate, omogene sau nu, mprtiate cu discernmnt ntr-o reea de calculatoare sub forma unei baze de date globale.

Integrarea logic. Se refer la aspectul c datele nmagazinate nu sunt simple colecii de fiiere. Ele reprezint o structur bine organizat pe care utilizatorul trebuie s-o perceap ca fcnd parte dintr-o singur baz de date global, la fel ca i n cazul bazelor de date locale sau centralizate; Repartizarea fizic. Relev faptul c baza de date nu este stocat ntr-o singur locaie, precum n cazul bazelor de date locale i sistemelor centralizate, ci este mprit ntre mai multe staii de lucru (birouri, cldiri, seciile, atelierele de producie, sucursalele, ageniile, sau punctele de lucru ale organizaiei). Hibridizarea tehnologiilor Apariia reelelor de calculatoare a fost un prim pas n integrarea informaiei existente ntr-o companie; Integrarea tehnologiei bazelor de date cu cea a reelelor a dat natere unei tehnologii mult mai puternice dect era fiecare dintre cele dou domenii anterior momentului hibridizrii; Dei exploziv, dezvoltarea s-a fcut n trepte de evoluie. Sisteme de Gestiune a Bazelor de Date Distribuite Definiie: Un sistem de gestiune a bazelor de date distribuite reprezint sistemul software care permite gestiunea bazelor de date distribuite, fcnd distribuirea fizic transparent pentru utilizatori. SGBDD au ca obiectiv crearea unei puni ntre insulele de informaii. Ideea unui astfel de sistem este de a face accesibile toate datele necesare funcionrii unei organizaii, oriunde s-ar afla ele, i de a le rspndi fizic, dac este cazul, n acele locaii unde vor fi utilizate cel mai des Rolul unui SGBDD este de a face ca o aplicaie s poat efectua transparent diverse operaii asupra datelor mprtiate n mai multe baze de date, gestionate de diverse SGBD-uri, care ruleaz pe calculatoare cu tehnologii de fabricaie diferit i care sunt nzestrate cu sisteme de operare diferite, toate fiind conectate prin reele de calculatoare de topologii posibil diferite. SGBDD-ul este o extensie software i funcional a sistemelor SGBD locale. Termeni vehiculai: FRAGMENTARE, ALOCARE, REPLICARE Fragmentarea (partiionarea) Definiie: Fragmentarea reprezint procedeul de spargere al relaiilor utilizate ntr-un sistem distribuit prin operaiuni relaionale de proiecie i selecie controlate, n vederea plasrii aa-numitelor fragmente rezultate n locul n care sunt cel mai frecvent solicitate datele pe care le conin. Scop divizarea tabelelor de date n unul sau mai multe fragmente disjuncte, n scopul stocrii fizice optime. Avantaje

Uzana. n aplicaiile proiectate pentru baze de date n general, multiutilizator se practic frecvent utilizarea tabelelor virtuale n detrimentul relaiilor ntregi. De cele mai multe ori un operator poate s se concentreze strict asupra problemelor cu care interacioneaz i nu asupra unor aspecte colaterale. Unitatea atomic de proiectare i utilizare n cadrul unor astfel de sisteme, nu va fi deci relaia (de cele mai multe ori), ci o subdiviziune a acesteia; Eficiena. Distribuirea unor relaii ntregi pe diferite staii de lucru ar anula aspectul semantic al siturilor n funcionalitatea sistemului distribuit. Cu ce ar ajuta dac n situl X localizat n ClujNapoca am avea stocat relaia ce conine materiile de studiu, iar pe nodul Y aflat n Sighetu Marmaiei am avea relaia care conine datele de identificare ale tuturor studenilor? Principiu de bun sim: plasarea datelor n acel loc de unde vor fi solicitate cel mai des; Paralelismul. Mai multe fragmente ale unei baze de date permit sporirea accesului concurent. Rezolvarea cererilor ar fi ncetinit de secvenialitatea procesrii, sau ntrzieri datorate metodelor de gestionare a accesului concurent, dimensiunea mai mare a relaiei, i nu n ultimul rnd, distana; Securitatea. n ceea ce privete securitatea, un atac din partea unor persoane ru-voitoare n-ar afecta funcionarea ntregului sistem (i n general chiar deloc, datorit replicrii datelor) n cazul unui atac asupra unui sit, care conine doar cteva fragmente ale bazei de date i nicidecum ntreaga baz sau relaii ntregi. Dezavantaje Complexitatea proiectrii. Un sistem distribuit este mai greu de proiectat dect unul nedistribuit. Existena fragmentelor implic o serie de factori suplimentari, cum ar fi de exemplu stabilirea locaiei unui fragment, optimizarea interogrilor etc.; Performana. Chiar dac n general, datorit unei alocri eficiente a fragmentelor, performanele unui sistem distribuit sunt mai mari dect ale unui sistem nedistribuit, lucrurile se pot complica n cazul unor interogri mai complexe care solicit informaii prea disparate (de pe mai multe situri); Controlul integritii. Pstrarea integritii bazei de date este dezideratul primordial al oricrui sistem tranzacional. Fa de abordarea n cazul unui sistem centralizat, existena mai multor fragmente rspndite pe siturile sistemului, complic lucrurile. Caracteristicile fragmentrii

Completitudinea. Fragmentele rezultate, s asigure acoperirea ntregii relaii iniiale. Deci, fragmentarea are ca obiectiv eliminarea apariiei pierderilor informaionale i nu cea a redundanelor.

Refacerea relaiei iniiale. n orice moment s poat fi reprodus relaia iniial din care fragmentele provin. Operatorii de recompunere trebuie s fie strict relaionali. Caracterul disjunct. Completare la prima condiie. Fragmentele trebuie s fie disjuncte, adic s nu se suprapun, att ca tuple ct i ca atribute. Excepie: Pentru a nu pierde legtura ntre datele unui tuplu i pentru a putea face recompunerea cu uurin, cheile primare trebuie replicate pentru fiecare fragment creat de-a lungul atributelor Tipuri de fragmentare n funcie de operatorii relaionali utilizai, avem: Fragmentare orizontal Fragmentare vertical i Fragmentare mixt. Pe lng tipurile clasice: Fragmentri derivate Relaii nefragmentate

Fragmentarea orizontal Pe inregistrari. Fi numele fragmentului operatorul de selecie sau restricie p un predicat bazat pe unul sau mai multe atribute ale relaiei

Predicatele minterm n proiectarea fragmentelor se ine cont de: Aspectul logic predicatul pe baza cruia se face fragmentarea (calificare) Aspectul statistic afinitatea (numr i frecven) unor aplicaii sau cereri pentru fragmentul n cauz.

Predicatele pe baza crora se abordeaz problematica fragmentrii orizontale sunt predicatele minterm. Ele sunt conjuncii de predicate simple sau negaii ale acestora.

Predicatele simple sunt de forma pi: Aj <valoare>, i=1, 2, ... ,n A1, ...,Am reprezint atributele relaiei ia una din valorile {=, <, >, <=, >=}. Fie urmtorul set de predicate simple: p1: CodSectie = 1 p2: CodSectie = 2 p3: CodSectie > 2 p4: Media < 8 p5: Media >= 8 n predicate simple numrul predicatelor minterm = 2n (numrul maxim teoretic de fragmente orizontale care pot fi constituite). Reducere prin suprapunere sau devin contradicii interne. Regula de completitudine i minimalitate: Relaia se fragmenteaz n cel puin 2 fragmente accesate de cel puin o aplicaie Informaii cantitative selectivitatea predicatului minterm: cardinalitatea seleciei; frecvena accesului: frecvena accesrii datelor de ctre aplicaii. Fragmentare vertical Descompunerea de-a lungul atributelor unei relaii prin operaii de proiecie asupra atributelor, prin includerea n cazul fiecrui fragment a unei chei alternative a relaiei (descompunere fr pierderi, verificare condiii impuse fragmentare) Fi: a1, a2, ... ,an(R) Completitudinea: Se observ c relaia iniial, format fiind din atributele CodLoc, Loc i Jud i regsete toate atributele n cele dou fragmente n care a fost descompus. Astfel, CodLoc e n ambele, Loc n L_LOC, iar Jud n J_LOC. b) Capacitatea de refacere a relaiei iniiale: datorit propagrii cheii primare n ambele fragmente, recompunerea relaiei iniiale se poate realiza oricnd printr-o simpl operaiune de JOIN. c) Caracterul disjunct: Cu excepia atributului cheie primar fiecare din celelalte dou atribute se afl cte unul n cte un fragment. Astfel, nu putem s vorbim de o suprapunere de atribute. Proiectarea fragmentrii verticale

Gruparea atributelor. [Niamir 1978], [Sacca & Wiederhold 1985]. Presupune iniial stabilirea cte unui fragment pentru fiecare atribut. Apoi, pn la satisfacerea unor criterii stabilite se agreg noi atribute. Aceast tehnic ncalc proprietatea de disjunctivitate a fragmentelor. Se recomand ca atributele replicate s nu fie deloc, sau eventual doar foarte rar actualizate; Partiionarea atributelor. [Hoffer & Severance 1975], [Navathe et al. 1984] Se pornete de la schema iniial a relaiei i pe baza unor criterii statistice (numr de accese din partea aplicaiilor) se constituie n fragmente separate. Fragmentare mixt (hibrid ) Reprezint o combinaie a fragmentrilor orizontale i verticale, indiferent de ordinea de aplicare a celor doi operatori din algebra relaional n funcie de ordinea n care sunt aplicai, avem: fragmente orizontale partiionate vertical Fi: a1, a2, ... ,an(p(R)) fragmente verticale partiionate orizontal Fj: p(a1, a2, ... ,an(R)) Fragmentarea derivat Nevoi practice menite s optimizeze accesul la date prin reducerea timpului de transmisie Crearea unor fragmente orizontale bazate pe mai multe relaii aflate n situri diferite Ex.: LOCALITATI(CodLoc, Loc, CodJud) pe situl X JUDETE (CodJud, Jud) pe situl Y Fragment: LOC_JUD(CodLoc, Loc, CodJud, Jud), Predicate de selecie: CodJud=CJ, CodJud=MM Relaii nefragmentate n anumite cazuri fragmentarea ar fi mai degrab un disconfort dect un lucru care s aduc ntr-adevr performane sistemului Relaiile care se preteaz la o astfel de abordare sunt acelea care au un numr relativ mic de nregistrri Strategii: replicarea acestora pe fiecare sit n parte meninerea lor n acele noduri unde se utilizeaz cel mai des

n cazul unei cereri la distan care le solicit, strategia optim ar fi cea de mutare a acestei relaii, fie n situl din care s-a solicitat cererea, fie ntr-un alt sit n care exist deja una sau mai multe din relaiile implicate Replicarea Sistemele distribuite se caracterizeaz prin fiabilitate i disponibilitate necesitatea replicrii fragmentelor Nivele de replicare Baze de date centralizate. O singur baz de date stocat pe nodul central, un singur SGBD. Caracterul local al referinei este cel mai sczut; securitatea, fiabilitatea i disponibilitatea sunt sczute i depind n cea mai mare msur de nodul central. Costul comunicaiei este ridicat; Baze de date partiionate, fragmentate sau nereplicate. Toate fragmentele apar o singur dat. Cel mai sczut cost al stocrii. Nu ofer fiabilitate i nici disponibilitate prea ridicate. Caracterul local al referinei este la un nivel acceptabil. Costurile de comunicaie - moderate. Actualizrile i consultrile se fac eficient; Baze de date replicate integral. Orice sit conine cte o copie a ntregii baze de date. Caracterul local al referinei, disponibilitatea, securitatea i fiabilitatea sunt maxime. Probleme - costul ridicat al echipamentelor de stocare, comunicaia aglomerat n cazul actualizrilor. Soluie: utilizarea instantaneelor, adic imagini ale bazei de date care se actualizeaz periodic. Nu ntotdeauna ofer o situaie actualizat, la actualizare se genereaz trafic mare pe reea; Baze de date replicate parial sau selectiv. Anumite fragmente sunt replicate, altele nu. Sunt replicate fie acele fragmente cu utilizare frecvent, fie relaii ntregi de dimensiuni mici care nu merit s fie fragmentate, ci mai degrab memorate pe fiecare sit, + acele relaii sau fragmente cu actualizri sporadice. Costurile de comunicaie i de stocare sunt relativ reduse. Caracterul local al referinei, securitatea, fiabilitatea i disponibilitatea sunt apropiate de maxim. Proiectarea alocrii Fragmente F = {F1, F2, ..., Fi, ..., Fn} Situri S = {S1, S2, ..., Sj, ..., Sm} Aplicaii/interogri Q = {q1, q2, ..., qk, ..., qq} Problema proiectrii alocrii: distribuirea optim a fragmentelor F pe siturile S Cost. Funcia cost trebuie s reflecte costul plasrii fragmentului Fi pe situl Sj, costul interogrii sitului Sj de ctre Fi, costul actualizrii tuturor fragmentelor Fi plasate n toate siturile i costul comunicaiei minimizare

Performan. Strategia de proiectare trebuie s in cont de meninerea unui anumit nivel de performan minimizarea timpului de rspuns i maximizarea capacitilor sistemului ca msur a contribuiei fiecrui sit.

Tipuri de alocare Neredundant mai ieftin n ceea ce privete efortul de proiectare i cea mai uor de realizat confer posibilitatea de actualizare a fragmentelor Redundant se bazeaz pe metoda celei mai bune alegeri: unei staii pe care deja a fost plasat un fragment, nu poate s-i mai fie alocat un fragment nrudit mai complex Metoda selectrii. Identificarea acelor situri pentru care beneficiul alocrii unei copii depete costul alocrii (mai riguroas i elimin posibilitatea nmagazinrii pe acelai sit i copia fragmentului deja stocat) Metoda alocrii progresive. Se implementeaz mai nti o alocare neredundant. Apoi, n funcie de gradul de profitabilitate al staiilor se vor rspndi replici ale fragmentelor deja alocate, pn cnd nu mai exist candidai (metod euristic ce se bazeaz pe aseriunea c profitabilitatea scade pe msur ce gradul de redundan crete)

Metode de alocare ale fragmentelor orizontale Metoda alocrii neredundante. Se aloc fragmentul Fi la staia unde numrul de referiri la Fi este maxim. Calcularea numrului de referiri locale ale fragmentului Fi la situl Sj este urmtoarea: Metoda staiilor profitabile. Fragmentul Fi va fi plasat n acele situri j, unde costul referinelor de regsire este mai mare dect costul referinelor de actualizare n alte situri. Astfel, beneficiul Bij va fi cuantificat ca o diferen Metoda replicrii progresive. n aceast situaie, beneficiul stocrii unei noi replici se msoar n funcie de sigurana i disponibilitatea sistemului. di gradul de redundan a lui Fi Pi beneficiul de a avea cte o copie a lui Fi n fiecare sit Beneficiul: (di) = (1 21-di) Pi Metoda partiionrii atributelor. Msurarea beneficiului fragmentrii verticale a unui fragment Fi alocat la staia j, n dou fragmente Fs i Ft plasate n siturile s i t. Avem deci qs i qt, cereri locale. Mai exist

nc trei seturi de aplicaii: Q1, Q2 i Q3, unde setul Q1 este local staiei r, care utilizeaz numai atribute ale fragmentelor Fs i Ft. Cererile Q1 necesit un acces la distan. Setul Q2 este rezident n situl r i acceseaz atribute din ambele fragmente (s i t). Aici vom avea dou accese la distan. Q3 aparine altor situri dect r, s, sau t, dar utilizeaz fragmentele Fs i Ft. Metoda de grupare a atributelor. Fragmente nedisjuncte set comun de atribute I Q1 cuprinde setul de aplicaii locale sitului s, care citesc sau actualizeaz orice atribut al fragmentului Fs, dar care nu se suprapun cu I. Q2 include acele cereri de actualizare aflate pe staia r, care realizeaz actualizarea atributelor setului I i necesit acces att la Fs, ct i la Ft. Q3 include aplicaii aflate pe alte staii dect cele amintite, care actualizeaz atributele setului I i care necesit acces att la Fs, ct i la Ft. O arhitectur de referin a unui sistem distribuit Istoric 1971 DataBase Task Group (DBTG) standardizarea sistemelor de baze de date pe dou nivele schem i subschem 1975 Institutului Naional American pentru Standarde (ANSI) i Comitetul de Planificare i Cerine privind Standardele (SPARC) a abordat o arhitectur pe trei nivele: extern, conceptual i intern, care i-a propus separarea viziunii utilizatorului de modul fizic de reprezentare a datelor arhitectura ANSI-SPARC pentru sisteme centralizate Ulterior propunere de standardizare pentru SD, arhitectur pe apte nivele: schemele externe globale, schem conceptual global, schema de fragmentare, schema de alocare, schema de transformare, schema conceptual local, schema intern local

O Arhitectur pentru SD Schemele externe globale viziunea fiecrui utilizator asupra sistemului; Schem conceptual global o imagine complet a ntregii baze de date, fr a ls mcar pentru vreun moment impresia c aceasta ar putea fi una distribuit; Schema de fragmentare ideea proiectantului de partiionare a ntregii baze de date; Schema de alocare modul de amplasare fizic a fragmentelor i replicilor acestora n vederea deservirii optime a interogrilor i tranzaciilor sistemului distribuit;

Pentru fiecare sit avem o arhitectur ANSI-SPARC pe trei nivele:

Schema de transformare o armonizare de interese ntre fragmentele amplasate conform schemei de alocare i vederile utilizatorilor bazei de date locale; Schema conceptual local descrierea logic a bazei de date amplasate pe un anumit sit; Schema intern local modalitatea de stocare a datelor locale (reprezentarea fizic a bazei de date locale).

0.

Principiul fundamental al bazelor de date distribuite

Regula de aur Pentru utilizator, sistemul distribuit trebuie s arate i s se comporte la fel cu unul nedistribuit. Dac utilizatorul dorete s acceseze sau s prelucreze date care sunt stocate n situl X, Y sau Z, acesta s nu perceap faptul c de oriunde i-ar lansa cererile s spunem situl A, B sau C sistemul se comport n acelai mod ca i cum datele ar fi locale (de pe A, B sau C), deci s nu trdeze faptul c ele au fost chemate din situl X, Y sau Z. 1. Autonomia local Un sistem distribuit trebuie s-i confere fiecrui sit implicat o autonomie local. Fiecare sit trebuie s-i gestioneze singur propriile date Pentru a funciona nu trebuie s depind n totalitate de datele din alte situri Interdependenele de funcionare fenomenul se propaga ntregul SD devine inoperabil

ntre situri exist o anumit ierarhie intercondiionare n realitate nu poate fi ndeplinit 100% 2. Absena unei dependene de un sit central ntre situri exist o anumit ierarhie, dar nu trebuie absolutizat ntr-un SD nu are voie s existe un sit care s fie n totalitate rspunztor de o anumit funcie sau subactivitate a SD (controlul centralizat al tranzaciilor, gestiunea centralizat a interogrii, comandarea accesului concurent pentru ntreg sistemul, rezolvarea problemelor de concuren etc) Probleme: suprancrcarea nodului, terorism informatic 3. Operarea continu Fiabilitatea capacitatea unui sistem de a funciona fr ntrerupere cu respectarea unor parametri de calitate. SD, spre deosebire de tranzacii, nu funcioneaz pe principiul atomicitii. totul sau nimic el opernd nentrerupt, chiar i n cazul apariiei unor defeciuni a unor componente, cum ar fi un sit sau

mediul de comunicaie. Aceast proprietate poate sta n picioare ca urmare a ndeplinirii dezideratului de autonomie local globalizat la nivelul tuturor nodurilor sistemului Disponibilitatea aspectul funcionrii sistemului pe perioada prestabilit, fr posibilitatea ca, din varii motive, o parte din date s fie inaccesibile. Datorit proprietii de replicare specific bazelor de date distribuite datele vor fi disponibile chiar i la cderea unuia sau mai multor situri. Faptul c un nod s-a defectat nu nseamn c datele care erau stocate pe acesta nu vor mai putea fi accesate. ntr-un SD trebuie s se regseasc i n alte situri datele stocate local 4. Independena de fragmentare Constituie nivelul suprem al transparenei la distribuire Pentru a evita utilizarea unui nod central n care s fie stocat ntreaga baz de date, baza de date pe care opereaz sistemul distribuit trebuie s aib capacitatea de a fi mprit n buci mai mici care trebuiesc rspndite prin toate siturile sistemului cresc performana, concurena sistemului Fragmentele trebuie dispersate n aa mod pe staiile de lucru nct s fie exact acolo unde e cel mai mult nevoie de ele Utilizatorul nu va simi niciodat c ceea ce acceseaz el sunt de fapt fragmente stocate n diferite situri i nu baza de date n totalitate aflat pe nodul local 5. Independena de localizare Locul n care au fost stocate sau de unde sunt accesate datele trebuie s fie transparent, att pentru utilizator, ct i pentru aplicaiile care ruleaz Utilizatorul trebuie s se comporte de aceeai manier i s fie servit de ctre sistem n consecin, chiar dac el lanseaz cereri de pe situl A, iar datele solicitate se afl pe situl A, X sau Y Transparen la locaie nivelul mediu al transparenei la distribuire: utilizatorul tie c relaia global este fragmentat i ce anume conine fiecare fragment, ns locul unde fragmentele sunt plasate nu ine de competena sa Nu mai este suficient o cerere adresat schemei globale, utilizatorul trebuind s precizeze i denumirea fragmentelor din care se vor extrage informaiile 5. Independena de localizare Locul n care au fost stocate sau de unde sunt accesate datele trebuie s fie transparent, att pentru utilizator, ct i pentru aplicaiile care ruleaz Utilizatorul trebuie s se comporte de aceeai manier i s fie servit de ctre sistem n consecin, chiar dac el lanseaz cereri de pe situl A, iar datele solicitate se afl pe situl A, X sau Y

Transparen la locaie nivelul mediu al transparenei la distribuire: utilizatorul tie c relaia global este fragmentat i ce anume conine fiecare fragment, ns locul unde fragmentele sunt plasate nu ine de competena sa Nu mai este suficient o cerere adresat schemei globale, utilizatorul trebuind s precizeze i denumirea fragmentelor din care se vor extrage informaiile

6. Independena de replicare Utilizarea replicilor i alocarea lor pe diferite situri trebuie s se fac transparent pentru utilizator Acesta trebuie s fie n continuare convins c lucreaz de fapt pe ntreaga baz care se afl pe situl local i s se comporte de aa manier Acest lucru este posibil dac replicile sunt plasate acolo unde sunt direcionate cererile specifice cel mai frecvent. Utilizatorul transmite cereri ctre fragmente bine delimitate, fr a fi obligat totui s cunoasc localizarea i nici faptul c fragmentele consultate ar mai avea i alte amplasri posibile n reea Transparena la replicare este strns legat de conceptul de transparen de alocare. Exist SD cu transparena la replicare, nu i de alocare Problemele de transparen la distribuire enunate anterior, se refer la problema alocrii i gestionrii numelor obiectelor din cadrul unui sistem distribuit Terminologie Transparen la denumire (Connolly) Administrarea catalogului (Date)

ntr-un mediu distribuit, catalogul sistemului trebuie s conin: informaii referitoare la numele de tabele, vederi i modul lor de definire, constrngeri, permisiuni de acces i utilizare, ct i informaiile necesare pentru asigurarea nivelului de transparen la distribuire dorit n cazul unui SD lucrurile se complic fa de un SC, avnd mai multe cataloage

Gestionarea distribuit a tranzaciilor Timpul de execuie al tranzaciei T: 2(m+n)+2 Subtranzacia TC: 2n+2 Subtranzacia TS: e 2m+2

2(m+n+1) versus 2k+2, k=MAX(m,n) Nu se poate deduce o regul general n ceea ce privete timpii implicai. Factorul timp depinde de complexitatea tranzaciei, numrul de fragmente implicate, tipul de fragmentare, distribuia fragmentelor i a replicilor lor n sistem etc. Independena de hardware Aplicaiile software trebuie s satisfac criteriul transparenei fa de maina de calcul Nici sistemele distribuite nu trebuie s fac rabat de la acest aspect. Putem s avem echipamente Dell, HP, Siemens-Fujitsu, Compaq, IBM etc. n configuraii i de performane diferite Sistemele distribuite nu trebuie s aib afiniti nspre anumite mrci i deci s nu trateze discriminatoriu nodurile conectate. Toate siturile sunt tratate n mod egal Utilizatorul nu trebuie s sesizeze vreo diferen n funcionarea sistemului nici chiar dac lucreaz alternativ pe maini cu tehnologii de fabricaie diferite Independena de sistemul de operare Un sistem distribuit trebuie s poat funciona i pe calculatoare echipate cu sisteme de operare diferite Utilizatorul nu trebuie s resimt amprenta sistemelor de operare diferite, instalate pe maini diferite, sau chiar pe acelai echipament Indiferent c e vorba de sistemul de operare Unix, Windows, OS/2, de versiuni sau dialecte diferite, sistemul distribuit trebuie s poat rula pe oricare dintre acestea, fr ca operatorul s sesizeze diferene n utilizare ntre calculatoare cu sistem de operare diferit. Independena de reea Nodurile sistemului distribuit sunt conectate logic la aceeai reea de comunicaie Chiar dac topologiile, vitezele de transfer, dimensiunile pachetelor, metodele de acces la mediu sau tehnologia subreelelor, peste care acesta se ntinde, sunt diferite, acestea nu trebuie s devin un impediment n buna funcionare a sistemului Siturile unui astfel de ansamblu pot s provin din reele heterogene fr a fi afectate performanele. Independena de sistemul SGBD Acest deziderat este unul dintre cel mai greu de atins Ideal ar fi ca pe toate siturile sistemului distribuit s ruleze acelai SGBD. Nu ntotdeauna acest lucru poate fi pus n practic datorit heterogenitii echipamentelor i a sistemelor de operare, fr a ne putea detaa i de latura financiar

Chiar dac SGBD-urile sunt diferite, ar fi cel puin recomandat ca s nu existe problema incompatibilitii canalelor de comunicare ntre siturile avnd SGBD-uri diferite. Un astfel de canal ar fi recunoaterea de ctre siturile implicate a aceluiai standard SQL Sistemul distribuit ideal ar fi acela care ar putea asigura transparena fa de orice SGBD utilizabil n siturile sale. Wrapper-ul Pentru asigurarea transparenei fa de SGBD, trebuie s ndeplineasc funciile: Implementarea protocoalelor pentru interschimbul de informaii ntre Ingres i Oracle; Asigurarea unei funcionaliti SQL server pentru situl B; Realizarea corespondenei ntre tipurile de date acceptate de cele dou sisteme; Realizarea corespondenelor dialectelor SQL folosite de cele dou situri cu SQL-ul standardizat; Asigurarea suportului de prelucrare a rspunsului furnizat de serverul Oracle n format recunoscut de clientul Ingres; Corespondena cataloagelor; Uniformizarea problemelor de natur semantic: nume de atribute, conversii ntre tipurile de date, uniti de msur, tratarea NULL-urilor; Asigurarea aceluiai protocol pentru controlul concurenei i aplicarea acestuia

Procesarea i optimizarea cererilor Procesarea interogrilor presupune 4 etape importante: Descompunerea interogrilor (C) Localizarea datelor (C) Optimizarea cererilor globale (C) Optimizarea cererilor locale (L) La optimizare: o extensie a algebrei relaionale intitulat algebra relaiilor calificate Descompunerea interogrilor Transformarea cererii ntr-o cerere bazat pe algebra relaional aplicat asupra relaiilor globale

Pn a se ajunge la forma definitiv a cererii se va face att verificarea sintactic, ct i cea semantic Tehnicile utilizate n aceast etap sunt identice ca i n cazul sistemelor centralizate Etape: Analiza preliminar Normalizarea Analiza semantic Simplificarea Restructurarea interogrilor Analiza preliminar Corectitudinea lexical i sintactic a interogrii (numele i ordinea clauzelor, scrierea corect a numelor atributelor, testarea ambiguitii, utilizarea corect a operatorilor relaionali i logici n funcie de specificaiile limbajului respectiv etc.) Normalizarea Translatarea cererii ntr-o form normal disjunctiv (predicatele individuale sau grupate conectate prin disjuncii: , OR, sau) conjunctiv (conectarea se face prin operatorul ).

Aducerea la aceste forme normale presupune eventuale transformri ale predicatelor prin folosirea unor reguli de echivalen precum comutativitatea, asociativitatea i , dubla negaie i legile lui de Morgan: ~(p q) ~p ~q), respectiv ~(p q) ~p ~q)

Reprezentare grafic Algebra relaional Reprezentare arborescent: frunzele = relaii, nodurile intermediare = operatori Ordinea de execuie: dinspre frunze spre rdcin (mai nti se aplic operatorii specifici frunzelor) O operaie se poate executa doar dac au fost executate toate operaiile inferioare nodului respectiv

Calcul relaional graful cererii. Nodurile = constante i atribute. Pe arcele care pornesc dintrun nod-atribut - condiii de jonciune; nod-constant - condiii de selecie

Analiza semantic Curarea interogrilor transpuse deja ntr-o form normalizat, de posibile formulri incorecte sau contradictorii Primul nivel al analizei semantice: compatibilitatea tipurilor (AnStud = 1 corect sintactic, NU semantic; AnStud caracter; AnStud = I, AnStud = 8) O interogare este considerat incorect semantic atunci cnd componentele sale nu contribuie n nici un fel la generarea vreunui rezultat O interogare contradictorie rezult cel mai adesea n cazul unor conjuncii de predicate disjuncte, n care intervin valori discrete, continue, sau combinaii mixte Exemplu: Sex=M Sex=F sau Sex=M ~(Sex=M), Matricol = 85142 Matricol < 5 Simplificarea Este etapa de eliminare a redundanelor Se determin i elimin predicatele identice sau cele care se pot reduce la un singur domeniu, adic toate cele ce sunt superfluu o interogare echivalent cu cea iniial, dar ntr-o form mai simplificat. n vederea obinerii unei astfel de expresii se vor folosi proprietile valorilor de adevr i ale conectorilor logici i : Restructurarea interogrilor 1. Transformarea interogrii din calcul relaional n algebr relaional (dac e cazul) 2. Transformarea prin aplicarea unor reguli euristice cererii ntr-o cerere echivalent, dar cu execuie mai eficient Nu se garanteaz ns c rezultatul va fi i cererea optim SQL-ul se bazeaz n general pe calcul relaional n algebra relaional prin interpretarea arborelui construit dup cum urmeaz: a) Pentru fiecare relaie care intervine se va crea cte o frunz (se pot lua din clauza FROM); b) Nodul rdcin reprezint o operaie de proiecie asupra tuturor atributelor care se gsesc n clauza SELECT; Pornindu-se de la frunze, se rezolv problema calificrii relaiilor. Operaiile ce apar n clauza WHERE (selecie, uniune, reuniune) vor fi trecute s zicem n ordinea n care apar n clauza amintit n nodurile intermediare ale arborelui

Regulile lui Ullman Interogarea se transpune n algebra relaional Nu se garanteaz optimul dei e corect i complet Reguli: 1. Comutativitatea operaiilor binare 2. Asociativitatea operaiilor binare 3. Idempotena operaiilor unare 4. Comutarea seleciei cu proiecia 5. Comutarea seleciei cu operaiile binare(C) 6. Comutarea proieciei cu operaiile binare

Localizarea datelor Deoarece cererile implic fragmente (o interogare nu le specific n mod explicit datorit transparenei de localizare) sistemul trebuie s transforme cererea ntr-o cerere n care avem fragmente, NU relaii Cereri fragment interogarea echivalent cu cea global = expresie canonic a cererii globale De cele mai multe ori ns execuia acestei cereri nu este cea mai eficient, aa c va fi nevoie de optimizri Cererile pot fi optimizate i prin replicri, deoarece vor fi accesate replicile cele mai apropiate sau n paralel replici ale aceluiai fragment complexitatea interogrilor distribuite; nu inem cont de aspectele care deriv din existena replicrii fragmentelor Construirea expresiei canonice este operaiunea invers care susine fragmentarea Reguli de reducere a timpului de execuie i a complexitii reprezentrii Regula 1: Folosirea operaiilor unare la generarea de selecii i proiecii pentru fiecare operand relaional al expresiei Regula 2: Grbirea execuiei operaiilor unare

Regula 3: Substituirea rezultatelor seleciilor individuale cu relaia vid, atunci cnd calificarea rezultatului este contradictorie. Atunci cnd intervin contradicii ntre predicatele de fragmentare i cele ale cererii, rezultatul intermediar va fi nlocuit cu relaia vid . Pentru continuarea rezolvrii problemei trebuie s fie cunoscut rezultatul aplicrii operaiilor relaionale ntre o relaie oarecare i relaia vid Regula 4: Utilizarea algebrei calificate pentru evaluarea rezultatelor jonciunilor Regula 5: Pentru obinerea unei jonciuni distribuite, operaiile de uniune vor avea loc dup operaiile de joncine ce urmeaz a fi distribuite Regula 6: Pentru asigurarea gruprii distribuite i evaluarea funciilor de agregare, operaiile de reuniune trebuie efectuate dup cele de grupare Optimizarea interogrilor Optimizare = alegerea celei mai bune strategii de execuie din variantele disponibile Metoda clasic: Se evalueaz costurile mai mult sau mai puin apropiat de realitate fiecrei variante, iar apoi se va alegea cea cu cost minim Metode euristice: metode specifice expertului uman, care reduc mult aria de cutare (mulimea strategiilor), lsnd la ndemn doar cteva strategii dovedite a fi eficiente Metod unanim acceptat reducerea cardinalitii rezultatelor intermediare (evaluarea mai nti a operatorilor unari, apoi prin ordonarea operaiilor binare n funcie de dimensiunea furnizat de acetia) n sistemele distribuite este nc la mod nlocuirea operaiunilor de uniune cu cele de semiuniune Optimizarea poate fi static sau dinamic Strategia de optimizare static este stabilit nc din timpul compilrii Acest tip de optimizare poate fi destul de lent, iar amortizarea costurilor generate de aceasta se poate realiza prin memorarea acesteia n memoria cache pentru tot restul sesiunii Metoda se bazeaz pe statisticile memorate n bazele de date locale referitoare la cardinalitatea unor posibile rezultate intermediare numrul de nregistrri din fiecare relaie, numrul de duplicate ale fiecrui atribut (cardinalitatea de selecie, bazat pe o distribuie uniform a valorilor), numrul de valori diferite, valorile minime i maxime pentru fiecare atribut, cardinaliti pentru operaiile de baz n mod normal - actualizare dup fiecare operaie de modificare a coninutului bazei de date i ajustare dup fiecare interogare efectuat Aceste operaiuni - mari consumatoare de timp i de band de transmisie, se indic lansarea procedurilor de actualizare atunci cnd activitatea este sczut, n general n timpul nopii

Gestiunea accesului concurent n medii distribuite Gestiunea tranzaciilor: Problema accesului concurent Refacerea sistemului n caz de defeciuni

La SC subsistemul tranzacional al unui SGBD este format din: Administratorul de tranzacii dirijeaz execuia tranzaciilor Planificator decide ce strategie de control a concurenei se impune Administratorul de refacere intervine atunci cnd execuia a fost ntrerupt sau perturbat de anumite incidente Administratorul de buffere gestioneaz memoria tampon aferent execuiei tranzaciilor i asigur transferul bidirecional ntre memoria de lucru i dispozitivul fizic de stocare Subsistemul tranzacional la SD Conine: Componentele SC pentru fiecare sit +: Administratorul de tranzacii global (coordonator de tranzacii) responsabil cu execuia tranzaciilor globale sau locale iniiate de situl respectiv Componenta de comunicaii de date comunicarea dintre situri, dar nu este specific procesului tranzacional Deziderate ale execuiei tranzaciilor n SD: mecanismul de control al concurenei s fie flexibil la cderile pariale ale sistemului s permit un grad nalt de paralelism al tranzaciilor n condiiile meninerii integritii bazei de date s genereze un trafic rezonabil al reelei s nu suprasolicite resursele sistemului Controlul concurenei Evitarea posibilelor anomalii ce caracterizeaz execuia simultan a unor tranzacii ce reclam aceleai resurse: actualizarea pierdut, dependena nefinalizat i analiza inconsistent + incoerenei copiilor multiple (BD cu fragmente replicate, actualizarea dicionarelor sau cataloagelor)

Rezolvare: acces concurent acces secvenial (teoretic) = reperul n controlul corectitudinii execuiilor paralele planificare serializabil Identificarea tuturor sau doar uneia din aceste planificri n momentul execuiei NU constituie o soluie pragmatic rezonabil Se recomand utilizarea unor metode dovedite c garanteaz planificri serializabile n funcie de gradul de concuren al tranzaciilor dintr-un sistem, de probabilitatea de apariie a interferenelor i de complexitatea i costul implementrii anumitor strategii se pot aplica metode pesimiste, optimiste i mixte Actualizarea copiei primare Respectarea proprietilor ACID n SD coexist simultan n tranzacii care i pot disputa aceleai date gestiunea tranzaciilor devine mai complex: tranzacii globale, subtranzacii care nu au voie s interfere + posibile replici o tranzacie global este responsabil de coerena subtranzaciilor i de propagarea modificrilor fcute de acestea n toate replicile fragmentelor atomicitatea tranzaciilor: actualizrile tuturor copiilor sau niciuna s se fac concomitent i nainte de instruciunea COMMIT a interogrii globale (ideal) Practic: greu de realizat indisponibilitatea unor replici Abordarea actualizrii copiei primare (una din replicile unui obiect, care va propaga actualizrile asupra copiilor neprimare) alocare dinamic: n orice moment s avem toate copiile primare disponibile o tranzacie este considerat definitivat n momentul actualizrii copiei primare dac face toate actualizrile instantaneu (nainte de COMMIT-ul global) = reproducere sincron Eec premisa incoerenei bazei de date (ncalc atomicitatea) implementarea unor variante de reproducere asincron Problema actualizrilor ntrziate poate fi tratat prin utilizarea instantaneelor Controlul accesului n sistemele distribuite Blocare Protocolul 2PL centralizat

Protocolul 2PL de copie primar Protocolul 2PL distribuit Protocolul de zvorre al majoritii

Controlul accesului prin utilizarea mrcilor de timp Protocolul 2PL centralizat Toate informaiile necesare blocrii i deblocrii sunt meninute n cadrul unui singur sit (1 administrator al blocrilor) Coordonatorul de tranzacii din situl care a lansat tranzacia global (n funcie de catalog) mparte tranzacia n subtranzacii Dac tranzacia implic actualizri ale unui fragment replicat propagarea actualizrii n toate copiile blocaje la scriere pentru toate copiile implicate Copia-reper e oricare dintre copii, dar preferabil cea din nodul curent Administratorii locali sau coordonatorul de tranzacii solicit instaurarea i eliberarea de blocaje de la administratorul central Administratorul global verific dac blocajele sunt compatibile cu cele solicitate de fiecare sit Dac exist, sau resursa nc nu a fost blocat atunci se poate acorda blocajul cerut, solicitantul fiind informat de aprobarea primit n caz contrar, cererea este plasat n coada de ateptare Avantaje: gestionarea impasurilor (SC), simplitate i costurile reduse de comunicaie: 2n+3 mesaje (1 cerere de blocare, 1 mesaj de acordare al blocajului, n mesaje de actualizare, n confirmri i o cerere de deblocare) Dezavantaje: posibiliti multiple de trangulare ale nodului care deine controlul tranzaciilor; contravine autonomiei solicitate de sistemele distribuite Protocolul 2PL de copie primar Se dorete a fi o mbuntire a protocolului 2PL centralizat Administratorii de blocare sunt rspndii ntre mai multe situri DOAR una dintre toate copiile aferente unui fragment este considerat copie primar situl care gestioneaz blocrile pentru situl ce deine copia primar NU TREBUIE S FIE ACELAI cu deintorul acestei copii

Cnd se actualizeaz date din cadrul unui fragment replicat, trebuie identificat att situl care deine copia primar, ct i cel care se ocup de gestiunea tranzaciilor pentru situl respectiv E necesar blocarea la scriere a articolelor de date din copia primar, dup actualizare modificrile fiind propagate n copiile sclav Posibile NCLCRI ALE PROPRIETII DE ATOMICITATE Tranzacia principal este responsabil doar de actualizarea copiei primare INCONSISTEN TEMPORAR Se recomand doar n SD n care datele replicate necesit rareori actualizri Avantaje: protocol mai eficient; mai puine blocri la distan Dezavantaje: probleme la detectarea i evitarea impasului; siturile care controleaz subtranzaciile pentru un sit ce deine o copie primar, sunt afectate situri secundare complexitate Protocolul 2PL distribuit Administratorii de blocare sunt prezeni n fiecare sit, fiecare fiind responsabil de blocarea resurselor din situl respectiv (System R*) SD nereplicate = blocarea copiei primare n mediu replicat metoda ROWA (Read-One-Write-All): toate copiile sunt disponibile pentru operaii de citire, dar pentru scrieri, vor fi blocate toate, nainte ca o fraciune a unuia dintre ele s fie actualizat Abordarea blocrii se face n mod descentralizat Dezavantaje Interblocarea mai complex Costul comunicaiei mai ridicat: n-1 mai multe cereri de blocare, de acordare a lor i de deblocare 5n (eventual 4n n cazul n care deblocarea se face conform protocolului 2PL strict, deblocrile sunt lsate pe seama COMMIT-ului final)

Protocolul de zvorre al majoritii Permite o optimizare a protocolului distribuit pentru c nu implic blocrile i actualizrile tuturor copiilor nainte de finalizarea tranzaciei globale, ci doar a mai bine de o jumtate din acele copii

Cererile de blocare nu vor fi transmise tuturor celor n situri care dein copia articolului de date, ci la cel puin (n+1)/2 Tranzacia nu se poate derula dect atunci cnd s-a atins majoritatea ntr-o perioad de timp prestabilit Dac nu, atunci vor fi anulate toate cererile O singur tranzacie poate deine blocaje la scriere simultane asupra mai multor copii, pe cnd atunci cnd e vorba de blocaje de citire numrul tranzaciilor este nelimitat Dezavantaje: controlul impasurilor; costurile de comunicaie nc crescute doar (n+1)/2 mesaje de cerere de blocaje i eliberare Traficul e exagerat tocmai datorit extinderii cotei de (n+1)/2 i n cazul blocajelor la citire (ar fi fost de ajuns pentru o singur copie) Controlul accesului prin utilizarea mrcilor de timp Asemntor cu cele din cadrul SC Cnd mai multe tranzacii reclam aceleai resurse, prioritatea va fi de partea tranzaciei mai n vrst, adic cea cu marca de timp mai mic Criteriu interpretabil, uneori performanele absolute sau relative msurndu-se n numrul de tranzacii ce ar trebui rulate napoi, costul anulrii anumitor tranzacii etc. Alt problem: generarea numerelor de secven (NU CENTRALIZAT) Sisteme de numrtoare paralele n care acelai numr de secven eliberat de situri diferite ar genera ncurcturi n stabilirea ordinii de execuie calificare, sincronizare, transparena la locaie Rolul calificrii sitului n cadrul numrului de secven este doar de a stabili identitatea sitului emitent i nu neaprat de gestionare a ordinii Avantajele i dezavantajele sistemelor distribuite Avantaje Structura organizaional Caracterul partajabil i autonomia local Disponibilitate i fiabilitate crescute Performane mbuntite

Dezvoltare modular

Dezavantaje Complexitatea Lipsa de standarde Securitatea Dificultatea controlului integritii i a concurenei Lipsa de experien Dificultatea de nlocuire sau schimbare

Structura organizaional Evoluia nspre sistemele distribuite s-a fcut n mod natural, firesc cerinelor organizatorice ale ntreprinderilor Spaiul de lucru reprezint prin esen distribuire geografic, fie c este vorba de birouri, departamente, secii, ateliere, sucursale, agenii i puncte de lucru, aflate sau nu n aceeai cldire, localitate, jude, sau ar Bazele de date distribuite nu fac dect s se adapteze acestei stri a lucrurilor i n ceea ce privete circulaia informaiilor ntr-o ntreprindere, avem de-a face cu similitudini: un utilizator efectueaz tranzacii asupra bazei de date locale, pe cnd un director de agenie, filial etc. prin interogri globale poate s consulte datele tuturor utilizatorilor ageniei sau activitatea ntregii ntreprinderi. Caracterul partajabil i autonomia local Chiar dac o organizaie este distribuit geografic, aceasta nu nseamn c prin utilizarea unui sistem distribuit datele vor fi proprietatea sitului local ntre utilizatorii diferitor situri exist posibilitatea de partajare a anumitor informaii, cum ar fi rapoartele. Un utilizator poate accesa i folosi att datele din baza de date local ct i din celelalte situri. n general informaia solicitat cel mai des trebuie s poat s fie gsit n vecintatea imediat Chiar dac datele sunt partajabile, acest lucru nu va afecta autonomiile individuale. Fiecare sit este autonom i poate funciona i n cazul n care resursele din alte situri nu sunt disponibile Problematica autonomiei locale este cu att mai important cu ct structura organizaional este mai descentralizat

n cazul n care avem structuri centralizate, implementarea unui sistem distribuit va fi oarecum artificial, deoarece aceste sisteme urmresc ablonul comportamental al organizaiilor descentralizate Disponibilitate i fiabilitate crescute Sistemele centralizate sunt foarte ubrede la capitolul fiabilitate n cazul n care nodul central cade, ntreg sistemul va deveni inoperabil Pentru contracararea acestui neajuns, sistemele distribuite datorit fragmentrii i replicrii datelor sunt capabile s-i continue funcionarea chiar i n cazul avariei unor situri sau a liniei de comunicaie Doar situl n cauz va fi afectat i nu vor exista pierderi informaionale Performane mbuntite n SC toate datele sunt la distan fa de orice utilizator local (cu excepia sitului central) Acest lucru creeaz probleme de performan n accesarea, consultarea i prelucrarea datelor n SD datele sunt plasate n locul n care sunt solicitate cel mai des. Acest loc, n caz c nu este chiar situl local, trebuie s fie relativ apropiat Cnd vorbim despre distan nu ne referim neaprat la proximitate fizic. Un rol important l poate juca lungimea mediului de transmisie (dac exist), viteza i dimensiunea canalului de comunicaie etc. Dezvoltare modular n cazul sistemelor de baze de date centralizate adugarea unuia sau mai multor membri putea s creeze probleme serioase datorit SGBD-ului, capacitatea i performana dispozitivului de stocare, performana tehnic a nodului central i performana reelei de calculatoare La sistemele distribuite expansiunea se poate trata modular, fr a fi afectat activitatea celorlalte situri Modelarea bazelor de date obiectuale A luat natere la sfritul anilor 60, nceputul anilor 70 Argumente n favoarea modelului obiectual descrierea mai natural a unor structuri din lumea nconjurtoare; definirea unor tipuri abstracte de date, cum ar fi: imaginea, sunetul, vocea, video etc.; necesitatea utilizrii unor tipuri de date compuse: mulimi, vectori, secvene etc.; definirea i utilizarea facil a unor tipuri-utilizator; motenirea unor componente;

reutilizarea codului; simulare, modelare; mbuntirea interfeei cu utilizatorul; surprinderea aspectelor dinamice; asigurarea suportului pentru noi tehnologii: CAD, CAM, CAE, CASE, sisteme informaionale de birou (OIS), cartografie, sisteme multimedia, editare digital, medicin, chimie, analiz spectral, sisteme informaionale spaiale (GIS), ingineria cunoaterii, controlul proceselor n timp real etc. Produse OO Primele limbaje Simula67, SmallTalk, apoi C++, Ada, Pascal au preluat i ele modelul OO Rigidele BDR nu sunt capabile s ofere o imagine mai umanizat a realitii prin capaciti superioare de modelare semantic primele SGBD-uri obiectuale: Ontos, O2, GemStone, Versant, Jasmine n ultimii 20 de ani modelul obiectual a cunoscut un adevrat boom, chiar i pe piaa bazelor de date CAD-Computer-Aided Design(proiectarea asistat de calculator) O BDO poate surprinde un numr foarte mare de caracteristici, ns cu probabilitate de repetare n general mic Proiecte la a cror dezvoltare particip pot avea dimensiuni impresionante i nenumrate subansamble de sine stttoare Orice actualizare a unei componente va produce o serie de actualizri n lan n toate subsistemele cu care interacioneaz, fr intervenii exprese ale utilizatorului BDO permit un eficient control al versiunilor, astfel nct proiectantul poate s revin oricnd la variantele anterioare Creeaz premisele proiectrii n echipe de specialiti i integrarea proiectului final de o manier coerent.

Instrumentele CASE - Computer-Aided Software Engineering (ingineria programrii asistat de calculator) Ghideaz proiectantul n tot ciclul activitii de via al produselor, permind extinderi, cooperri ntre proiecte i proiectani, generri de scheme, secvene de cod, documentaii, faciliti de administrare i configurare etc.

Sistemele OIS - Office Information System (sisteme informaionale de birou)

Integreaz tot ceea ce ine de activitatea de birou: rapoarte, analize, tabele, schie, coresponden, documente financiare sau comerciale, agende, imagini, sunete, secvene video etc. ntr-un format neconvenional Sunt compatibile cu formatul HTML sau XML i permit regsiri facile.

Editarea digital S-au conturat deja subdomeniile e-Library i e-Learning Informaia digital concureaz de bun vreme cu publicaiile fizice de orice natur: literatur, jurnalistic, cri pentru copii, benzi desenate etc. Formatul este atractiv i permite nglobarea tuturor formatelor multimedia cunoscute Toate acestea necesit capaciti de stocare i procesare uriae.

Limitele BDR

Reprezentarea precar a entitilor din lumea real Uneori normalizarea bazelor de date relaionale poate conduce la nite relaii artificiale (forme normale superioare) Dezavantajul major operaii de uniune entiti conforme realitii

Limitarea semantic Modelul relaional poate exprima ntr-un singur mod legtura dintre entiti, i anume prin utilizarea relaiilor legturi 1:N sau N:1 relaii N:M relaie intermediar artificial limitare semantic = nu exist o alt modalitate de a exprima legturile dintre entiti dect tot prin intermediul unor relaii dispunem totui de: domenii de declarare, chei relaionale, dependene funcionale, multivoce i de tip proiecie.

Control insuficient al integritii i mecanisme deficitare de gestionare a cons trngerilor de ntreprindere Regulile de integritate sunt aspecte definitorii ale unei baze de date Neimplementarea acestora de ctre SGBD-uri sau permiterea unei negocieri cu utilizatorul dac s se aplice sau nu = premise nocive pentru coerena unei baze de date Suport redus pentru constrngerile de ntreprindere

Structur de date prea omogen La nivelul unei baze de date coninutul i semantica se exprim uniform (relaii) Intrarelaional reprezentare omogen vertical i orizontal + valori scalare la intersecia unei coloane cu un rnd contravine multor structuri fireti din lumea nconjurtoare Propuneri: ntr-o valoare a unui atribut al unei relaii s avem: o valoare, o mulime de valori, un obiect compus, o nou relaie, sau o combinaie a acestora Totui, structura omogen a relaiilor reprezint de multe ori un atu. O concesie modernismului: obiectele BLOB, Big Data O BDOO se preteaz mai bine gestionrii diferitelor tipuri de media, fcnd posibil efectuarea unor operaii complexe asupra acestor obiecte dinamice. Set redus de operaii Asupra datelor modelului relaional pot fi aplicate un numr restrns i limitat de operaii (cele pe mulimi i pe tupluri) Uneori nu sunt suficiente ca s simuleze realitatea Ex. 1: secven video cu dou maini. Un SR nu este capabil s extrag denumirea mrcilor, viteza, sau distana dintre ele Ex. 2: BDR nu dispun de faciliti de calcul avansate pentru a msura coeficienii de rezisten ai unei structuri modelate. Gestionarea greoaie a interogrilor recursive Limbajul SQL nu se comport prea bine atunci cnd trebuie s extrag informaii despre relaiile, directe sau indirecte, ce le au membrii si n raport cu ceilali membri ai aceleiai relaii De exemplu, ntr-o relaie avem dou atribute care desemneaz: unul componentele unui subansamblu, iar altul numele subansamblului. Deoarece anumite subansamble pot fi la rndul lor pri componente ale altor subansamble, o interogare ar extrage destul de greu (doar dac se specific subansamblul) sau deloc care sunt toate componentele a tuturor subansamblelor surprinse n relaie. Ex.: {(crmid, cas); (lut, crmid); (cas, cartier) ...} S-a propus o extensie a algebrei relaionale cu o operaie unar numit nchidere tranzitiv (SQL 3) Relaii specifice cuburilor de date Grupri, ROLLUP, CUBE,

Pivotri (PIVOT, UNPIVOT din SQL 2008) Nepotrivirea de impedan Pentru a putea folosi n anumite aplicaii rezultatele pe care interogrile SQL le returneaz se utilizeaz un limbaj SQL care ruleaz pe o platform gazd 1. SQL declarativ vs. LG3 procedural nepotrivire de impedan (bloc vs. linie). Date nu propune extinderea modelului relaional cu faciliti obiectuale, ci extinderea limbajelor de programare cu faciliti de manipulare n bloc a datelor relaiilor 2. Pseudoincompatibilitatea dintre tipurile recunoscute de SQL i cele ale limbajului gazd Aplicaiile trebuie s ofere conversia datelor ntr-un format recunoscut de SQL, (pn la 30% din efortul de proiectare + creterea timpului total de execuie) Mecanismele tranzacionale de control al concurenei accesului, sunt proiectate pentru perioade scurte de timp. Deoarece tehnologiile care necesit faciliti orientate obiect reclam perioade lungi de efectuare a actualizrii, modul de abordare al mecanismului tranzacional existent trebuie revizuit. Deficiene n modificarea schemelor Proiectarea schemei BDR trebuie ndelung gndit i conceput de aa manier nct s poat s asigure suport i pentru dezvoltrile ulterioare, n caz contrar structurile trebuie revizuite periodic Operaie costisitoare modificri ale aplicaiilor, perioade de testare etc. Se dorete un sistem care s-i modifice comportamentul odat cu modificrile schemei Acces asociativ bazat pe coninut versus acces navigaional Tendinele de ultim or ale tehnicii l prefer n general pe cel de-al doilea Concepte teoretice privind paradigma obiectual Obiectul Definiie: Obiectul reprezint o entitate unic identificabil lucru, vietate, proces, fenomen din lumea real sau uneori virtual care conine att o descriere a acesteia, ct i comportamentului su. Obiectele: simple sau complexe (APO, ierarhie APO) Starea curent a unui obiect proprieti, atribute, sau variabile de instan (simple, complexe);. Identificatori de obiect (OID): proprietate mai special a obiectului, fiind caracterizat de: unicitate, invariabilitate pe toat perioada de via, independen fa de valorile proprietilor pe care le are

Utilizarea abuziv a pointerilor critici idem BD CODASYL Metoda Spre deosebire de specificul limbajelor 4GL ce presupune independena datelor fa de programe, tratarea obiectual se bazeaz pe ncapsularea proprietilor i comportamentului n cadrul obiectului. Definiie: O metod este un program ce manipuleaz obiectul sau indic starea acestuia. Metodele descriu procedurile (funciile) sau aspectul dinamic al obiectului, n timp ce proprietile desemneaz aspectul static O modificare n structura obiectului genereaz o modificare automat i o recompilare a programelor. Metodele i proprietile nu sunt vizibile din exteriorul obiectului. Aadar, un obiect are o implementare care este privat i o interfa care este public, putnd fi accesat de obiecte externe i utilizatori. Metode speciale: constructorii i destructorii Obiectele dialogheaz prin mesaje ncapsularea Structura unui obiect, precum i implementarea metodelor sale nu pot fi accesate sau modificate de ctre un factor extern obiectului, ns pot fi actualizate indirect prin intermediul mesajelor. Aceast proprietate de ermetizare a strii i coninutului fa de agenii externi poart numele de ncapsulare ncapsularea ascunde utilizatorului complexitatea unui obiect, punndu-i ns la dispoziie o imagine simplificat, dar funcional, astfel nct utilizatorul poate s fie preocupat de esena problemei modelate fr a fi deranjat de detaliile tehnice, neimportante scopului propus Polimorfismul Polimorfismul reprezint capacitatea unor obiecte de a reaciona comportamental diferit la acelai mesaj, fr a fi necesar s se specifice explicit modalitatea de procesare pentru fiecare caz n parte Polimorfismul este una din caracteristicile fundamentale ale programrii obiectuale, el permind individualizarea interfeei obiectelor fa de implementare. Separaia este mai accentuat dect n cazul ncapsulrii, asfel crendu-se premisa dezvoltrii de aplicaii independent de structura obiectelor care se doresc a fi manipulate Forme ale polimorfismului: polimorfism operaional sau ad-hoc, de incluziune i parametric (generic). Persistena

Persistena este proprietatea obiectelor ce presupune meninerea lor, a proprietilor, a declaraiei metodelor chiar i dup ncetarea procesului care le-a creat sau le-a actualizat pn la apariia unui alt factor extern care produce tipurile de modificri menionate sau chiar distrugerea obiectului Spre deosebire de volatilele variabile, vectori sau liste utilizate n programarea clasic, obiectele i alte tipuri de date pot beneficia de proprietatea de meninere a acestora pe o perioad mai lung de timp Aceasta este una din premisele aplicrii tehnologiei bazelor de date i asupra obiectelor

Definiie: Modelul de date orientat spre obiecte (OODM) reprezint un model logic de date ce descrie acea semantic a datelor acceptat n programarea orientat pe obiecte. Definiie: Baza de date orientat spre obiecte (OODB) este o colecie de obiecte persistente i partajabile definite pe baza unui model de date orientat spre obiecte. Aspecte privind proiectarea bazelor de date obiect n general, tehnica de proiectare bazat pe modelarea E-R i utilizat cu succes n proiectarea bazelor de date relaionale, nu difer fundamental de abordarea proiectrii bazelor de date obiectuale Exist anumite etape care pot fi omise deoarece modelarea obiectual este superioar fa de cea relaional Chiar i normalizarea considerat ca fiind un instrument de proiectare strict orientat ctre baze de date relaionale poate fi aplicat regndire: Fiecare atribut dintr-un obiect este dependent de identitatea obiectului (OID) Alte abordri - contradictorii Tehnica de abordare diferit: BDR - top-down (mai nti se identific elementele majore, apoi vor fi restructurate); BDOO - bottom-up (se identific mai nti componentele funcionale, n jurul crora va gravita ntreg ansamblul) Reprezentarea relaiilor structurale dintre obiecte Relaiile se reprezint prin intermediul atributelor de referin, implementate prin utilizarea identificatorilor OID Relaii 1:1 ntre dou obiecte A i B se poate implementa o relaie de tip unu la unu prin adugarea n cadrul obiectului A a unei proprieti ce pointeaz referina obiectului B. Din motive de

pstrarea mutualitii acestei relaii se va introduce i n B un atribut a crei valoare va fi chiar identificatorul obiectului A Altfel, nu vom avea relaii de tip 1:1, ci eventual relaii de tipul unu la zero sau unu. Relaii 1:N Relaiile de tip unu la mai muli dintre A i B se reprezint n cazul obiectelor prin adugarea ca valori-atribut n A reprezentnd o mulime de referine, iar n B a unui atribut care indic nspre pointerul obiectului A ntre cele dou obiecte exist relaie de tip 1:N pentru c n cadrul unei faculti se afl mai multe catedre, iar o catedr nu poate s fie partajat de mai multe faculti Relaii M:N Reprezentarea relaiilor muli la muli dintre obiectele A i B se realizeaz prin utilizarea de mulimi de referine nspre obiecte de tipul celuia cu care intr n relaie O relaie de tip M:N poate fi reprezentat ntre obiectele STUDENT i EXAMEN. Un student va susine n perioada facultii mai multe examene, n timp ce la un anumit examen vor participa mai muli studeni Ex. Studentul Bobu Eugen are printre altele examenul de Marketing i cel de Management. Cellalt student, Pop Marcel are examen de Marketing. La examenul de Marketing particip mai muli studeni printre care i cei doi menionai. La examenul de Management trebuie s se prezinte Bobu Eugen i o serie de ali studeni nemenionai n mod special Integritatea referenial n abordarea obiectual referinele nspre alte obiecte trebuie s fie valide. Dac n tratarea relaiilor amintite nu existau obiectele referite de ctre alte obiecte, relaiile deveneau invalide, deci i integritatea referenial. Integritatea referenial trebuie s fie satisfcut i n momentul crerii legturii i apoi meninut pe durata existenei relaiei sau a obiectelor implicate. Exist mai multe modaliti de ntreinere a acesteia, regulile fiind puse n aplicare de sistemul SGBDOO. Acestea sunt: Utilizatorului NU i este permis operaiunea de tergere a vreunui obiect implicat ntr-o relaie. Sistemul se ocup de acest aspect. Atunci cnd se constat c obiectul nu mai este solicitat, acesta l va terge i va valorifica spaiul de memorie (GemStone) Utilizatorul primete dreptul de a terge, dac este nevoie, acele obiecte care nu mai sunt referite. Sistemul este capabil s detecteze obiectele fr referine valide. Le poate atribui valoarea NULL sau ngduie tergerea lor (Versant) Utilizatorului i este permis s actualizeze referinele sau s tearg obiecte sau relaii dintre obiecte. La interveniile utilizatorului ce pot afecta stabilitatea integritii refereniale sistemul ia

atitudine fcnd actualizri automate pe baza relaiilor inverse dintre atribute (Ontos, Objectivity/DB i ObjectStore) Proiectarea comportamental Abordarea E-R - nu constituie un instrument suficient de complex pentru proiectarea semantic a bazelor de date obiectuale. Modelul E-R nu furnizeaz bagajul logistic necesar pentru modelarea comportamentului obiectelor (entitile nu au proprietatea de ncapsulare). n implementarea unei ierarhii de clas nu se vor separa datele de prelucrare, definindu-se odat att proprietile, ct i metodele. Metodele pot fi clasificate n trei grupe mari: Constructori i destructori. Constructorii creeaz noi obiecte, crora obligatoriu le atribuie un OID. Destructorii sunt acele metode care terg obiectele de care nu mai este nevoie i recupereaz spaiul de memorie pe care acesta l ocupau Metode de acces. Aceste metode returneaz valoarea unei sau mai multor proprieti, sau un set de astfel de valori din cadrul unui obiect. Acestea se mai numesc i metode de tip GET. Ex. aflarea valorii proprietii Media, Stoc, Stare_Comanda etc. Metode de transformare. Sunt acele metode care schimb valorile proprietilor unui obiect. Se mai numesc i metode de tip PUT. Ex. modificarea valorii proprietii Media, An_Studiu, Stoc, Stare_Comanda, Salariu etc. Introducere n sistemele de gestiune a bazelor de date obiectuale Clasificri A. Generaia I: ierarhice i reea Generaia II: relaionale Generaia III: obiectuale B. Generaia I: ierarhice Generaia II: reea Generaia III: relaionale; Obiectuale - nedefinit C. Prerelaionale: ierarhice i reea Relaionale (R)

Postrelaionale (O, OR, XML, NoSQL) Definiie: Un SGBDOO reprezint o aplicaie cu faciliti de memorare persistent, care asigur recunoaterea obiectelor ca identiti separate, nlesnesc motenirile i permit definirea tipurilor abstracte de date. [Zdronik & Maier 1990] set minimal de caracteristici pentru SGBD: Asigurarea funcionalitii bazei de date; Acceptarea identitii obiectelor; Asigurarea ncapsulrii; Permisiunea pentru obiecte cu structuri complexe. [Date 2005] SGBDOO = SGBD? Nu satisfac urmtoarele caracteristici: Partajarea datelor ntre aplicaii; Independena fizic fa de date; Interogri nepremeditate (ad-hoc); Vederi i independen logic de date; Constrngeri de integritate declarative i independente de aplicaie; Proprietatea datelor i un mecanism de securitate flexibil; Controlul concurenei; Existena unui catalog general; Posibilitatea de proiectare a bazei de date independent de aplicaie SGBDOO este mai degrab un kit de construcie al sistemului SGBD Sistemele de gestiune a bazelor de date obiectuale urmresc trei principii definitorii: ntr-un SGBDOO se folosesc funcii ce conin metode ale bazei de date i trebuie s fie ct mai compacte, ncapsulate i ascunse mediului extern; SGBDOO-urile (G3) trebuie s preia avantajele celor din G2. Ex. accesul neprocedural i independena datelor; SGBDOO s ofere interfa pentru alte tipuri de sisteme

Manifestul sistemelor obiectuale de baze de date

(1989) 13 reguli, primele 8 se adreseaz orientrii obiect, n timp ce ultimele 5 se refer la SGBD-uri. 1. Crearea de obiecte complexe. Ex. SET, TUPLE i LIST (ARRAY). Constructori pentru obiectul de baz, ct i pentru complexe; 2. Suport identitii obiectelor. Obiectele trebuie s fie unic identificabile n cadrul sistemului (nu prin valoare); 3. Suport pentru ncapsulare. Metodele sunt integrate n obiect, modul lor de implementare fiind ascuns. Utilizatorii pot accesa aceste metode prin intermediul mesajelor; 4. Suport pentru clase sau tipuri. Un sistem poate acoperi doar unul din cele dou concepte, fie tipuri (domenii), fie clase. Acestea trebuie s fie accesibile utilizatorului; 5. Tipurile/clasele trebuie s posede capacitatea de motenire. Subclas, superclas (atr., met.); 6. Legare dinamic. Metodele trebuie s poat fi aplicate unor tipuri mai generale, stabilindu-se doar n momentul execuiei ce tip trebuie s solicite; 7. Limbajul de manipulare al datelor va furniza completitudine de calcul; 8. Setul de tipuri de date trebuie s fie extensibil. Utilizatorul poate crea noi tipuri; 9. Suport pentru persistena datelor. Odat create, datele trebuie s rmn stocate n memoria fizic, chiar i dup ce procesul respectiv a luat sfrit. Utilizatorul trebuie degrevat de sarcina de a a face salvri; 10. SGBDO-urile trebuie s poat gestiona baze de date de dimensiuni mari (obiecte de dimensiuni mici i mari); 11. Sistemele SGBDO trebuie s ofere mecanisme de control al concurenei; 12. Sistemele SGBDO trebuie s fie nzestrate cu mecanisme de control al refacerilor. n cazul unei pene de orice natur a sistemului, aceste mecanisme s intre n funciune i s garanteze cea mai mic pierdere de informaii posibil; 13. Sistemele trebuie s aib capacitatea de interogare facil a datelor. Un astfel de sistem trebuie s fie capabil s rezolve interogri nepremeditate n mod eficient i independent de aplicaii. Nu sunt necesare limbajele de interogare. Dezvoltarea de sisteme SGBDOO 1. Crearea unei extensii spre baze de date pentru un limbaj de programare OO. Unor limbaje obiectuale precum C++, Java sau SmallTalk li se aplic faciliti specifice bazelor de date clasice. Exemplu: GemStone;

2. Punerea la dispoziie a unor biblioteci pentru gestiunea bazelor de date. (1)Exist biblioteci opionale care se ocup de gestiunea specific a datelor. Aadar, transformarea n SGBD se face doar la cerere. Exemple: Ontos, Versant i ObjectStore; 3. ncapsularea construciilor specifice bazelor de date obiectuale ntr-un limbaj gazd. SQL-ul este cel mai portat limbaj. Exemplu: O2, C - limbaj gazd; 4. Extinderea unui limbaj de date convenional cu faciliti obiectuale. Datorit numrului mare de utilizatori SQL, productorii de sisteme de gestiune a bazelor de date orientate obiect, l extind cu faciliti obiectuale. (SQL3 etc.). Pe lng acesta, grupul ODMG propune un standard pentru Object SQL. Exemple: Ontos, Versant, O2 etc; 5. Proiectarea din temelii a unui limbaj de gestiune a bazelor de date. Dac variantele anterioare se bazau pe extensii sau pe medii gazd, aceast abordare se bazeaz pe crearea unui sistem de baze de date de la un capt la cellalt. Exemplu: Semantic Information Manager (SIM). Gestiunea tranzaciilor n sisteme SGBDOO Protocoalele de blocare - ineficiente, n cazul n care avem tranzacii de lung durat asupra unor obiecte complexe (inginerie, multimedia, date geospaiale etc.) Protocoalele care asigur ntr-un mediu distribuit controlul accesului concurent sunt protocoalele de supraveghere. Nu permit tranzaciilor ce solicit aceleai date (obiecte) s interfereze. Unitatea de acces obiectul, dar se poate modifica granularitatea n cadrul protocolului de control a accesului. Durata mare de execuie posibilitatea de eec a unei tranzacii Tranzacii stri coerente. Refacerea strii iniiale: Versiunile (gestiunea accesului concurent, jurnalizare, evaluarea mai multor soluii arborescent, nu doar secvenial) Modele de tranzacii avansate

Avantaje

Capaciti semantice superioare. Obiectele i sistemul lor de manipulare i gestionare i propun s fie ct mai naturale i apropiate de lumea real. Pot exista obiecte cu structuri complexe bazate pe tipuri implicite sau definite de utilizator, n timp ce comportamentul i esena relaiilor cu alte entiti sunt memorate n interiorul su Capacitatea de extindere. Sistemele obiectuale permit utilizarea unor tipuri noi fa de cele implementate apriori. Relaiile dintre entiti de genul superclas subclas permit reutilizarea unei pri importante a codului n cadrul unui sistem orientat spre obiecte, facilitnd dezvoltri mai rapide i ntreinere facil

Rezolvarea nesincronizrii de impedan. Existena unei singure interfee ntre limbajul de manipulare i cel n care se scriu aplicaiile determin eliminarea acestui neajuns Faciliti pentru actualizarea schemei bazei de date. Datorit proprietii de ncapsulare a datelor i a transparenei implementrii metodelor pentru mediul exterior, utilizatorul nu va sesiza eventualele modificri structurale sau comportamentale, iar aplicaiile nu vor avea n general de suferit de pe urma acestui aspect Suport pentru tranzacii mari consumatoare de timp. n condiiile unor structuri complexe i a unei dimensiuni mari a datelor, ntr-un mediu distribuit, protocoalele de control al accesului, specifice sistemelor tranzacionale relaionale, nu pot fi aplicate ntocmai i asupra sistemelor de baze de date obiectuale Suport pentru baze de date avansate. Exist o serie de domenii CAD, CAM, CASE, GIS, OIS, gestiunea avansat a elementelor multimedia etc. pentru care sistemele relaionale tradiionale nu ofer un suport suficient Performane sporite. Exist o serie de domenii pentru care sistemele relaionale pure nu pot face fa cu acelai succes sistemelor obiectuale. Uneori, raportul dintre performanele obinute de ctre fiecare este semnificativ, iar n anumite cazuri sistemele relaionale nu sunt capabile s ofere o soluie Costul sistemului. Deoarece, n general, sistemele de baze de date orientate obiect nu sunt SGBD-uri, ci doar limbaje de programare OO crora li se ataeaz module, biblioteci, sau clase suplimentare, de multe ori, costul ncropirii unui astfel de sistem va fi mai redus dect cel al unui SGBD propriu-zis Dezavantaje Existena unui model de date universal. Pentru sistemele obiectuale nu exist modele de date universal recunoscute i de multe ori suportul teoretic este deficitar. Eforturile ODMG Lipsa de experien. BD - 40 de ani de activitate. Dezvoltarea de aplicaii se adreseaz unor programatori mai experimentai Necesitatea elaborrii de standarde. Grupul ODMG - standarde temporare, pn la certificarea lor de ctre ISO/ANSI Optimizare interogri versus ncapsulare. n vederea optimizrii interogrilor este necesar cunoaterea structurii interne a obiectelor se apeleaz la interogri ncapsulate sub forma unor metode problema imposibilitii execuiei unor interogri ad-hoc Blocrile de granularitate mare compromit performana. Blocarea este nc pe larg aplicat de ctre sistemele obiectuale

Configurri suplimentare. n general SGBDOO-urile sunt medii de programare OO care trebuie reconfigurate adecvat pentru dobndirea funcionalitii gestionrii bazelor de date Complexitatea sistemelor. Construcia unui sistem obiectual, precum i exploatarea acestuia sunt mult mai complexe dect n cazul unui sistem relaional Inexistena suportului pentru vederi. Att n sistemele centralizate, ct i n cele distribuite i federative, utilizarea vederilor a devenit o practic ncetenit i evident eficient. Sistemele OO nu ofer aceast facilitate Securitate redus. Sistemele de gestiune a bazelor de date orientate obiect ofer un suport redus pentru securitate. Pentru asigurarea extinderii pe piaa sistemelor de baze de date, remedierea acestei probleme este imperios necesar. Performane ale unor sisteme obiectuale distribuite Peter Kueng paralel ntre cele mai utilizate 10 SGBDOO existente pe pia Caracteristici de baz: suport pentru date definite de utilizator, pentru relaii PART_OF i IS_A, motenire multipl etc. Limbaje i interfa baze de date: standardele, interogrile, modificarea schemei i deschiderea spre alte SGBD-uri Mediile de sistem: arhitectur, sistemele de operare suportate de ctre server, respectiv client ------- Cele mai complete sisteme erau O2 i ObjectStore Criterii declarate de productor Punctajul general mare potenialul beneficiar ar trebui s ia n consideraie doar acest aspect Orientarea se va face prin maparea cerinelor asupra unor caracteristici mai specifice Exemple de sisteme obiectuale US Air Force AIDE Automated Intrusion Detection Environment iniiative de dezvoltare a unor depozite de date prevzute cu sisteme de detecie a intruilor (IRS) nlocuirea treptat a sistemelor relaionale cu SBDOO SGBD: Objectivity/DE

inserrile de obiecte i regsirile pentru interogri cu mai mult de o legtur sunt mai rapide extinderii proiectului ctre reele heterogene Air France - Versant pentru rezervare bilete i repartizare locuri n aparatele de zbor Motiv: nu complexitatea datelor, ci complexitatea relaiilor dintre punctele de stocare a datelor SR asigur aceeai funcionalitate prin mai mult de 30 de operaiuni de join Testare: Oracle furniza timpi infinit mai mari dect Versant 207.000 de tranzacii zilnice 99,48% executate n mai puin de 30 de milisecunde Bursa din Chicago Versant; Radio Computing Services Selector (SGBD Poet) capabil s automatizeze toate nevoile unui studio radio: de la biblioteci de muzic, la newsroom-uri i departamente de vnzri. Sistemul POET permite integrarea diferitelor tipuri de informaii ntr-un singur program; Motorola Iridium (Objectivity/DB): depozit de date pentru denumirea componentelor, planificarea misiunilor prin satelit i gestiunea datelor orbitale; SouthWest Airline's Home Gate (ObjectStore): furnizeaz servicii turistice prin Internet; Ajou University Medical Center din Coreea de Sud - InterSystems' Cach: gestioneaz toate funcionalitile spitaliceti, icluznd departamente cu misiuni critice precum cel de patologie, laboratoare, bnci de snge, farmacie i radiologie Gestiunea bazelor de date obiect-relaionale SGBDR lider de pia: BDR 10 mld. $ vs. BDOO 150 mil $ acum 10 ani (3%) Direcii SGBDR, SGBDOO, SGBDOR SGBDOR adaug noi capaciti de stocare obiectuale sistemelor relaionale Ele integreaz gestiunea datelor tradiionale organizate n tuple i atribute, obiecte complexe precum seriile temporale, date geospaiale, diferite tipuri de media precum audio, video, imagini, applete i multe altele Prin ncapsularea metodelor cu structurile de date, un server SGBDOR poate efectua operaii analitice complexe de regsire i transformare a obiectelor multimedia i a altor tipuri complexe Abordarea obiect-relaional a motenit robusteea gestiunii tranzaciilor i alte faciliti performante de la strmoul su relaional i flexibilitatea vrului obiectual Liderii n domeniu au rmas aceiai: Oracle, IBM, Informix

Faciliti obiectuale generatorul de referine; constructorii de tipuri pentru tipurile de rnduri; permisiunea definirii tipurilor-utilizator, fie c sunt tipuri distincte, fie structurate. Acestea pot participa la relaii supertip/subtip; crearea procedurilor, funciilor i a operatorilor definii de utilizator. Exist restricii n ceea ce privete polimorfismul; suport pentru reprezentarea coleciilor de date: iruri, liste, mulimi i multiseturi; suport pentru tipuri de date complexe i de dimensiuni mari (BLOB, CLOB, BFILE, NCLOB) etc Baze de Date Federative Sisteme de baze de date multiple, multi-database servers, next-generation gateways, data access middleware Definiie: Un sistem de baze de date federative (FMDBS) este o colecie de sisteme de baze de date colaborative care sunt autonome i posibil heterogene. BDF reprezint unificarea logic a unor baze de date distincte ce ruleaz pe servere independente, (n general descentralizate geografic) fr partajare de resurse i conectate prin intermediul unei reele de calculatoare Reprezint un sistem transparent i integrat de metabaze de date Modeleaz universuri similare sau complementare Internetul cel mai mare sistem federativ Caracteristicile sistemelor federative 1) Autonomia Autonomie de proiectare: fiecare BD a fost proiectat autonom i i pstreaz libertatea de a-i modifica sau nu design-ul; Autonomie de comunicare: este liber s decid ce date i cui le va partaja, precum i modul de gestionare al interogrilor i tranzaciilor provenite din exterior; Autonomie de execuie: disponibilitatea datelor rmne la latitudinea siturilor.

2) Heterogenitatea - fizic i semantic versus Heterogenitate de sistem: diferene de hardware, sisteme de operare, SGBD;

Heterogenitate sintactic: modele de date i limbaje i dialecte; Heterogenitate semantic: diferene n ceea ce privete modul de percepere a realitii, diferene conceptuale i de reprezentare n cadrul bazelor de date;

3) Distribuirea: NU o singur baz de date distribuit, ci n baze de date separate ce pot fi localizate n diferite noduri ale unui sistem distribuit Integrarea bazelor de date federative Integrarea = un proces n urma cruia informaiile din bazele de date participante pot fi nglobate ntr-o singur definiie coerent acceptat de un sistem de baze de date federative (constituirea schemei conceptuale globale) Integrarea trebuie s se poat face ntre diferitele modele de date ( relaional, ierarhic, reea, orientat pe obiecte, sau obiectual-relaional) Soluii ODBC/JDBC XML Servicii Web Tabele virtuale, declanatori i proceduri stocate Integratoare (Ex. DB2 Integrator) Wrapper/Mediator versus pompe de date

Etapele integrrii Translatarea schemei translatarea schemelor locale participante ntr-o reprezentare canonic intermediar comun (translatri ntre modele de date) Integrarea schemei aducerea tuturor modelelor canonice intermediare ctre un model int, cel al schemei globale conceptuale. Preintegrarea - determinarea cheilor candidate ale schemelor, precum i metoda (binar, n-ar) i ordinea de tratare a integrrii Compararea - detectarea conflictelor de denumiri, structuri i relaiile dintre scheme (omonime i sinonime); conflicte de tip, conflicte de dependen, conflicte de cheie i conflicte comportamentale (reguli de ntreprindere, IR etc.) Potrivirea rezolvarea problemelor identificate la comparare

Restructurarea i mbinarea stabilirea unei scheme de baze de date pe baza elementelor neconflictuale nativ, sau ulterior etapei de potrivire restructurarea ei prin nlturarea redundanei transformarea celei de dinainte ntr-una inteligibil pentru operatori n vederea formulrii interogrilor dorite ? redundana

Depozite de date. Premise Acumularea unor cantiti din ce n ce mai mari de date din derularea fenomenului economic asistat de calculator Unele companii au considerat c meninerea datelor arhaice constituie un balast Altele au neles c nnoirea instrumentelor de susinere a activitii este necesar Intenionat sau nu s-au creat premisele constituirii unui depozit de date Analiza datelor mai vechi - o cale spre succesul afacerii nvarea din greelile trecutului prin nerepetarea lor, precum i descoperirea unor abloane comportamentale pot constitui un avantaj concurenial Depozitele de date (Data Warehouses) sunt colecii de date nevolatile, orientate spre subiect, integrate, variabile n timp care sprijin managementul firmei n procesul de luare al deciziilor. Nevolatilitate datele sunt reactualizate sporadic i meninute n baza de date. Rareori avem de-a face cu actualizri de coninut, depozitele bazndu-se pe inserri Orientarea spre subiect depozitul graviteaz n jurul subiectelor unei organizaii clieni, produse, vnzri i nu nspre domenii de aplicaie (facturare, aprovizionare, desfacere etc.) Integrarea nmagazinarea n acelai loc, ntr-o form unitar i coerent a datelor provenite de la diverse subiecte sau activiti Variabilitatea n timp caracterul permanent dinamic al coninutului bazei de date, lucru ce confer o instabilitate n timp a coninutului, neputnd afirma c ntre dou momente de timp mai ndeprtate nu s-a ntmplat nimic semnificativ Metadate - date despre date. Rol: studiul provenienei i istoricul fiecrui articol. Pieele de date Definiie: Pieele de date (Data Marts) sunt submulimi ale depozitelor de date, particularizate n vederea ndeplinirii nevoilor unui departament sau care acoper un subiect. Sunt depozite de date cu caracter mai specific, care conin date sumarizate ntr-o anumit msur, putnd astfel s rspund unor probleme formulate de utilizatorii unui domeniu. Modaliti de constituirie a depozitelor de date

odat cu construirea depozitului se construiesc i pieele de date, depozitul furniznd informaii sumarizate specializate pe domeniile acestora pieele de date preexist, dorindu-se integrarea lor ntr-un depozit de date constituirea unui depozit, n paralel crendu-se i cteva piee de date de importan vital n desfurarea activitii organizaiei.

Prelucrarea Analitic i Extragerea Datelor Procesul de nmagazinare al datelor nu trebuie privit ca o obligaie sau mod. Constituirea depozitelor de date trebuie s se fac pentru progresul companiei ntr-o manier care s permit ctigarea unui avantaj competitiv. Definiie: Prelucrarea analitic on-line (OLAP) reprezint sinteza, analiza i consolidarea dinamic a unor volume vaste de date multidimensionale. OLAP - tehnologie ce suport faciliti analitice asupra uneia sau mai multor surse de date. n general, sistemele OLAP implic analiza datelor ce-i au originea n baze de date tradiionale, dar au fost ulterior transformate n structuri multidimensionale pentru o vizualizare i o analiz mai facil platform MDDBMS-Multi-Dimensional DataBase Management System MOLAP versus ROLAP Operaii n cubul de date Tranarea/Tierea i Mrunirea (Slice&Dice) Tranarea/Tierea (Slicing) Transformarea ntr-o vedere bidimensional prin filtrarea/selectarea dup un membru al uneia dintre dimensiuni

Mrunirea (Dicing) - Rezult n urma unor mai multor operaii de tiere. Se efectueaz selecii dup membri a cel puin dou dimensiuni Drilling o Down (Detalierea) navigarea nspre un nivel mai mare de detaliere o Up (Consolidarea/Sumarizarea) navigarea nspre un nivel mai mare de sumarizare. Operaiunea invers detalierii o Roll-Up se consider n general operaiune sinonim cu consolidarea. Pot interveni i expresii derivate/calculate o Drill Through/Across specific sistemelor mai moderne de BI/DW Tip particular de drill-down Presupune trecerea la un nivel de detaliere dat doar de datele-surs ale depozitului (sistemele operaionale/tranzacionale) Pivotarea - Conferirea unei vizualizri personalizate, dintr-o alt perspectiv a cubului

Data Mining Definiie: Extragerea datelor reprezint descoperirea automat a unor tipare netriviale, anterior necunoscute i potenial folositoare, bine nrdcinate n bazele de date Data mining, extragerea de cunotine sau mineritul datelor - o analiz automat a datelor electronice structurate ex. ntr-un depozit de date cu intenia de a descoperi tipare anterior necunoscute i relaii dintre date Diferena fa de instrumentele OLAP i alte forme de analiz a datelor conduse prin interogri: abloanele sau tiparele comportamentale sunt determinate de ctre sistem prin utilizarea unor algoritmi statistici, astfel nct s se dezvluie relaii pentru care utilizatorul nu este capabil s dezvolte interogri Metode de data mining: Clasificarea, regulile de asociere, segmentarea, detectarea anomaliilor/deviaiilor Instrumente de extragere a datelor: Clementine, DataCrusher, Intelligent Miner, MineSet, Data Mining Suite, SAS System, Thought etc. Conceptul Big Data 4V: Volum, Vitez (datele cresc ca volum cu o vitez foarte mare), Varietate (diverse surse i formate nestructurate) i Valoare (o mic parte din volumul de date este utilizabil n procesul decizional, ns aceste date luate individual nu au nicio relevan fr aportul celorlalte) Cum s-a ajuns la creterile exponeniale de date?! Mai mult lume interacioneaz acum cu datele (telefoane mobile, smart, internetul, reele de socializare) Volume tot mai mari de date sunt generate automat (senzori, GPRS, sisteme monitorizare) Bazele de date NoSQL Istoric Termenul folosit pentru prima dat n 1998, referind baze de date relaionale ce nu folosesc SQL [Str10] n 2009 Jon Oskarsson la o conferin din SF iniiat de susintorii teoriei bazelor de date nerelaionale [Eva09a] NoSQL sau NOSQL (Not Only SQL) Bazele de date NoSQL nu au schem i

nu stocheaz date relaionale Problematici importante: consisten, durabilitate/persisten, gestiunea versiunilor

Categorii de baze de date NoSQL Key-/Value-stores cel mai simplu model pentru date nestructurate. Foarte eficient i flexibil. Dezavantaj: datele nu conin descrierea lor Document databases pentru depozite XML i obiecte care se autodescriu. Stocarea ns e foarte ineficient Baze de date relaionale cu faciliti XML: CLOB, XML mprit n mai multe tabele n funcie de schema, SGBDR care accept tipul ISO XML (Ex. IBM DB2, Microsoft SQL Server, Access, Oracle Database, PostgreSQL) Baze de date XML native de studiat

Column-Oriented Databases model foarte bun folosit pentru date rarefiate, coloane grupate i agregate Graf (documentaie Oracle) un model relativ nou, bun pentru parcurgerea relaiilor, dar nu pentru cutri generale

S-ar putea să vă placă și