Questa pagina fornisce una panoramica della persistenza RDB (Redis Database) su Memorystore for Redis Cluster.
Per scoprire come attivare, disattivare e monitorare la persistenza RDB, consulta Gestire la persistenza.
Per informazioni sulle best practice per la persistenza RDB, consulta Best practice per la persistenza.
La funzionalità di persistenza RDB protegge i tuoi dati salvando snapshot dei dati in uno spazio di archiviazione durevole. Scegli la frequenza di questi snapshot selezionando un intervallo compreso tra un minimo di 1 ora e un massimo di 24 ore. Se si verificano errori del nodo, i dati vengono recuperati anche nei casi in cui il failover non è possibile.
I nodi con repliche danno la priorità al recupero dei dati dalla replica. Tuttavia, se sia il nodo primario che la replica hanno esito negativo contemporaneamente, i nodi vengono ripristinati dall'ultimo snapshot.
La persistenza RDB non comporta costi aggiuntivi per la fatturazione dell'istanza. Questa funzionalità è ideale per i casi d'uso in cui è accettabile un piccolo grado di obsolescenza dei dati dopo il recupero. Poiché Memorystore utilizza gli snapshot per il recupero automatico, gli snapshot non sono disponibili per i ripristini manuali. Tieni presente che viene conservato solo lo snapshot riuscito più recente.
Memorystore for Redis Cluster supporta anche la persistenza AOF, ma devi scegliere la modalità di persistenza AOF o RDB, perché non possono essere attivate contemporaneamente. Per informazioni sulla scelta tra le due modalità di persistenza, vedi Panoramica della persistenza. Per la migliore disponibilità possibile, consigliamo di utilizzare un'istanza a disponibilità elevata oltre ad abilitare la persistenza.
Pianificazione degli snapshot
La pianificazione degli snapshot è determinata da due impostazioni: l'ora di inizio dello snapshot e l'intervallo dello snapshot. Gli intervalli che puoi impostare sono 1h
, 6h
, 12h
e
24h
. Ad esempio, se imposti l'ora di inizio alle 4:00 e l'intervallo a un'ora, gli snapshot iniziano alle 4:00 del giorno in cui vengono attivati e continuano ogni ora successiva.
Le pianificazioni degli snapshot vengono valutate nel fuso orario UTC, pertanto i fusi orari locali con spostamenti dell'ora legale subiranno modifiche alla pianificazione. Ad esempio, all'inizio e alla fine dell'ora legale negli Stati Uniti, gli orari di inizio locali dei job di pianificazione degli snapshot vengono spostati in avanti o indietro di un'ora se il tuo fuso orario rispetta le modifiche dell'ora legale.
Messa in pausa degli snapshot
Potresti riscontrare scenari in cui vuoi sospendere temporaneamente l'acquisizione di snapshot RDB per un determinato periodo di tempo. Ad esempio, per assicurarsi che non ci siano impatti sulle prestazioni durante eventi critici o per disattivare temporaneamente gli snapshot per risolvere i problemi di prestazioni.
Per mettere in pausa gli snapshot, devi impostare l'ora di inizio nel futuro. Se lo fai, l'ultimo snapshot viene conservato e utilizzato in caso di ripristino. Per riprendere gli snapshot, regola la pianificazione in modo che il prossimo snapshot venga eseguito quando vuoi. Per saperne di più sulla modifica delle pianificazioni degli snapshot, consulta Modificare l'intervallo degli snapshot RDB.
Comportamento di recupero
I nodi Memorystore for Redis Cluster eseguono il failover sulle repliche come meccanismo di recupero principale, anziché caricare da uno snapshot. Tuttavia, se un nodo non funziona e non può essere recuperato da una replica, viene recuperato da uno snapshot.
Coerenza dei dati durante il recupero
Se abilitata, la persistenza RDB fa del suo meglio per garantire che i backup vengano eseguiti all'intervallo specificato. Gli snapshot possono non riuscire per diversi motivi. Se lo snapshot non riesce consecutivamente in più intervalli, l'ultimo backup disponibile può essere arbitrariamente obsoleto.
Il caso peggiore di obsolescenza dei dati per un ripristino da uno snapshot è la somma dell'intervallo specificato dall'inizio dell'ultimo snapshot valido e del tempo necessario per salvare lo snapshot successivo nell'archiviazione. In caso di incidente di ripristino, utilizza la metrica rdb_save_ages
per visualizzare il periodo di tempo in cui i dati sono obsoleti.
Tempo di recupero
Se un nodo ha esito negativo e deve recuperare i dati da uno snapshot, non è disponibile durante il recupero. Il tempo di recupero dipende dalle dimensioni dello snapshot.
Errore snapshot
Viene eseguito immediatamente un nuovo tentativo per qualsiasi snapshot non riuscito con un backoff esponenziale da 5 a 300 secondi. Errori consecutivi degli snapshot aumentano l'obsolescenza dei dati in caso di recupero.
Recupero non riuscito
Gli errori di recupero sono rari, ma possono verificarsi. Se si verifica un errore di recupero, il nodo riprova ripetutamente finché il recupero non va a buon fine.
Snapshot di monitoraggio
È importante monitorare gli snapshot e impostare avvisi per gli snapshot non riusciti. Per informazioni sulle best practice per la persistenza RDB, consulta Best practice per la persistenza RDB. Gli snapshot non riusciti possono indicare nodi sovraccarichi che potrebbero continuare ad avere difficoltà a ripristinare lo snapshot.
Per un elenco delle metriche disponibili per il monitoraggio degli snapshot, consulta Metriche di persistenza.
Gestire l'impatto sulle prestazioni
Puoi monitorare l'impatto sulle prestazioni di uno snapshot sull'istanza Memorystore visualizzando le metriche disponibili tramite Cloud Monitoring, come l'utilizzo della CPU e della memoria.