Basi di dati distribuite: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Correzioni con wikEd |
m correzione errori comuni using AWB |
||
Riga 1:
{{Risorsa|tipo = lezione|materia1 = Basi di dati 2|avanzamento = 100%}}
I sistemi a database distribuiti rappresentano una grande sfida per i progettisti di DBMS, in particolare per garantire le proprietà acide e
Possiamo classificare i sistemi distribuiti in due classi:
* Sistemi omogenei: più macchine che contengono la base di dati ma tutte con lo stesso DBMS.
* Sistemi eterogenei: più macchine con DBMS diversi.
== Paradigma Client-Server ==
Riga 14:
Si noti che il paradigma client-server non implica che il server e il client siano su macchine diverse connesse via rete, possono anche essere sulla stessa macchina e interagire mediante chiamate di sistema.
Ultimamente<ref>2007 - {{cita libro|titolo = Basi di dati - Architetture e linee di evoluzione|capitolo = 6|pagine = p. 199-201|editore = McGraw-Hill|anno = 2007}}</ref> si è diffusa la architettura '''three-tier''': client-server applicativo-server. Il server applicativo ha la funzione di gestire la logica in comune con tutti i client (che ora vengono chiamati '''thin-client''' per il ridotto numero di funzioni). Un esempio di ''thin-client'' sono i browser web, che utilizzano applicativi web per connettersi ai server web.
== Tecniche di distribuzione ==
Riga 131:
* '''Perdita di un RM''': protocollo di ripresa a caldo, dipende dall'ultimo stato presente nel log degli RM (se è abort, sarà effettuata un'operazione di UNDO, altrimenti se è commit REDO). Se il log di un RM non contiene informazioni (è nello stato di ready) dovrà chiedere al TM cosa fare;
* '''Perdita del TM''': se il TM non ha ancora inviato le azioni globali, un ''global abort'' viene effettuato. Altrimenti il ''TM'' reinvierà tutti i messaggi globali.
* '''Problemi di rete''': se un messaggio viene perso o vi è una separazione della rete, si esauriranno i timeout in attesa dei riscontri e dei ''ready''
== Parallelismo ==
|