Replicazione e Problemi
- Motivi: Affidabilità, prestazioni, scalabilità
- Problema: Mantenere le repliche consistenti dopo aggiornamenti
Modello di Consistenza
Contratto tra i processi e l’archivio di dati distribuito: Se i processi rispettano un certo insieme di regole, l’archivio conterrà valori corretti
- Data-centric: Garanzie a livello di sistema
- Client-centric: Garanzie per il singolo client
Modelli Data-Centric
- Stretta: Letture restituiscono sempre l'ultima scrittura (tempo globale)
- Linearizzabile: Operazioni ordinate con timestamp globale
- Sequenziale: Tutti i processi vedono lo stesso ordine di operazioni
- Causale: Solo le operazioni causalmente correlate devono essere ordinate
- Finale (Eventual): Le repliche convergono dopo un tempo finito
Teorema CAP
Un sistema distribuito può garantire al massimo due delle seguenti:
- Consistenza
- Availability
- Partition tolerance
ACID vs BASE
- ACID: Transazionale, consistente, pessimistico