Alta Disponibilità e Strategie di Replica dei Dati nei Sistemi Distribuiti
Classificato in Informatica
Scritto il in
italiano con una dimensione di 18,57 KB
Alta Disponibilità (High Availability)
L'obiettivo principale dell'Alta Disponibilità è evitare l'interruzione delle operazioni. I sistemi dovrebbero essere dotati di elementi progettati per prevenire i fermi macchina o, qualora si verifichino, per ridurre al minimo il tempo di inattività.
Elementi Obbligatori
- Tecnologia affidabile: utilizzo di componenti con un basso tasso di guasto.
- Tolleranza ai disastri: implementazione di strategie di ridondanza.
- Procedure di emergenza: protocolli definiti per la gestione dei guasti.
- Commutazione: meccanismi di failover (manuali o automatici).
- Revisioni periodiche: controllo costante dello stato del sistema.
Schema Generale di Ridondanza
I Livelli in un Sistema Protetto
1. Presentazione
Questo livello rappresenta l'interfaccia utente grafica (GUI) che l'operatore e il cliente visualizzano attraverso un browser internet. Viene servita tramite un server web che gestisce il contesto e la sessione dell'utente.
2. Logica di Business
Questo livello contiene tutta la logica applicativa. Qui vengono gestite le transazioni e le consultazioni con i database (BD) locali ed esterni. Tale architettura è realizzata attraverso linguaggi di scripting eseguiti sul server.
3. Dati
Questo livello riguarda l'archiviazione fisica delle informazioni e il gestore del database (DB Manager).
La Replica dei Dati
La replica dei dati consiste nel trasporto di informazioni tra due o più server. Ciò consente di memorizzare determinati dati in più siti contemporaneamente, aumentando così la disponibilità dei dati e migliorando le prestazioni complessive delle query.
Componenti della Replica
- Editore: Il server che rende disponibili i dati per la replica verso altri server.
- Distributore: Il server database che ospita il database di distribuzione e memorizza i dati storici e i metadati delle transazioni.
- Iscritti: I server che ricevono i dati replicati.
Tipologie di Replica
- Istantanee (Snapshot): I dati del sistema vengono replicati esattamente come appaiono nel momento in cui vengono modificati alla fonte.
- Transazionale: Ideale per sistemi di elaborazione ordini. Può coinvolgere diversi editori che accettano ordini per merci, i quali vengono poi replicati in un magazzino centrale per la spedizione. Il nodo periferico può elaborare dati in sola lettura e richiedere aggiornamenti regolari.
- Mista (Blend/Merge): Permette a più siti di lavorare in linea o non in linea in modo indipendente. Successivamente, le modifiche vengono sincronizzate in un unico risultato uniforme. I dati vengono sincronizzati tra i server in momenti programmati o su richiesta. Esempio: Un database per i precedenti penali dove ogni comune ha una copia regionale che deve essere permanentemente collegata all'ente centrale.
Fattori Determinanti
- Autonomia: Misura la capacità di un sito di funzionare anche quando è scollegato dal database dell'editore.
- Coerenza Transazionale: Determina se un sito deve eseguire tutte le transazioni esattamente come sono avvenute sul server o se è sufficiente rispettarne l'ordine cronologico.
- Latenza: Si riferisce al tempo necessario per sincronizzare le copie dei dati. È fondamentale stabilire se i dati debbano essere sincronizzati al 100% in tempo reale.
Conclusioni
In definitiva, la replica è uno strumento essenziale per migliorare la disponibilità. Nel caso estremo, si parla di database distribuito completamente replicato. Questa configurazione prevede una copia completa del database in ogni sito del sistema distribuito, garantendo la massima disponibilità: il sistema continua a funzionare finché resta attivo almeno uno dei server. Lo svantaggio principale è rappresentato dall'elevato costo necessario per mantenere la coerenza delle copie in ogni sito.