Cos’è la replica del database


Accesso ai dati senza replica

Immaginate di avere un’applicazione web che sta diventando popolare, questo aumenta notevolmente il volume dei dati e moltiplica il carico delle query. Questi segnali rendono il vostro database vulnerabile ai guasti.

Pensiamo, poi, ai costi associati a un’interruzione del servizio, che possono essere considerevolmente molto alti.

Da questo esempio, la necessità di continuità del servizio e di disponibilità del database diventa fondamentale.

Vediamo che l’accesso ai dati senza replica si traduce in:

  • Sopravvivenza del database.
  • Degradazione del tempo di risposta.
  • Alta tolleranza ai guasti.

Cos’è la replica del database?

Per assicurare la continuità del servizio delle applicazioni in caso di guasto o disastro, i dati devono essere replicati.

La replica è un processo di copia dei dati su più server.

I server replicati sono di due tipi: il master, che contiene i dati di riferimento, e lo slave, che ne trae le fonti.

La riproduzione consiste in un singolo server master e uno o più server slave. Mentre in teoria non c’è limite al numero di slave, in pratica i vincoli sono economici e fisici.

Ogni cambiamento di dati deve essere fatto sul master perché le informazioni possono fluire solo in un modo, dal master allo slave.

Attenzione: una replica non può essere considerata come un backup

Cos’è una replica sincrona?

Una replica può essere sincrona: un server A invia dati a un server B e deve aspettare che quest’ultimo finisca la sua elaborazione e lo avvisi inviando una conferma di ricezione, in modo da poter continuare. In caso di disastro in un sito, la perdita di dati è quindi minima o nulla.

Cos’è la replica asincrona?

Una replica può anche essere asincrona: in questo caso, il server A invia dati a un server B e non aspetta una risposta dal server B per continuare.

Come può la replica migliorare la tolleranza ai guasti?

Nel caso in cui il server attivo fallisca, l’applicazione può essere passata al server passivo. Questo assicura la continuità del servizio.

Come la replica può migliorare il bilanciamento del carico e i tempi di risposta?

Questa è la capacità di assumere un carico maggiore di richieste di lettura, distribuendolo su più slave. Nessun beneficio per le richieste di scrittura perché devono essere fatte tutte sul master.

Principio

Il principio della replica, che coinvolge almeno due DBMS, è abbastanza semplice e si svolge in tre fasi:

  1. Il database master riceve un ordine di aggiornamento (INSERT, UPDATE o DELETE).
  2. Le modifiche apportate ai dati vengono rilevate e memorizzate per la propagazione.
  3. Un processo di replica si occupa di propagare le modifiche da apportare a una seconda base cosiddetta slave. Naturalmente ci può essere più di una base schiava.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *