La replica è la possibilità di creare copie di un'istanza Cloud SQL e di scaricare il lavoro sulle copie.
Introduzione
Il motivo principale per cui utilizzare la replica è scalare l'utilizzo dei dati in un database senza degradare le prestazioni.
Altri motivi per la replica includono la migrazione dei dati tra regioni.
Inoltre, se un'istanza originale è danneggiata, una replica potrebbe essere promossa a istanza autonoma (in questo caso, le repliche esistenti non considererebbero quell'istanza come principale).
Quando si fa riferimento a un'istanza Cloud SQL, l'istanza che viene replicata è chiamata istanza principale e le copie sono chiamate repliche di lettura. L'istanza principale e le repliche di lettura si trovano tutte in Cloud SQL.
Quando viene creata la prima replica:
- L'istanza principale è impostata sul modello di recupero completo per tutti i database dell'istanza principale.
Viene creato un disco temporaneo e viene eseguito e archiviato un backup completo sul disco temporaneo. Il disco temporaneo viene eliminato al termine del processo di creazione della replica.
Se, nel periodo di tempo della prima creazione della replica, l'utente passa al modello di recupero semplice, la creazione della replica non va a buon fine.
Quanto segue si applica ai database aggiunti all'istanza principale dopo la creazione delle repliche:
- I database vengono aggiunti automaticamente ai gruppi di disponibilità e compilati nelle repliche utilizzando il seeding automatico.
- Ogni creazione di una replica richiama un backup completo (modello di recupero completo) dei database sull'istanza principale. Gli accessi e gli oggetti del server creati dopo la creazione della replica non vengono replicati.
Cloud SQL supporta i seguenti tipi di repliche:
Utilizzando l'applicazione dei connettori, puoi imporre l'utilizzo solo del proxy di autenticazione Cloud SQL o dei connettori dei linguaggi di Cloud SQL per connetterti alle istanze Cloud SQL. Con l'applicazione del connettore, Cloud SQL rifiuta le connessioni dirette al database. Non puoi creare repliche di lettura per un'istanza in cui è attiva l'applicazione dei connettori. Analogamente, se un'istanza ha repliche di lettura, non puoi attivare l'applicazione dei connettori per l'istanza.
Cloud SQL non supporta la replica tra due server esterni.
Repliche di lettura
Utilizza una replica di lettura per scaricare il lavoro da un'istanza Cloud SQL. La replica di lettura è una copia esatta dell'istanza principale. I dati e altre modifiche nell'istanza principale vengono aggiornati quasi in tempo reale nella replica di lettura.
Le repliche di lettura sono di sola lettura; non puoi scrivere al loro interno. La replica di lettura elabora query, richieste di lettura e traffico di analisi, riducendo così il carico sull'istanza principale. Puoi avere fino a 8 repliche di lettura per istanza principale.
Puoi connetterti a una replica direttamente utilizzando il nome della connessione e l'indirizzo IP. Se ti connetti a una replica utilizzando un indirizzo IP privato, non devi creare un'altra connessione privata VPC per la replica perché la connessione viene ereditata dall'istanza principale.
Per informazioni su come creare una replica di lettura, consulta Creazione di repliche di lettura. Per informazioni sulla gestione di una replica di lettura, consulta Gestione delle repliche di lettura.
Come best practice, posiziona le repliche di lettura in una zona diversa dall'istanza principale quando utilizzi l'HA sull'istanza principale. Questa pratica garantisce che le repliche di lettura continuino a funzionare quando si verifica un'interruzione nella zona contenente l'istanza principale. Per ulteriori informazioni, consulta la Panoramica dell'alta disponibilità.
Selezione di un tipo di macchina appropriato
Le repliche di lettura possono avere un tipo di macchina diverso da quello della principale. Devi monitorare le metriche della tua istanza, ad esempio l'utilizzo di CPU e memoria, per assicurarti che le dimensioni dell'istanza replica siano corrette per il relativo workload, soprattutto se è più piccola dell'istanza principale. Un'istanza replica di dimensioni ridotte è più soggetta a scarse prestazioni, ad esempio a frequenti eventi di esaurimento della memoria.
Repliche di lettura tra regioni
La replica tra regioni consente di creare una replica di lettura in una regione diversa dall'istanza principale. Puoi creare una replica di lettura tra regioni nello stesso modo in cui crei una replica all'interno della regione.
Nel caso delle repliche di lettura di SQL Server, si presume che la replica sia nella stessa rete virtuale della replica principale o che comunichi utilizzando l'IP pubblico.Repliche tra regioni:
- Migliora le prestazioni di lettura rendendo disponibili le repliche più vicine alla regione della tua applicazione.
- Fornisci funzionalità di ripristino di emergenza aggiuntive per proteggerti da un guasto regionale.
- Consente di eseguire la migrazione dei dati da una regione all'altra.
Per saperne di più sulle repliche tra regioni, consulta Promuovere le repliche per la migrazione a livello di area geografica o il ripristino di emergenza.
Repliche di lettura con struttura a cascata
La replica a cascata consente di creare una replica di lettura sotto un'altra replica di lettura nella stessa o in un'altra regione. Le repliche con struttura a cascata vengono implementate utilizzando gruppi di disponibilità distribuiti. Di seguito sono riportati alcuni casi d'uso per le repliche con struttura a cascata:
- Disaster recovery: puoi utilizzare una gerarchia a cascata di repliche di lettura per simulare la topologia dell'istanza principale e delle relative repliche di lettura. Durante un'interruzione, la replica di lettura selezionata viene promossa a principale e le repliche di lettura sotto la nuova principale continuano a essere replicate e sono pronte per l'uso. Quando diventa disponibile, il vecchio account principale diventa secondario del nuovo account principale e puoi tornare al vecchio account principale una volta recuperato utilizzando uno switchover. Per ulteriori informazioni sull'utilizzo delle repliche a cascata per il ripristino di emergenza, consulta Informazioni sul ripristino di emergenza.
- Miglioramento delle prestazioni: riduci il carico sull'istanza principale trasferendo il lavoro di replica a più repliche di lettura.
- Scala le letture: puoi avere più repliche per condividere il carico di lettura.
- Riduzione dei costi: puoi ridurre i costi di rete utilizzando una singola replica a cascata con replica tra regioni in altre regioni.
Terminologia
- Replica con gerarchia: una replica di lettura tra regioni che può essere utilizzata per le operazioni di switchover e failover della replica nel disaster ripristino di emergenza (RE) avanzato con Cloud SQL per SQL Server.
- Replica con struttura a cascata: una replica di lettura che può avere una propria replica.
- Livelli: puoi creare livelli di repliche in una gerarchia di repliche a cascata. Ad esempio, se aggiungi quattro repliche a un'istanza, queste quattro repliche sono allo stesso livello.
- Istanze sorelle: più repliche che si replicano dalla stessa istanza principale. I gruppi di replica fratelli si trovano allo stesso livello nella gerarchia delle repliche. Una replica può avere ufficialmente fino a otto elementi correlati.
- Replica finale: una replica di lettura che non ha repliche proprie. In una gerarchia di replica multilivello, la replica foglia è l'ultimo livello.
- Promuovi: un'azione che converte una replica, a qualsiasi livello della gerarchia, in un'istanza principale. Quando viene promossa, la gerarchia delle repliche a cascata della replica viene conservata.
Configura le repliche con struttura a cascata
Le repliche a cascata ti consentono di aggiungere repliche di lettura a qualsiasi replica esistente. Puoi aggiungere fino a quattro livelli di repliche, inclusa l'istanza principale. Quando promuovi la replica nella parte superiore di una gerarchia di repliche a cascata, diventa un'istanza principale e le relative repliche a cascata continuano a essere replicate.
Per ulteriori informazioni sulla configurazione dei gruppi di disponibilità distribuiti, consulta la sezione Configurare un gruppo di disponibilità distribuito Always On.
Limitazioni
- Non puoi eliminare una replica che ha repliche al suo interno. Per eliminare la replica, devi iniziare dalle repliche a foglia e procedere verso l'alto nella gerarchia.
- La dipendenza circolare delle regioni non è supportata. Per avere la replica di una replica a cascata nella stessa regione dell'istanza principale, anche la replica a cascata deve trovarsi nella stessa regione.
- Devi creare repliche a cascata in una regione diversa rispetto alla regione dell'istanza principale. Poi puoi creare repliche a cascata nella stessa regione della replica a cascata.
Casi d'uso della replica
I seguenti casi d'uso si applicano a ogni tipo di replica.
Nome | Principale | Replica | Vantaggi e casi d'uso | Ulteriori informazioni |
---|---|---|---|---|
Replica in lettura | Istanza Cloud SQL | Istanza Cloud SQL |
|
|
Replica di lettura tra regioni | Istanza Cloud SQL | Istanza Cloud SQL |
|
|
Replica di SQL Server | Istanza esterna a Cloud SQL | Instanza Cloud SQL per SQL Server |
|
Fatturazione
- Una replica di lettura viene addebitata alla stessa tariffa di un'istanza Cloud SQL standard. La replica dei dati non comporta alcun costo.
- I prezzi di una replica di lettura tra regioni sono gli stessi di quelli per la creazione di una nuova istanza Cloud SQL nella regione. Consulta la pagina Prezzi delle istanze Cloud SQL e seleziona la regione appropriata. Oltre al costo normale associato all'istanza, una replica tra regioni comporta addebiti per il trasferimento di dati tra regioni per i log di replica inviati dall'istanza principale all'istanza di replica, come descritto in Prezzi per il traffico in uscita dalla rete.
Riferimento rapido per le repliche di lettura Cloud SQL
Argomento | Discussione |
---|---|
Backup | Non puoi configurare i backup sulla replica. |
Core e memoria | Le repliche di lettura possono utilizzare un numero di core e una quantità di memoria diversi rispetto a quelli dell'istanza principale. |
Eliminazione dell'istanza principale | Prima di poter eliminare un'istanza principale, devi promuovere tutte le sue repliche di lettura a istanze autonome o eliminarle. |
Eliminazione della replica | L'eliminazione di una replica non influisce sullo stato dell'istanza principale. |
Eliminazione di un database replicato | Puoi eliminare un database SQL Server replicato utilizzando la console Google Cloud o il comando gcloud e l'eliminazione viene propagata automaticamente alle repliche. Non puoi eliminare un database SQL Server replicato utilizzando i comandi T-SQL. |
Failover | Un'istanza principale può eseguire il failover su una replica solo se si tratta di una replica di RE. Le repliche di lettura non sono in grado di eseguire il failover in alcun modo durante un'interruzione. |
Bilanciamento del carico | Cloud SQL non fornisce il bilanciamento del carico tra le repliche. |
Periodi di manutenzione | Le repliche di lettura condividono i periodi di manutenzione con l'istanza principale. Le repliche seguono le impostazioni di manutenzione dell'istanza principale, tra cui la finestra di manutenzione, la riprogrammazione e il periodo di manutenzione negato. Durante la manutenzione, Cloud SQL aggiorna prima tutte le repliche di lettura prima di aggiornare l'istanza principale. |
Più repliche di lettura | Puoi creare fino a otto repliche di lettura per una singola istanza principale. |
IP privato | Se ti connetti a una replica utilizzando un indirizzo IP privato, non devi creare un'ulteriore connessione privata VPC per la replica, poiché viene ereditata dall'istanza principale. |
Ripristino dell'istanza principale | Non puoi ripristinare l'istanza principale di una replica mentre la replica esiste. Prima di ripristinare un'istanza da un backup o di eseguire un recupero point-in-time, devi promuovere o eliminare tutte le relative repliche. |
Impostazioni | Le impostazioni dell'istanza principale vengono propagate alla replica, incluse le modifiche ai dati sugli utenti che possono accedere all'istanza. |
Interrompere una replica | Non puoi stop una replica. Puoi restart o
delete , ma non puoi interromperla come faresti con un'istanza principale. |
Eseguire l'upgrade di una replica | Le repliche di lettura possono subire un upgrade con interruzione in qualsiasi momento. |
Tabelle utente | Non puoi apportare modifiche alla replica. Tutte le modifiche degli utenti devono essere apportate nell'istanza principale. |
Limitazioni
Questa funzionalità si applica solo alle seguenti versioni di Cloud SQL per SQL Server:
- SQL Server 2017 Enterprise
- SQL Server 2019 Enterprise
- SQL Server 2022 Enterprise
Gli accessi non vengono propagati a una replica.
Devi monitorare la replica utilizzando T-SQL e/o SQL Server Management Studio.
Prima di eliminare un database, devi chiudere le connessioni al database.
Quando crei una replica, l'istanza principale non può contenere database in modalità monoutente. In caso contrario, la creazione della replica non riesce.
Passaggi successivi
- Scopri come creare una replica di lettura.
- Scopri come configurare un'istanza per l'alta disponibilità.