6 bd distrib

10
Cap. 6. Baze de Date Distribuite 1 Cap. 6. Baze de Date Distribuite Dezvoltarea reţelelor de calculatoare a condus în mod natural la apari ţia unor structuri complexe de baze de date care se caracterizează în primul rând prin păstrarea datelor în mai multe noduri ale unei reţele de calculatoare. De aici a apărut şi ideea greşită că orice colecţie de date distribuită în nodurile unei reţele de calculatoare ar reprezenta o bază de date distribuită (BDD). În literatura de specialitate se subliniază însă că numai în anumite condiţii se poate discuta despre BDD. Pentru a înţelege despre ce este vorba, în Fig. 6.1 se prezintă trei situaţii posibile: Fig. 6.1 Exemple de tipuri de structuri ale bazelor de date

Upload: eancrimicri

Post on 09-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

baze date

TRANSCRIPT

  • Cap. 6. Baze de Date Distribuite

    1

    Cap. 6. Baze de Date Distribuite

    Dezvoltarea reelelor de calculatoare a condus n mod natural la apariia unor structuri

    complexe de baze de date care se caracterizeaz n primul rnd prin pstrarea datelor n mai

    multe noduri ale unei reele de calculatoare. De aici a aprut i ideea greit c orice colecie

    de date distribuit n nodurile unei reele de calculatoare ar reprezenta o baz de date

    distribuit (BDD). n literatura de specialitate se subliniaz ns c numai n anumite condiii

    se poate discuta despre BDD. Pentru a nelege despre ce este vorba, n Fig. 6.1 se prezint

    trei situaii posibile:

    Fig. 6.1 Exemple de tipuri de structuri ale bazelor de date

  • Proiectarea Bazelor de Date

    2

    In figura a) se prezint cazul bazelor de date centralizate cnd exist o singur baz de

    date i toate aplicaiile o acceseaz.

    In figura b) exist o reuniune de baze de date (situate n acelai nod al unei reele de

    calculatoare, sau n noduri diferite, dar fiecare aplicaie utilizeaz date dintr-o singur baz de

    date. In acest caz nu putem vorbi de o baz de date distribuit ci de o colecie de baze de date

    independente.

    In figura c) exist un set de baze de date n diferite noduri ale unei reele i apar dou

    tipuri de aplicaii i anume: aplicaii locale care utilizeaz o singur baz de date i aplicaii

    globale care utilizeaz mai multe baze de date. In acest caz se poate considera c exist o baz

    de date distribuit. Avnd n vedere cele discutate anterior, se poate formula urmtoarea

    definiie a bazelor de date distribuite:

    O baz de date distribuit ese o colecie de baze de date plasate n nodurile unei

    reele de calculatoare i care sunt corelate logic.

    Aceast definiie scoate n eviden dou aspecte deosebit de importante ale bazelor de

    date distribuite:

    1) Distribuia datelor n mai multe noduri ale unei reele de

    calculatoare.

    Este o caracteristic fundamental prin care putem distinge bazele de date

    distribuite de bazele de date centralizate. O caracteristic a bazelor de date distribuite

    o reprezint posibilitatea de a utiliza o anumit redundan controlat a datelor prin

    procesul de replicare, adic o copiere controlat de SGBD a unor poriuni ale bazei de

    date n mai multe noduri ale reelei. SGBD trebuie s realizeze sincronizarea

    replicilor adic orice modificare a coninutuiui unei replici trebuie s se propage

    ct mai repede la toate replicile.

    2) Corelarea logic a datelor care ne arat c prin semantica lor, dei situate n

    noduri diferite ale unei reele de calculatoare, datele sunt utilizate mpreun pentru

    rezolvarea unei anumite probleme. Aceast proprierate permite s distingem bazele de

    date distribuite de un set de baze de date oarecare.

    situate n nodurile unei retele de calculatoare.

    Definiia anterioar poate fi rescris sub forma:

  • Cap. 6. Baze de Date Distribuite

    3

    Se spune c o baz de date este distribuit dac diverse fragmente ale acesteia sunt

    plasate n noduri diferite ale reelei i exist cel puin o aplicaie care s necesite utilizarea

    unor date plasate n noduri diferite.

    Se numete sistem de gestiune al bazelor de date distribuite (SGBDD) un sistem

    software care pertnite gestiunea bazelor de date distribuite asigurnd transparena

    distribuiei n raport cu utilzatorul.

    Principalele avantaje ale utilizrii bazelor de date distribuite sunt:

    1) O legtur mai natural ntre sistemul informatic i structura ntreprinderilor.

    Este natural ca n cazul unor ntreprinderi cu filiale rspndite geografic sau cu

    probleme specifice s se asigure o autonomie informaional ct mai ridicat diverselor

    sectoare de activitate.

    Rmne n sarcina proiectantului bazei de date s stabileasc care date trebuie

    distribuite n nodurile reelei de calculatoare i care date trebuie pstrate i-exploatate ntr-o

    form centralizat. Utilizatorii care folosesc date dintr-un singur nod al reelei se numesc

    utilizatori locali, iar aplicaiile aferente aplicaii locale. Utilizatorii care utilizeaz date din

    diverse locaii se numesc utilizatori globali, iar aplicaiile corespunztoare aplicaii globale

    sau aplicaii distribuite.

    De exemplu, n cazul unei universiti, este natural ca evidena studenilor, a planurilor

    de nvmnt i tatelor de funciuni s se realizeze la nivel de facultate (eventual catedr) n

    timp ce problemele legate de aprovizionare, baz materiale etc. s se realizeze la nivel

    centralizat, att timp ct fondurile se distribuie centralizat la nivel de universitate.

    Desigur, distribuirea datelor despre studeni, profesori, planuri de nvmnt etc. la

    nivel de facultate nu exclude utilizarea lor de ctre alte faculti sau n aplicaii la nivel

    central, dar accentul cade pe aplicaii locale ceea ce simplific implementarea bazei de date i

    a programelor aplicative.

    Utilizarea unei baze de date centralizat ar implica pentru implementare un server foarte

    putemic i un trafic n reea foarte ridicat n anumite perioade ale anului universitar iar

    perfonnanele ar fi probalil inferioare n cazul aplicaiilor cu un putemic caracter local.

    2) mbuntirea performanelor n exploatare

    Imbuntirea performanelor n exploatare are mai multe surse:

  • Proiectarea Bazelor de Date

    4

    a) Exploatarea datelor n proximitatea producerii i utilizrii lor reduce traficul de

    date prin reelele de calculatoare ceea ce crete viteza de lucru i scade preul de cost.

    b) Deoarece n aplicaiile locale se utilizeaz doar o parte a datelor, n general vor

    scdea performanele impuse serverelor i sistemelor de intrare/ieire.

    c) Poate fi utilizat paralelismul n exploatare n sensul executrii n

    paralel a unor operaii de cutare sau prelucrare n mai multe noduri ale reelei n

    scopul satisfacerii unei cereri globale.

    De exemplu, pentru a obine lista tuturor studenilor care locuiesc la un anumit cmin,

    cutarea se poate desfura simultan n toate nodurile de la nivelul facultilor.

    3) Creterea siguranei n funcionare i a disponabilitii datelor

    Replicarea unor date permite utilizarea bazei de date chiar n cazul cderii unor noduri,

    sau a unor ci de cmunicaii. Desigur aceasta implic msuri speciale pentru asigurarea

    consistenei logice a datelor pstrate n copii pe mai multe noduri ale reelei prin

    sincronizarea acestora.

    Un alt avantaj al replicrii datelor l reprezint posibilitatea rulrii n paralel a mai

    multor tranzacii (fiecare tranzacie va utiliza o alt copie).

    Existena replicilor simplific refacerea bazei de date n cazul unor distrugeri

    accidentale sau voite i reduce timpul de redare n funciune a ntregii reele.

    4) Reducerea costurilor de ntreinere i exploatare

    Dac prin distribuirea bazei de date n nodurile unei reele crete mult ponderea

    prelucrrilor locale n raport cu cele globale, va scdea costul comunicaiilor de date i se va

    evita ncrcarea fr rost a cilor de transmisie a datelor.

    De asemenea implementarea unui sistem distribuit permite n general utilizarea unor

    calculatoare mai mici i mai ieftine, uor de dezvoltat ulterior.

    5) Simplificarea dezvoltrii sistemelor informatice

    Dezvoltarea prin adugare de echipamente i software ntr-o reea de calculatoare este

    n general mai simpl i mai ieftin dect n cazul unui sistem centralizat. Prin interconectarea

    reelelor de calculatoare se obine o putere de calcul i o capacitate de memorare deosebit de

    mare la un pre rezonabil. Creterea poate ine pasul cu necesitile i posibilitaile financiare

    ale beneficiarului.

  • Cap. 6. Baze de Date Distribuite

    5

    Desigur distribuirea datelor introduce i numeroase probleme uneori dificil de depit.

    Printre principalele dezavantaje ale bazelor de date distribuite putem aminti:

    1) Complexitatea

    Bazele de date distribuite introduc multe probleme specifice relativ greu de rezovat,

    care nu apar n bazele de date centralizate. Aceste probleme pot fi puse n eviden la

    divese nivele:

    - proiectarea structurii bazei de date

    - proiectarea aplicaiilor

    - gestiunea datelor

    - rezolvarea optim a cererilor

    - protectia datelor

    2) Lipsa de experien

    Lipsa de experien att la nivelul proiectrii, ct i al exploatrii bazelor de date

    distribuite se datoreaz dezvoltrii relativ recente a bazelor de date distribuite mari i

    foarte mari n multe intreprinderi.

    Introducerea bazelor de date distribuite implic eliminarea modului de gndire

    specific bazelor de date centralizate dezvoltate n vechile centre de calcul i trecerea la

    exploatarea n reele locale sau chiar internaionale. Aceasta presupune nu numai

    distribuirea datelor, ci i a rspunderii n pstrarea i exploatarea datelor. De asemenea

    apar noi relaii de colaborare ntre categorii de utilizatori foarte diferite n ceea ce

    privete interesele i nivelul de pregtire.

    3) Scderea securitii datelor

    Unul din principalele avantaje ale bazelor de date centralizate este controlul strict

    asupra accesului la date. n cazul bazelor de date distribuite apar probleme serioase

    pentru pstrarea securitii datelor n reea. Nu mai exist nici o posibilitate practic de

    a interzice accesul n reea, n ciuda msurilor luate att la nivelul sistemelor de operare

    ct i al S.G.B.D-urilor i aplicaiilor. Sunt semnalate mult mai multe cazuri de furturi

    de informaie, distrugere voit sau accidental a datelor, falsificarea unor date.

    4) Conversia dificil i costisitoare a aplicaiilor peste baze de date centralizate

    n aplicaii peste bazele de date distribuite

  • Proiectarea Bazelor de Date

    6

    Se manifest n intreprinderile cu sisteme informatice dezvoltate cu muli ani n urm.

    Practic se impune rescrierea ntregului software. Din aceast cauz muli factori de

    decizie au reticene la renunarea la un software testat ani de zile i introducerea unui

    nou software cu probleme inerente, mult mai dificil de pus n eviden i eliminat.

    Conversia bazelor de date centralizate n baze de date distribuite poate conduce la

    pierderi de informaii greu de acceptat i eliminat.

    Toate acestea justific ineria manifestat la trecerea pe scar larg la exploatarea

    bazelor de date distribuite. La ora actual problemele sunt practic rezolvate n marea

    majoritate a cazurilor.

    5) Instruire mai lung i costisitoare a administratorilor de baze de date

    distribuite i a administratorilor de aplicaii

    Administratorii de baze de date distribuite i administratorii de aplicaii trebuie s aib

    cunotiine profunde de reele de calculatoare, sisteme de operare, baze de date

    distribuite, limbaje de programare, SGBD-uri etc.

    Datorit acestor cunotine, administratorii de baze de date distribuite devin persoane

    deosebit de importante n ierarhia unei intreprinderi cu un rol din ce n ce mai important

    n luarea unor decizii corecte. Este posibil ca aceast cretere a puterii administratorilor

    bazei de date s nu fie agreat de unii factori de conducere care-i vd ameninate

    anumite poziii. n consecin acetia se opun dezvoltrii unor sisteme informatice

    globale, distribuite, invocnd investiiile mari necesare n faza iniial i perspectiva

    relativ ndeprtat a unor beneficii evidente.

    Noiunea de transparen n bazele de date distribuite

    In general prin transparena unui S.G.B.D (centralizal sau distribuit) se nelege

    posibilitatea utilizrii acestui SGBD cu un minim de cunotiine informatice privind

    arhitectura i structura sistemelor de calcul sistemele de operare, limbajele de programare,

    structuri de date etc.

    In cazul bazelor de date distribuite toate aspectele legate de transparen (materializat

    n primul rnd prin independena aplicaiilor n raport cu structura datelor) capt valene noi

    iar lipsa transparenei este cu mult mai putemic resimit de utilizatori. Numai prin asigurarea

  • Cap. 6. Baze de Date Distribuite

    7

    transparenei la diverse nivele a fost posibil dezvoltarea extraordinar a bazelor de date

    distribuite i a aplicaiilor peste acestea i n special abordarea bazelor de date de ctre

    specialiti din aproape toate domeniile, fr o pregtire informaional deosebit.

    n cazul bazelor de date distribuite putem distinge urmtoarele direcii n care trebuie s

    se asigure transparena:

    1) Independena datelor

    Prin independena datelor nelegem imunitatea aplicaiilor n raport cu structura i

    distribuia datelor pe suportul fizic. Dup cum se cunoate, definirea datelor se

    realizeaz la dou nivele:

    - nivelul logic sau nivelul utilizatoruiui;

    - nivelul fizic sau nivelui organizrii pe suport extern.

    Corespunztor celor dou nivele se poate discuta despre independena logic a datelor i

    independena fizic a datelor.

    Independena logic a datelor presupune c aplicaia unui utilizator este imun fa de

    adugarea unor noi atribute la relaiile peste care este definit aplicaia.

    Independena fizic a datelor presupune mascarea unor detalii ale structurii fizice a

    nregistrrilor fa de aplicaiile utilizatorilor. Aceasta nseamn c cel care scrie o aplicaie

    nu trebuie s fie preocupat de detaliile organizrii datelor pe suportul fizic. Aceasta presupune

    imunitatea aplicaiilor fa de eventualele modificri n structura datelor, sau n distribuia lor

    pe suport extern sau n nodurile unei reele, n sensul c aceste modificri nu implic

    rescrierea programelor. Performanele aplicaiilor pot fi ns puternic afectate.

    2) Transparena reelei (distribuiei)

    SGBDD trebuie s fac transparente pentru utiiizator structura reelei i protocoalele de

    comunicaii de date utilizate. Din punctul de vedere al utilizatorului nu are importan

    dac aplicaia este local sau distribuit, dac datele se afl pe serverul local sau la mii

    de kilometri distan, dac transmisia datelor se realizeaz prin fibr optic sau prin

    staii radio, pe ce rut sunt transferate datele, din care replic sunt furnizate datele, dac

    datele solicitate de cererile utilizatorului se obin dintr-un singur nod sau mai multe etc.

    Restructurarea reelei prin adugarea/eliminarea unor noduri sau prin transferul datelor

    n alt nod nu trebuie s afecteze aplicaiile att timp ct datele continu s existe n

    reea.

  • Proiectarea Bazelor de Date

    8

    Acest tip de transparen are dou aspecte:

    - transparena locaiei; .

    - transparena numelui.

    Transparena locaiei presupune c utilizatorul obinuit nu este obligat s specifice

    explicit sistemului nici locul unde se afl pstrate datele utilizate, nici locul unde se realizeaz

    prelucrarea datelor. n felul acesta eventualele modificri n structura reelei i redistribuirea

    datelor nu vor afecta deloc aplicaiile n curs de utilizare (evident performanele n rezolvarea

    cererilor pot fi afectate)..

    Transparena numelui presupune ca orice obiect al bazei de date s aib un nume

    unic. Aceasta este o problem ce poate fi rezolvat de utilizator.

    Sistemul poate impune utilizatorului s introduc numele locaiei obiectului ca parte a

    numelui obiectului. n felul acesta orice modificare a locaiei va trebui s fie cunoscut de

    ctre utilizator i introdus n aplicaie. Aceast situaie corespunde sistemelor actuale de

    prelucrare a datelor. n cel mai bun caz unele sisteme permit utilizarea alias-urilor pentru a

    evita manipularea de ctre utilizator a unor nume lungi. Aceast soluie nu rezolv de fapt

    problema transparenei. Rezovarea problemei presupune ca sistemul s gestioneze numele

    tuturor obiectelor bazei de date i s rezolve n mod transparent unicitatea numelor.

    Utilizarea numelui locaiei n numele obiectului ridic probleme practice dificile legate

    de redistribuirea datelor n scopul optimizrii utilizrii acestora.

    3) Transparena replicrii

    Din motive de optimizare a performanelor, n sistemele de date distribuite se accept

    existena unor copii numite replici. Aa cum s-a specificat anterior, existena replicilor

    poate prezenta unele avantaje evidente:

    - disponibilitatea datelor acolo unde sunt n mod natural folosite;

    - disponibilitatea datelor chiar n cazul cderii unor noduri ale reelei;

    - refacerea rapid a coninutului bazei de date n cazul distrugerii accidentale

    sau voite a unor date.

    Unele sisteme de gestiune a bazelor de date distribuite ofer posibilitatea utilizrii a

    dou tipuri de replici:

    replici sincrone a cror actualizare se face aproape simultan n toate nodurile.

  • Cap. 6. Baze de Date Distribuite

    9

    replici asincrone a cror actualizare se face separat, n funcie de deciziile

    utilizatorului.

    Exemplu:

    Pentru a nelege diferena ntre replicile sincrone i asincrone vom considera

    urmtorul exemplu:

    Pentru gestiunea activitii unei Case de Asigurri de Sntate la nivel de jude (CASJ)

    se creaz o baz de date cu toi cei luai n eviden, asigurai sau nu. Medicii de familie nu

    pot utiliza direct aceast baz de date. Fiecare medic de familie primete la un moment dat o

    baz de date cu pacienii pe care i are n acel moment, de obicei sub forma unui fiier pe o

    dischet. n continuare fiecare medic de familie poate s nscrie ali pacieni, s elimine

    pacieni, s actualizeze numele etc. fr ca aceste modificri s se reflecte n baza de date de

    la CASJ. Sincronizarea ntre baza de date central i copii se realizeaz abia n momentul

    raportului lunar cnd medicul de familie transmite prin Internet sau pe dischet modificrile

    din ultima lun. Aceast variant de lucru reprezint un exemplu tipic de sincronizare

    asincron.

    Chiar n cazul n care toate calculatoarele mediciior de familie ar fi conectate ntr-o

    reea de calculatoare dar baza de date nu ar fi distribuit, iar actualizarea datelor s-ar face pe

    acelai principiu al fiierelor importate/exportate periodic, sincronizarea ar fi asincron.

    Dac ns toi medicii de familie ar fi conectai n reea cu CASJ iar bazele de date de la

    medicul de familie ar fi replici ale unor fragmente ale bazei de date globale, sincronizarea s-ar

    putea realiza sincron sub comanda SGBDD.

    Din punct de vedere practic, problemele utilizrii replicilor sunt legate de replicile

    sincrone deoarece actualizarea cvasiinstantanee a coninutului nu este o problem simpl.

    Transparena replicilor presupune ca utilizatorul s nu fie obligat s cunoasc cte

    replici ale datelor exist n sistem sau cum sunt acestea distribuite. Utilizarea optim a unei

    replici trebuie s fie o problem a sistemului i aceasta este o problem complicat.

    n cazul unor sisteme orientate pe modificarea frecvent a datelor utilizarea replicilor nu

    este n general o soluie raionai.

    4) Transparena fragmentrii

    n multe situaii se pune problema fragmentrii unei relaii n mai multe relaii privite ca

    obiecte distincte ale bazei de date .

  • Proiectarea Bazelor de Date

    10

    Transparena fragmentrii impune ca acele aplicaii care au nevoie de ntreaga relaie s

    nu fie obligate s specifice toate fragmentele necesare i locul unde sunt acestea plasate.

    Sistemul trebuie s fie capabil s primeasc cereri globale pe care s le transforme

    automat n cereri orientate pe fragmente n funcie de necesiti. In felul acesta se asigur o

    prelucrare optim a datelor fr a reduce generalitatea cererilor ce pot fi satisfcute. Existena

    unor fragmente distribuite n noduri diferite ale reelei poate asigura paralelismul unor

    prelucrri, plasarea natural a datelor n nodul unde sunt cel mai mult solicitate etc.