Un database distribuito è un database che si trova sotto il controllo di un Database management system (DBMS) nel quale gli archivi di dati non sono memorizzati sullo stesso computer. Il database in senso fisico può essere dislocato in più computer situati nello stesso luogo, oppure distribuito in una rete di computer connessi tra loro sotto forma appunto di sistema distribuito.

Il DBMS serve a strutturare i dati ed accedere in modo intelligente e efficace alle informazioni ed inoltre deve garantire:

Architetture possibili

Esistono diverse modalità possibili di distribuzione dei dati:

  • Frammenti orizzontali: sottoinsiemi di tuple (righe) da una relazione (tabella).
  • Frammenti verticali: sottoinsiemi di attributi (colonne) da una relazione (tabella).
  • Frammenti misti: combinazione di frammenti orizzontali e verticali o una collezione di oggetti in un database a oggetti (OODB).
  • Database distribuiti omogenei: utilizzano solo un DBMS (ad esempio MySQL o Oracle).
  • Database distribuiti eterogenei: utilizzano diversi DBMS (ad esempio MySQL e PostgreSQL).

Gli utenti possono accedere ai database distribuiti attraverso:

  • Applicazioni locali: applicazioni che non richiedono dati da altri siti;
  • Applicazioni globali: applicazioni che richiedono dati da altri siti.

Considerazioni

I database distribuiti richiedono una attenta gestione per garantire che:

  • La distribuzione sia trasparente, gli utenti cioè siano in grado di interagire con il sistema come se fosse un unico sistema logico, sia dal punto di vista delle prestazioni che per quanto riguarda i metodi di accesso;
  • Le transazioni siano trasparenti, ogni transazione cioè mantenga l'integrità del database tra tutti i database distribuiti. Ciò normalmente si ottiene suddividendo la transazione principale in sub-transazioni, una per ogni database coinvolto.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica