baze de date distribuite

Funcția principală a oricărei baze de date este de a sprijini independența, integritatea și coerența datelor în ceea ce privește utilizarea colectivă.

O bază de date distribuită este format din mai multe, eventual, sau care se suprapun duplicative piese stocate în diferite rețele de calculatoare de calcul. Cu toate acestea, utilizatorul bazei de date distribuite nu trebuie să știe modul în care componentele sale sunt plasate în nodurile rețelei, și este în prezent în baza de date ca un întreg (această proprietate se numește transparență). Lucrul cu o astfel de bază de date prin utilizarea unui sistem de management al bazelor de date distribuite (RDBMS). O parte a unei baze de date distribuite, găzduit pe o rețea de calculatoare separat, poate fi controlat prin propria sa bază de date (locale). Baza de date locală nu trebuie neapărat să fie aceeași în diferite noduri de rețea. Combinarea bazelor de date locale neuniforme într-o singură bază de date distribuită este o provocare științifică și tehnică complexă. Solutia sa necesitat un set mare de cercetare științifică și dezvoltare experimentală.

sisteme software distribuite de management al bazelor de date (RDBMS) are în mod tipic o arhitectură stratificată (Fig. 1).

baze de date distribuite

Fig. 1. Nivelurile de baze de date distribuite

Ar trebui să se facă distincția de lucru cu baze de date distribuite și de a lucra cu baza de date de la distanță. În al doilea caz, utilizatorul este în mod clar conectat la sursa de date.

2. Principiile de bază ale prelucrării distribuite

Luați în considerare principiile de bază de prelucrare distribuită.

Autonomia locală. Acest principiu înseamnă că tranzacțiile de pe acest site sunt controlate de aceasta, nu este nevoie să se aștepte de la celelalte noduri, cu toate că în sistemele reale nu este o autonomie completă, după cum există multe situații care necesită site-uri de lucru coordonate.

Independența din nodul central. Principiul înseamnă că toate nodurile apar ca egali, în caz contrar se poate deteriora întregul sistem în centrul prejudiciului.

Funcționarea continuă. Principiul înseamnă că sistemul trebuie să fie date extrem de fiabile și disponibile. Fiabilitate - este probabilitatea ca sistemul este de lucru și de lucru la un moment dat. Sistemele pot sprijini întreaga gamă de metode de îmbunătățire a fiabilității (discuri oglindite, servere de backup, clustere multimachine etc.)

Indiferent de locație. Principiul este transparența datelor de locație.

Independența de fragmentare. Tabelul este împărțit în grupuri care sunt stocate pe diferite secțiuni de disc (discuri). Fragmentarea este de dorit să se îmbunătățească performanța sistemului, deoarece din tabele sunt citite simultan. masa de disponibilitate crescută, porțiunea chiar dacă acesta este deteriorat se reduce operațiunile de competitivitate. Acestea sunt cel mai bine păstrate în cazul în care acestea sunt folosite mai des. Există două tipuri de bază de fragmentare: orizontale și verticale (de fapt, este funcționarea proiecției și proba).

Independența de replicare. Replicarea este utilă din două motive: pentru a maximiza performanța și creșterea disponibilității. Asincronă asimetrică - este replicarea, în cazul în care o unitate - principalul proprietar al copiei maestru al tabelului cu capacitatea de a face modificări, și de sprijin automat pentru un număr nelimitat de copii în alte noduri pentru a avea acces numai în citire. Asincronă simetric - o replicare a datelor atunci când este disponibil pentru a schimba în orice nod de date și sunt propagate în mod automat la toate copiile.

Distribuit Solicitare de procesare. În sistemele distribuite a complicat de optimizare a, deoarece este extrem de important să se găsească cea mai eficientă strategie de execuție interogare. Posibila utilizare a operațiilor paralele. transfer de date optim între noduri. Conectarea indecși.

managementul tranzactiilor distribuite. Design de bază, care vă permite să înregistreze starea „corectă“ a bazei de date este o tranzacție. În cadrul tranzacției realiza o unitate logică de lucru cu o bază de date care nu o conduce la o stare consistentă. Acesta poate include sute de operațiuni (de exemplu, update-interogări), iar în cazul în care baza de date de lucru poate fi într-o stare necorespunzătoare. Dar, la sfârșitul bazei de date trebuie să fie într-o stare consistentă. Cu alte cuvinte, tranzacția - în performanță ca acțiuni atomice (indivizibile) ale unuia sau mai multor operațiuni pe baza de date, nu duce la perturbarea integrității bazei de date.

Comiterea în două faze de tranzacție - atunci când o tranzacție este efectuată sub controlul serverului de coordonare. Prima fază: coordonatorul, a primit instrucțiuni SOMMIT trimite restul mesajului către serverul privind pregătirile pentru fixare. Serverele sunt responsabile cu privire la posibilitatea de fixare. A doua fază: coordonatorul, după ce a primit toate dovezile, decide să se angajeze sau anularea tranzacției. consistenței datelor poate fi menținută folosind declanșatoare și proceduri stocate. Declanșează - o modalitate de a automatiza acțiunile pe baza de date. Trigger - este o procedură specială, care este declanșat atunci când o anumită condiție, exploatarea, etc. O procedură stocată este stocată sub formă de servere compilate și optimizate, ca urmare a calculului este transferat la mașinile client la server, reducând traficul în rețea.

Distribuit de date dicționar. Dicționarul este nu numai informațiile obișnuite pentru el, dar, de asemenea, stochează toate informațiile cu privire la cazare, fragmentare, replicare. Dicționar în sine poate fi într-un singur nod care urmează să fie reproduse în totalitate sau parțial.

Multi-scară și multi-platformă. Acest principiu înseamnă independența față de hardware, sistem de operare independent, independent de rețea.

Independența din baza de date. Principiul înseamnă o abatere de la uniformitate. Toate bazele de date trebuie să suporte aceeași interfață. În sistemele eterogene necesită software special - gateway-uri pentru organizarea unui schimb transparent între diferite baze de date.