Informazioni sull'importazione e sull'esportazione dei dati

Questa pagina spiega come funzionano le importazioni e le esportazioni in Memorystore for Redis.

La funzionalità di importazione ed esportazione utilizza la funzionalità nativa RDB snapshot di Redis per importare o esportare dati da un'istanza Memorystore for Redis. La il formato RDB nativo impedisce i vincoli e semplifica lo spostamento all'interno o all'esterno di Google Cloud. Uso dell'importazione e dell'esportazione Bucket Cloud Storage per archiviare i file RDB.

Il comportamento di un'istanza Memorystore for Redis durante l'esportazione è molto simile al comando BGSAVE in Redis open source. Importazioni di Memorystore for Redis da copiando il file RDB nella directory dei dati dell'istanza.

Per istruzioni su come importare ed esportare file RDB, consulta Importazione di dati in un'istanza Redis e Esportazione di dati da un'istanza Redis.

Comportamento dell'elemento di importazione

  • Per prestazioni ottimali, dovresti eseguire l'importazione dai bucket Cloud Storage nella stessa regione dell'istanza Redis.

  • L'istanza Redis non è disponibile durante un'operazione di importazione. La tua istanza diventa disponibile al termine dell'operazione di importazione.

  • Se un'importazione ha esito positivo, i dati esistenti nell'istanza vengono sovrascritti in base ai dati del file RDB.

  • Se per qualsiasi motivo l'importazione non riesce, l'istanza viene riportata online, ma i dati potrebbero essere stati completamente svuotati. Puoi riprovare l'importazione utilizzando lo stesso RDB o puoi utilizzare un altro file RDB per ripristinare i dati.

  • L'istanza Memorystore for Redis può importare file RDB dallo stesso Redis e da una versione Redis precedente, ma non può importare file RDB da una versione più recente.

  • Un'operazione di importazione può essere annullata, ma tieni presente che l'annullamento comporta il ripristino dell'istanza con uno svuotamento completo . Questo vale sia per le istanze del livello base che per quelle del livello Standard.

  • Un'istanza può importare backup solo da versioni precedenti di Redis. Un'istanza che esegue Redis 5.0 può importare un RDB esportato da Redis 4.0, ma che esegue Redis 4.0 non può importare un RDB da Redis 5.0.

Comportamento della funzionalità di esportazione

  • Puoi leggere e scrivere dati nell'istanza Redis durante un'operazione di esportazione. ma non potrai eseguire operazioni amministrative come la scalabilità, l'aggiornamento o configurando l'istanza.

  • L'istanza potrebbe registrare una maggiore latenza durante l'esportazione.

  • Per prestazioni ottimali, devi esportare i backup RDB in Bucket Cloud Storage situati nella stessa regione dell'istanza Redis.

  • Durante un'esportazione, il file RDB viene salvato in un bucket Cloud Storage del tuo scegliere.

  • Puoi annullare un'operazione di esportazione in qualsiasi momento. L'annullamento non influisce i dati o la disponibilità di un'istanza.

    • L’annullamento di un’esportazione elimina il file RDB che viene scritto nel bucket Cloud Storage e libera la memoria utilizzata da BGSAVE e il processo di sviluppo.
  • Un'esportazione può sovrascrivere un file esistente con lo stesso nome senza ulteriori autorizzazioni quando utilizzi la console Google Cloud. Per esportare su un modello esistente file con gcloud, l'account utente richiede storage.objects.delete autorizzazione.

Esportazione con carico di scrittura elevato

Se esegui un'esportazione durante un periodo di elevato carico di scrittura della memoria dell'istanza l'utilizzo può raddoppiare, causando la mancata riuscita dell'operazione di esportazione. Dovresti eseguire operazioni di esportazione durante i periodi di scarsa scrittura. Per monitorare I dati Redis sono archiviati nell'istanza. Puoi creare una dashboard per monitorare la memoria utilizzata e di monitorare le metriche sull'utilizzo della memoria dell'istanza con Cloud Monitoring.

L'esportazione di Memorystore for Redis utilizza la funzionalità BGSAVE di Redis per eseguire dei dati in un'istanza. Durante l'esecuzione di BGSAVE, Redis crea un nuovo fork processo figlio per acquisire lo snapshot. Redis utilizza la funzionalità copy-on-write durante questo processo.

Ciò significa che il fork iniziale alloca memoria in più minima, ma eventuali pagine modificati dal traffico in scrittura del server Redis. Pertanto, in in periodi di scritture elevate, nel peggiore dei casi, l'impronta di memoria di Redis raddoppia, causando la mancata riuscita dell'operazione di esportazione.

Esportazione durante un'operazione BGSAVE

Non puoi esportare mentre è in esecuzione un'operazione BGSAVE. Livello Standard A volte le istanze di Memorystore for Redis eseguono la risincronizzazione completa o "sincronizzazioni complete", per mantenere sincronizzate l'istanza principale e la replica. R la risincronizzazione completa usa il comando BGSAVE, che impedisce a Memorystore.

Per verificare se è in corso un'operazione BGSAVE, visualizza il Endpoint API redis.googleapis.com/persistence/rdb/bgsave_in_progress con Metrics Explorer.

Per visualizzare le metriche per una risorsa monitorata mediante Metrics Explorer, segui questi passaggi:

  1. Nella console Google Cloud, vai alla Pagina Esplora metriche:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.

  2. Nell'elemento Metrica, espandi il menu Seleziona una metrica e poi seleziona un tipo di risorsa e un tipo di metrica. Ad esempio, per tracciare un grafico sull'utilizzo della CPU macchina virtuale, segui questi passaggi:
    1. (Facoltativo) Per ridurre le opzioni del menu, inserisci parte del nome della metrica nel Barra dei filtri. Per questo esempio, inserisci utilization.
    2. Nel menu Risorse attive, seleziona Istanza VM.
    3. Nel menu Categorie di metriche attive, seleziona Istanza.
    4. Nel menu Metriche attive, seleziona Utilizzo CPU e poi fai clic su Applica.
  3. Per filtrare le serie temporali visualizzate, utilizza la Elemento Filtro:

  4. Per combinare le serie temporali, utilizza i menu nella Elemento di aggregazione: Ad esempio, per visualizzare l'utilizzo della CPU per le VM, in base alla zona, imposta il valore il primo menu su Media e il secondo menu su zone.

    Tutte le serie temporali vengono visualizzate nel primo menu dell'elemento Aggregation è impostato su Unaggregated (Non aggregato). Le impostazioni predefinite per l'elemento Aggregation sono determinati dal tipo di metrica selezionato.

In alternativa, puoi utilizzare i tuoi strumenti API a riga di comando.

Autorizzazioni richieste per l'importazione e l'esportazione

Un utente deve configurare autorizzazioni IAM sufficienti per eseguire l'importazione esporta i file RDB. La configurazione delle autorizzazioni più semplice prevede l'applicazione di Cloud i ruoli IAM Memorystore Redis Admin (Amministratore Memorystore) e Storage Admin (Amministratore archiviazione) per l'account utente. tuttavia questa configurazione potrebbe essere inappropriato per alcuni account utente perché concede loro autorizzazioni di creare, modificare o eliminare risorse a cui non dovrebbero avere accesso. Per Per istruzioni sull'impostazione di autorizzazioni minime, vedi Concessione di autorizzazioni limitate per l'importazione e l'esportazione.

Durata di importazioni ed esportazioni

La durata dell'importazione o dell'esportazione dipende dalle dimensioni dell'istanza e dalle dimensioni del set di dati nell'istanza. A seconda delle dimensioni, le importazioni e le esportazioni può richiedere da pochi minuti ad alcune ore.

Ad esempio, se importi o esporti un'istanza da 10 GB con 8 GB di memoria utilizzata, l'operazione può richiedere 5 minuti. Se importi o esporti un'istanza da 120 GB con 100 GB di memoria utilizzata. L'operazione può richiedere un'ora.

Interruzione di un'importazione o di un'esportazione

Per interrompere un'importazione o un'esportazione, consulta le seguenti pagine:

Monitoraggio dell'avanzamento dell'operazione

La stima del tempo per il completamento non è disponibile durante l'importazione e l'esportazione. Puoi verificare se l'operazione è in corso controllando l'istanza pagina dei dettagli. Per visualizzare la pagina dei dettagli dell'istanza, fai clic sull'ID istanza nella Elenco di istanze Memorystore for Redis .

Puoi anche monitorare l'avanzamento di un'operazione di importazione eseguendo il comando seguente comando:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Dove:

  • [INSTANCE_ID] è l'ID dell'istanza Memorystore for Redis.
  • [REGION] è la regione in cui si trova l'istanza.

Il comando restituisce state: IMPORTING o state: READY come uno dei descrizione.

Bucket Cloud Storage non supportati

I bucket Cloud Storage per i pagamenti a carico del richiedente non sono supportati per Importazioni ed esportazioni di Memorystore.

Protezione dei bucket Cloud Storage

Devi assicurarti che il tuo bucket Cloud Storage abbia le restrizioni corrette per impedire l'accesso non autorizzato al backup Redis RDB che contiene. Non dimenticare di apporre Fai riferimento alle opzioni di controllo dell'accesso di Cloud Storage. sulla protezione dei bucket Cloud Storage.

Garanzia di memoria sufficiente per completare un'esportazione

Per evitare che l'esportazione causi l'esaurimento della memoria, dovresti avere il 50% di spazio libero di memoria nell'istanza durante il processo di esportazione. Questa operazione potrebbe non essere obbligatoria per tutti tempo, a seconda del carico di scrittura, ma avere il 50% di memoria libera garantisce lo spazio libero sia sufficiente per coprire l'overhead della copia in scrittura, nel caso in cui siano presenti molte pagine durante il processo di esportazione.

Per comprendere l'utilizzo attuale della memoria dell'istanza, configura un avviso per ricevere una notifica quando la memoria utilizzata raggiunge una soglia personalizzabile. Inoltre, devi configurare una dashboard di monitoraggio della memoria con Cloud Monitoring. Queste misure ti consentono di comprendere le istanze schemi di utilizzo della memoria. La comprensione dei pattern di utilizzo della memoria consente dell'istanza in modo corretto durante l'esportazione a intervalli regolari.

Esportazione e importazione nelle istanze con repliche di lettura

Per tutte le istanze Redis, incluse quelle abilitate per la replica di lettura, i dati vengono esportate dal nodo primario.

Per le istanze abilitate per la lettura, l'esportazione può aumentare il carico della CPU e l'ingombro della memoria sul nodo primario.

Quando importi i dati in un'istanza abilitata per la replica di lettura, l'istanza principale si riavvia durante l'operazione di importazione e l'istanza non sarà disponibile finché i nuovi dati completamente caricato nel database.

Passaggi successivi