Baza de date distribuită

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică, o bază de date distribuită este o bază de date care se află sub controlul unui sistem de gestionare a bazelor de date ( SGBD ) în care arhivele de date nu sunt stocate pe același computer, ci pe mai multe computere sau noduri. Cu alte cuvinte, baza de date în sens fizic poate fi localizată în mai multe calculatoare situate în același loc sau distribuite într-o rețea de computere conectate între ele sub forma unui sistem distribuit .

Descriere

În mod formal există o schemă logică globală comună tuturor nodurilor și un set de scheme logice locale care depind funcțional de cea globală. Pentru a trece de la schema logică globală la cele locale, se efectuează transformări numite fragmentări.

SGBD este utilizat pentru a structura datele și a accesa informațiile într-un mod inteligent și eficient și trebuie să garanteze, de asemenea:

În plus, SGBD trebuie să poată garanta proprietățile ACID ca și în cazul unui SGBD centralizat.

Arhitecturi posibile

Există mai multe modalități posibile de distribuire a datelor:

  • Fragmente orizontale : subseturi de tupluri (rânduri) dintr-o relație (tabel).
  • Fragmente verticale : subseturi de atribute (coloane) dintr-o relație (tabel).
  • Fragmente mixte : combinație de fragmente orizontale și verticale sau o colecție de obiecte dintr-o bază de date de obiecte (OODB).
  • Baze de date distribuite omogene : utilizați un singur SGBD (de exemplu MySQL sau Oracle ).
  • Baze de date distribuite eterogene : utilizează diferite SGBD (de exemplu MySQL și PostgreSQL ).

Utilizatorii pot accesa baze de date distribuite prin:

  • Aplicații locale: aplicații care nu necesită date de pe alte site-uri;
  • Aplicații globale: aplicații care solicită date de la alte site-uri.

Considerații

Bazele de date distribuite necesită o gestionare atentă pentru a se asigura că:

  • Distribuția este transparentă; adică utilizatorii pot interacționa cu sistemul ca și cum ar fi un singur sistem logic, atât din punct de vedere al performanței, cât și în ceea ce privește metodele de acces;
  • Tranzacțiile sunt transparente; adică fiecare tranzacție menține integritatea bazei de date în toate bazele de date distribuite. Acest lucru se realizează în mod normal prin împărțirea tranzacției principale în sub-tranzacții, câte una pentru fiecare bază de date implicată.

Fragmentare

Fragmentarea este o proprietate tipică a SGBD distribuit, care vă permite să alocați diferite porțiuni ale bazei de date pe diferite noduri. Există diferite tipuri de fragmentare:

  • fragmentarea verticală , care afectează atributele unui anumit tabel;
  • fragmentarea orizontală primară , care afectează porțiuni de tupluri dintr-un tabel;
  • fragmentare orizontală derivată , care atinge porțiuni de tupluri a două tabele diferite, unindu-le într-un singur tabel cu ajutorul unei chei;
  • fragmentarea compusului , care este o combinație a celor de mai sus.

În general, fragmentarea trebuie să respecte următoarele proprietăți:

  • completitudine: fiecare înregistrare a tabelului de pornire trebuie să poată fi găsită într-unul din cele două fragmente;
  • reconstructibilitate: tabelul de pornire trebuie reconstituit fără pierderea informațiilor pornind de la fragmente;
  • disjuncție: fiecare înregistrare a tabelului trebuie reprezentată doar într-unul din fragmente sau, alternativ, vorbim de replicare.

Fragmentare verticală

O fragmentare verticală este o partiție a relației R în n relații numite fragmente definite:

generic

Fragmentarea verticală satisface proprietatea de completitudine

Pentru a asigura proprietatea reșapabilității:

Fragmentare orizontală

O fragmentare orizontală este o partiție definită pe o relație R astfel încât:

tiparul rămâne același în fiecare fragment

fiecare fragment conține un subset de înregistrări ale lui R.

de obicei un fragment definit de o selecție

Fragmentarea orizontală satisface proprietatea de completitudine:

Proprietatea de reșapare este întotdeauna garantată de uniune.

Replicare

Replicarea este o proprietate tipică a SGBD distribuit care vă permite să alocați aceleași porțiuni ale bazei de date pe noduri diferite. Replicarea este considerată utilă pentru a reduce transferul de informații între diferitele noduri din cadrul aceleiași tranzacții sau interogare. Utilizarea replicării crește localitatea datelor utilizate de fiecare aplicație; cu toate acestea, se introduce problema mai multor tranzacții, adică tranzacții care trebuie efectuate pe mai multe noduri în același timp.

Transparenţă

Transparența este o proprietate tipică a SGBD distribuit care permite aplicațiilor să nu știe nimic despre locația datelor, ci să le acceseze ca și cum ar fi o bază de date centralizată.

SGBD oferă diferite niveluri de transparență, unele moștenite de la tehnologia SGBD centralizată, altele necesare pentru gestionarea arhitecturii distribuite:

  • Transparență fizică (tipică SGBD centralizat), independența aplicației față de modificările aduse schemei fizice a bazei de date;
  • Transparență logică (tipică SGBD centralizat), independența aplicației față de modificările aduse schemei logice a bazei de date;
  • Transparența rețelei; independența aplicației față de dislocarea datelor în diferitele noduri, aplicația nu cunoaște topologia rețelei;
  • Transparența fragmentării, independența aplicației față de fragmentarea datelor, aplicația nu știe cum sunt fragmentate relațiile;
  • Transparența replicării, independența aplicației față de replicarea datelor, aplicația nu știe ce replici sunt prezente;
  • Transparența modelului sau a limbajului, independența aplicației față de modelul sau limba utilizată.

Bibliografie

  • MT Özsu și P. Valduriez, Principiile bazelor de date distribuite (ediția a 3-a) (2011), Springer, ISBN 978-1-4419-8833-1
  • Elmasri și Navathe, Fundamentele sistemelor de baze de date (ediția a III-a), Addison-Wesley Longman, ISBN 0-201-54263-3

Elemente conexe

Alte proiecte

Controlul autorității Tezaur BNCF 61158 · LCCN (EN) sh88000865 · BNF (FR) cb11976418x (data)
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT