Le migrazioni sono spesso complesse e richiedono molto tempo. È possibile che dopo la migrazione dei dati e il passaggio, si verifichino problemi o prestazioni incoerenti.
Ti consigliamo di implementare meccanismi di riserva per evitare un impatto significativo in caso di errore durante la migrazione, in modo da poter tornare al database di origine con un tempo di riposo minimo.
La replica inversa ti consente di eseguire il fallback replicando i dati scritti su Spanner nel database di origine. Se devi eseguire il fallback, la replica inversa ti consente di indirizzare la tua applicazione al database di origine e continuare a soddisfare le richieste senza tempi di riposo significativi.
La procedura di replica inversa deve:
- Gestire le modifiche ai tipi di dati o ai contenuti.
- Annullare le trasformazioni eseguite durante la migrazione.
- Invia i dati alla destinazione appropriata, tenendo conto degli schemi di sharding nel database di origine.
Prendi in considerazione il seguente approccio di alto livello per creare un flusso di replica inversa:
- Leggi le modifiche che si verificano in Spanner.
- (Facoltativo) Disattiva la migrazione di Change Data Capture (CDC) in avanti prima di attivare la replica inversa.
- Poiché Spanner è un database distribuito, acquisisci e ordina temporaneamente tutte le modifiche prima di scrivere nel database di origine.
- Scrivi i dati nel database di origine.