Che cos'è la replica dei dati?

In questa pagina verranno trattati i seguenti argomenti per aiutarvi a comprendere meglio la replica dei dati:

La replica dei dati è il processo di copia di uno o più record da un luogo a un altro. Questi luoghi possono essere molto simili (come la copia di file all'interno dello stesso database) o più distinti (come la copia di dati da un database a un altro). Il termine replica dei dati implica tipicamente il mantenimento dei dati aggiornati dall'origine alla destinazione, ma la velocità e il livello di automazione della replica possono avere un impatto sulla coerenza dei dati.

Termini della replica dei dati

Ecco un elenco di termini comuni che aiutano a comprendere la replica dei dati:

Unidirezionale contro bidirezionale: Una relazione unidirezionale significa che i dati fluiscono solo da un'origine a una destinazione. Una relazione bidirezionale significa che i dati fluiscono in entrambi i sensi.

Attivo-attivo contro attivo-passivo: Un attivo-attivo distribuisce uniformemente i carichi su tutti i nodi in ogni momento. Al contrario, un cluster attivo-passivo ha un nodo di backup che subentra solo se il nodo attivo è sovraccarico.

Sincrono e asincrono: La replica sincrona scrive simultaneamente i dati sul nodo primario e sulla replica. La replica asincrona scrive i dati prima sul nodo primario e poi li copia sulla replica.

Elaborazione in batch contro elaborazione in tempo reale: L'elaborazione batch raccoglie ed elabora i dati in gruppi o batch a intervalli programmati ed è tipicamente adatta alla gestione di grandi volumi di dati. L'elaborazione in tempo reale gestisce i dati nel momento in cui vengono generati o ricevuti, rendendola adatta ad applicazioni sensibili al fattore tempo.

Incrementale o completo: La replica incrementale dei dati significa replicare solo gli elementi aggiornati di un record. La replica completa dei dati significa replicare l'intero record quando i suoi elementi cambiano.

Filtrato: I dati provenienti da un'origine possono essere filtrati in modo da replicare a una destinazione solo un sottoinsieme o una selezione specifica dei dati.

Trasformato: La trasformazione dei dati è il processo di conversione dei dati da un formato o da una struttura a un'altra, in modo da ottenere il formato e la struttura corretti per l'analisi, il reporting o l'archiviazione nel luogo di destinazione.

Vantaggi della replica dei dati

La replica dei dati ha molti usi e benefici. Questi includono:

Alta disponibilità (HA): Il mantenimento di copie aggiornate dei dati in più posizioni evita la perdita di dati in caso di guasti. In genere, la replica in tempo reale è unidirezionale e avviene tra un'origine e una o più repliche. Se la sorgente diventa indisponibile, una delle repliche la sostituisce, spesso automaticamente.

Disaster recovery (DR): Strettamente correlato all'HA, il disaster recovery garantisce la disponibilità di copie dei dati in caso di disastro.

Scalare il throughput: Questo processo utilizza copie multiple di dati per aumentare la capacità di un sistema di gestire le richieste. Viene utilizzato in genere per il traffico di lettura e meno comunemente per il traffico di scrittura.

Accesso secondario: Conosciuta anche come indicizzazione, questa operazione comporta la replica dei dati in un altro sistema per accedervi in modo diverso. Il secondo sistema può trovarsi all'interno dello stesso database (nel caso dell'indicizzazione) o essere esterno. A seconda delle tecnologie in uso, un intermediario come Kafka è talvolta necessario per trasferire i dati tra una sorgente e un sistema esterno.

Nota: abbiamo intenzionalmente escluso il "backup" come vantaggio della replica dei dati, perché il backup non viene aggiornato con le modifiche. Un punto chiave da comprendere è che la replica dei dati è soggetta a corruzione o eliminazione dei dati a livello di applicazione, mentre i backup non lo sono. I backup non devono essere considerati un sostituto di HA o DR, né HA o DR devono sostituire i backup.

Sfide della replica dei dati

Con qualsiasi strategia di replica dei dati, sarà necessario effettuare dei compromessi tra:

  • Velocità
  • Consistenza, disponibilità e tolleranza alle partizioni (la Teorema della PAC)
  • Utilizzo e costo delle risorse (RAM, disco, CPU, rete)

Ad esempio:

  • Il mantenimento di più repliche aumenta la sicurezza dei dati in caso di interruzioni, ma comporta un maggiore utilizzo di risorse e costi. Lo stesso vale per la scalabilità delle letture con più repliche.
  • La replica sincrona può causare un rallentamento delle scritture dell'origine (o un fallimento totale). Tuttavia, la replica asincrona può comportare un maggiore utilizzo delle risorse se si scrivono i record più velocemente di quanto si riesca a replicarli. La replica asincrona introduce anche la possibilità di discrepanze tra i dati di origine e quelli di destinazione, indipendentemente dalla velocità o dall'affidabilità della tecnologia di replica.
  • La replica incrementale, filtrata e trasformata può comportare un minore utilizzo delle risorse di rete, ma questi tipi di replica tendono a funzionare più lentamente e richiedono una CPU più performante per l'origine.

Le best practice per la replica dei dati variano notevolmente a seconda dei requisiti del caso d'uso e delle capacità delle tecnologie utilizzate.

Replica dei dati in RDBMS

Ogni tecnologia di database offre diverse funzionalità e opzioni per la replica dei dati. Storicamente, i sistemi di gestione dei database relazionali (RDBMS) replicano i dati da un'istanza di database a un'altra attraverso il log shipping, che prevede l'invio dei dati da un'istanza di database a un'altra dopo la loro scrittura su disco. I database più recenti, come il Couchbase database NoSQL, replica i dati direttamente dalla RAM, aumentando notevolmente la velocità e l'affidabilità.

Conclusione

La replica dei dati è un concetto fondamentale alla base di molte funzionalità di database e la replica si presenta in molte forme diverse, con sfide e vantaggi differenti. La scelta della migliore replica dei dati per la vostra organizzazione dipende da ciò che dovete ottenere e dalle tecnologie che state utilizzando.

Utilizzate queste risorse per saperne di più sulla replica dei dati e sulle funzionalità di replica dei dati di Couchbase:

Guida alla replica dei dati nel cloud

Replica dei dati: Vantaggi e svantaggi

Replica e sincronizzazione dei dati in Couchbase

Replica tra centri dati (Couchbase Capella™)

Replica tra centri dati (Couchbase Server)

Servizi app Capella (BaaS)

Scopri il nostro hub del database per conoscere altri concetti chiave della gestione dei dati.