Curs №14 - distribuit de baze de date, platforma de conținut

Apariția sistemelor informatice cu baze de date a dus la o schimbare a metodelor anterioare de prelucrare a datelor, în care fiecare aplicație definească și să mențină propriile lor seturi de date, noi, în care toate datele sunt definite și menținute la nivel central. Și recent, există o dezvoltare rapidă a tehnologiei de comunicare de rețea și comunicații de date cauzate de crearea de Internet. apariția de resurse de calcul mobile și fără fir, precum și dispozitive „inteligente“. Acum, sub influența acestor două tendințe opuse, tehnologia bazelor de date distribuite facilitează tranziția inversă de la centralizată la prelucrarea datelor descentralizate. Dezvoltarea tehnologiei de sisteme de management al bazelor de date distribuite este una dintre cele mai mari realizări în domeniul bazelor de date.

Am considerat în principal sistem de baze de date centralizate, E. sistem în care doar o singură bază de date logică găzduit într-un singur nod, și a fost controlat de un SGBD anume.. Acum, să ne discuta principiile și problemele asociate cu baze de date distribuite, care permite utilizatorilor finali să aibă acces nu numai la datele salvate de pe site-ul propriu, dar, de asemenea, la datele localizate pe diferite site-uri de la distanță. Presa a făcut în repetate rânduri declarații în sensul că, în legătură cu procesul de creștere de tranziție către companiile de tehnologie distribuite baze de date de baze de date centralizate în doar câțiva ani să devină o raritate antic.

Principala condiție preliminară pentru dezvoltarea sistemelor care utilizează baza de date, este dorința de a uni toate prelucrate în aceste organizații, împreună și să ofere acces controlat la acestea. Deși integrarea și accesul furnizarea controlată poate contribui la centralizarea, acesta din urmă nu este un scop în sine. În practică, crearea de rețele de calculatoare conduce la descentralizarea prelucrării datelor. abordare descentralizată, de fapt, reflectă structura organizatorică a multor companii, compusă în mod logic din divizii separate, departamente, echipe de proiect, și așa mai departe. N. care sunt distribuite fizic peste birouri diferite, birouri, întreprinderi sau afiliații săi, și fiecare unitate de producție individuală se face cu propriul set datele prelucrate. Dezvoltarea bazelor de date distribuite, care să reflecte structura organizatorică a întreprinderii permite de a face datele disponibile publicului susținute de fiecare dintre unitățile existente, asigurând în același timp că stocarea lor în acele locuri în care acestea sunt cel mai des folosite. O astfel de abordare îmbunătățește schimbul de informații, în timp ce creșterea eficienței accesului la acesta.

Sistemele distribuite sunt proiectate pentru a rezolva problema de insule de informații. Dacă afacerea dvs. are mai multe baze de date, acestea sunt uneori tratate ca un fel de teritorii împrăștiate, care sunt izolate și inaccesibile în multe locuri ca telecomanda de la fiecare alte insule. Această situație poate rezulta din dispersia geografică, incompatibilitatea utilizată arhitecturi, protocoale de comunicare utilizate de incompatibilitate și t. D. Această situație se poate schimba integrarea bazelor de date separate într-o singură unitate logică.

Pentru a începe discuția problemelor asociate cu baza de date distribuite, trebuie să înțelegem mai întâi ce este o bază de date distribuită.

Baza de date distribuite: Un set de seturi logic legate de date comune (și descrierile lor) care sunt distribuite fizic într-o rețea de calculatoare.

Aceasta implică următoarea definiție a unei baze de date distribuite:

Baza de date distribuite: Un pachet software proiectat pentru a gestiona baze de date distribuite și asigurarea accesului utilizatorilor transparent la informațiile distribuite.

Sistemul de management al bazelor de date distribuite (DBMS distribuite) constă dintr-o bază de date logică unică împărțită într-un număr de fragmente. Fiecare bază de date fragment stocat pe unul sau mai multe computere care rulează baze de date separate, și interconectate printr-o rețea de comunicații. Fiecare nod este capabil să se ocupe în mod independent, cererile de utilizator care necesită acces la datele stocate local (m. E., Fiecare nod are un anumit grad de autonomie) și, de asemenea, capabil să prelucreze datele stocate pe alte computere din rețea.

Utilizatorii interacționează cu baza de date prin intermediul unei aplicații distribuite. Aplicațiile pot fi împărțite în care nu au nevoie de a avea acces la date cu privire la alte noduri (aplicații locale) și necesită un astfel de acces (cererea globală). cel puțin o aplicație globală trebuie să existe într-o bază de date distribuită, astfel încât orice astfel de bază de date are următoarele caracteristici:

§ Există un set de date partajate în mod logic asociate.

§ Datele stocate sunt împărțite în mai multe fragmente.

replicare § poate fi furnizat fragmente de date.

§ Fragmentele și copiile acestora sunt distribuite la diferite noduri.

§ noduri interconectate conexiuni de rețea.

§ accesul datelor are loc pe fiecare nod sub controlul SGBD.

§ Baze de date la fiecare nod este capabil să suporte funcționare autonomă a aplicațiilor locale.

§ bază de date a fiecărui nod suportă cel puțin o aplicație globală.

Dar nu este nevoie în fiecare dintre nodurile din sistem nu are propria sa bază de date locală așa cum se arată în exemplul topologia unei baze de date distribuite, se arată în figura:

Distributed topologiei Baza de date

Baza de date definiție implică faptul că aceasta ar trebui să facă datele de distribuție în sine este transparentă (invizibilă) pentru utilizatorul final. Cu alte cuvinte, de la utilizatorii ar trebui să fie complet ascuns de faptul că o bază de date distribuită este format din mai multe fragmente, care pot fi amplasate pe diferite calculatoare, și pentru care, poate chiar replicarea datelor organizate. Scopul transparenței este un sistem distribuit să arate exterior ca centralizat. Uneori, această cerință este menționată ca principiul de bază al bazelor de date distribuite. Acest principiu impune furnizarea unei game largi de funcționalități pentru utilizatorul final, dar, din păcate, în același timp, stabilește software-ul distribuit SGBD multe sarcini suplimentare.

Este important să se înțeleagă diferențele dintre bazele de date distribuite și mijloacele de prelucrare a datelor distribuite.

Prelucrarea distribuită: Prelucrarea folosind o bază de date centralizată, la care accesul poate fi realizat cu diferite computere din rețea.

Punctul-cheie în definirea bazei de date distribuite este afirmația că sistemul funcționează cu date care sunt distribuite fizic în rețea. datele Beli sunt stocate centralizat, chiar și în cazul în care accesul este furnizat la orice utilizator de pe rețea, sistemul acceptă numai distribuite de procesare, dar nu poate fi considerată ca o bază de date distribuită. Schematic, o astfel de topologie de prelucrare distribuită prezentată în Fig. Comparați această variantă de realizare, care cuprinde o bază de date centrală la nodul 2, într-o formă de realizare prezentată în figura precedentă, în care există mai multe noduri, fiecare dintre acestea având propria bază de date:

Topologia sistemului cu procesare distribuită

Ar trebui să fie, de asemenea, o înțelegere clară a diferențelor care există între SGBD distribuite și paralele.

Paralel Baze de date: Sistem de management al bazelor de date care opereaza cu mai multe procesoare și hard disk-uri, permițându-le (dacă este posibil) pentru a paraleliza executarea anumitor operațiuni, în scopul de a îmbunătăți performanța generală de procesare.

Apariția de baze de date paralele sa datorat faptului că un sistem cu un singur procesor nu au fost în măsură să îndeplinească cerințele în creștere pentru datele de scalabilitate, fiabilitate și performanță. O alternativă eficace și economic la o bază de date cu un singur procesor SGBD devin paralele, care funcționează simultan pe mai multe procesoare. Aplicarea SGBD paralele combină mai multe mașini de putere mică pentru a obține același nivel de performanță ca și în cazul unei singure, dar mai puternic mașină cu un câștig suplimentar în scalabilitatea și fiabilitatea sistemului, în comparație cu baza de date cu un singur procesor.

Pentru a oferi mai multe procesoare care împart aceeași baza unui SGBD paralel trebuie să asigure controlul accesului comun la resurse. Apoi, ce resurse sunt împărțite și modul în care această diviziune este realizată în practică, afectează în mod direct performanța și scalabilitatea sistemului fiind faptul că, la rândul său, determină caracterul adecvat al unei anumite baze de date la condițiile unui mediu de calcul dat și cerințele aplicației. Trei tipuri de bază de arhitectură SGBD paralele prezentate mai jos. Printre acestea se numără:

§ Sistem diviziune de memorie;

§ unități Systems Division;

§ sistem fără separare a resurselor de calcul.

Deși sistemul paralel, fără separarea de resurse de calcul este uneori privit ca o bază de date distribuită, într-un astfel de sistem, de distribuție de date este cauzată doar de dorința de a îmbunătăți productivitatea. Mai mult decât atât, site-urile de baze de date distribuite este de obicei împărțită punct de vedere geografic, se află sub controlul diferiților administratori și sunt interconectate printr-o rețea de conexiuni relativ lente, în timp ce nodurile ale bazei de date paralele adesea situate pe același computer sau în același loc de producție.

Sisteme de memorie partajată constau din componente strâns legate, care includ mai multe procesoare care împart un sistem de memorie comun. Această arhitectură, de asemenea, numit arhitectura multiprocesare simetrică (SMP), este acum larg raspandita si este folosit pentru o mare varietate de platforme de calcul, de la stațiile de lucru cu caracter personal care conțin mai multe procesoare care funcționează în paralel, sistemele mari și RISC până la cel mai mare mainframe. Această arhitectură oferă acces rapid la date pentru un număr limitat de procesoare, valoarea care, de obicei, nu depășește 64. În caz contrar, interacțiunea rețelei devine o strangulare a întregului sistem.

Sistemele cu discuri de separare sunt componente mai puțin strâns. Acestea sunt cea mai bună opțiune pentru aplicațiile care au moștenit un proces extrem de centralizat și ar trebui să se asigure că cele mai înalte niveluri de disponibilitate și performanță. Fiecare dintre procesoare are acces direct la toate dispozitivului de disc partajat, dar are propria sa memorie RAM. Ca și în cazul mașinilor fără separarea arhitecturii resurse de calcul cu discuri de separare elimină blocajele asociate cu memoria partajată. Cu toate acestea, în contrast cu arhitectura fără separarea resurselor de calcul, această arhitectură elimină blocajele menționate, fără costuri suplimentare asociate cu distribuția fizică a datelor pe dispozitivele individuale. Sistemele de discuri partajate sunt uneori denumite clustere.

Arhitectura sistemelor de baze de date cu procesare paralelă: a) partajat cu memorie; b) împărțirea discurilor; c) fără separare

Sisteme fără separarea resurselor de calcul (această arhitectură este numit, de asemenea, o arhitectură de procesare paralelă masivă) utilizează un sistem în care fiecare procesor, care face parte din sistemul are propria memorie și memoria de disc. Baza de date este distribuit între toate dispozitivele de disc, care sunt conectate la individuale asociate cu acel subsisteme de baze de date de calcul, care rezultă în mod transparent toate datele disponibile utilizatorilor în fiecare dintre aceste subsisteme. Această arhitectură oferă un nivel ridicat de scalabilitate decât sistemele cu memorie partajată, și poate suporta cu ușurință un număr mare de procesoare. Cu toate acestea, performanța optimă se poate realiza numai în cazul în care datele necesare sunt stocate local.

Avantaje și dezavantaje ale bazelor de date distribuite

Sistemele de baze de date distribuite au avantajul suplimentar față de sistemele tradiționale de baze de date centralizate Din păcate, această tehnologie nu este lipsită de unele dezavantaje. Această secțiune descrie atât avantaje și dezavantaje inerente în baza de date distribuite.