Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Uso delle repliche di lettura dell'istanza database
Una replica di lettura è una copia di sola lettura di un'istanza database. È possibile ridurre il carico sull'istanza database primaria instradando le query dalle applicazioni alla replica di lettura. In questo modo, è possibile impiegare la scalabilità orizzontale in modo elastico oltre i vincoli di capacità di una singola istanza database per carichi di lavoro di database particolarmente gravosi in lettura.
Per creare una replica di lettura da un'istanza DB di origine, Amazon RDS utilizza le funzionalità di replica integrate del motore DB. Per informazioni sull'uso di repliche di lettura con un motore specifico, consulta le sezioni seguenti:
Dopo aver creato una replica di lettura da un'istanza database di origine, l'origine diventa l'istanza database primaria. Quando effettui aggiornamenti all'istanza DB principale, Amazon li RDS copia in modo asincrono nella replica di lettura. Il diagramma seguente mostra un'istanza database di origine replicata su una replica di lettura in una zona di disponibilità (AZ) diversa. I client hanno accesso in lettura/scrittura all'istanza DB principale e accesso in sola lettura alla replica.
Le repliche di lettura vengono fatturate come istanze DB standard alle stesse tariffe della classe di istanze DB utilizzata per la replica. Non ti viene addebitato alcun costo per il trasferimento dei dati necessario per la replica dei dati tra l'istanza DB di origine e una replica di lettura all'interno della stessa. Regione AWS Per ulteriori informazioni, consulta Costi della replica tra regioni e Fatturazione delle istanze DB per Amazon RDS DB Fatturazione delle istanze di Amazon.
Argomenti
Panoramica delle repliche di RDS lettura di Amazon
Le seguenti sezioni trattano le repliche di lettura delle istanze database. Per informazioni sull'aggiunta di repliche di lettura a un cluster Multi-AZ, consulta Utilizzo di repliche di lettura del cluster DB Multi-AZ per Amazon RDS.
Argomenti
- Casi d'uso per le repliche di lettura
- Funzionamento delle repliche di lettura
- Repliche di lettura in una implementazione multi-AZ
- Repliche di lettura tra regioni diverse
- Differenze tra repliche di lettura per i motori DB
- Tipi di archiviazione della replica di lettura
- Restrizioni per la creazione di una replica da una replica
- Considerazioni su quando eliminare le repliche
Casi d'uso per le repliche di lettura
La distribuzione di una o più repliche di lettura per un'istanza database di origine specifica può essere una scelta logica in svariati scenari, inclusi i seguenti:
-
Dimensionamento oltre la capacità di calcolo o di I/O di una singola istanza database per carichi di lavoro di database gravosi in lettura. Puoi indirizzare questo traffico in lettura in eccesso a una o più repliche di lettura.
-
Assegnazione di traffico in lettura mentre l'istanza DB di origine non è disponibile. In alcuni casi, l'istanza database di origine potrebbe non riuscire a ricevere richieste di I/O, ad esempio a causa della sospensione delle operazioni di I/O in occasione dell'esecuzione di backup o della manutenzione pianificata. In questi casi puoi indirizzare il traffico in lettura verso le repliche di lettura. Per questo caso d'uso, tieni presente che i dati nella replica di lettura potrebbero restare non aggiornati, perché l'istanza database di origine non è disponibile.
-
Scenari di creazione di report o di data warehousing in cui potrebbe essere necessario eseguire query per la creazione di report aziendali su una replica di lettura invece che sull'istanza DB di produzione principale.
-
Implementazione del disaster recovery. Puoi promuovere una replica di lettura a un'istanza standalone come soluzione di disaster recovery in caso di errore dell'istanza database primaria.
Funzionamento delle repliche di lettura
Quando crei una replica di lettura, devi prima di tutto specificare un'istanza database esistente come origine. Quindi Amazon RDS scatta uno snapshot dell'istanza di origine e crea un'istanza di sola lettura a partire dallo snapshot. Amazon utilizza RDS quindi il metodo di replica asincrona per il motore DB per aggiornare la replica di lettura ogni volta che viene apportata una modifica all'istanza DB primaria.
La replica di lettura opera come istanza database che permette solo connessioni di sola lettura. Un'eccezione è rappresentata dal motore RDS Oracle DB, che supporta i database di replica in modalità montata. Una replica montata non accetta connessioni utente e quindi non può gestire un carico di lavoro di sola lettura. L'uso principale per le repliche montate è il disaster recovery tra regioni. Per ulteriori informazioni, consulta Utilizzo di repliche di lettura per Amazon RDS per Oracle.
Le applicazioni si connettono a una replica di lettura allo stesso modo in cui si connettono a qualsiasi istanza database. Amazon RDS replica tutti i database dall'istanza DB di origine.
Repliche di lettura in una implementazione multi-AZ
È possibile configurare una replica di lettura per un'istanza database che dispone anche di una replica in standby configurata per l'elevata disponibilità in un'implementazione Multi-AZ. La replica con la replica in standby è sincrona. A differenza di una replica di lettura, una replica in standby non può gestire il traffico di lettura.
Nel seguente scenario, i client hanno accesso in lettura/scrittura a un'istanza database primaria in una zona di disponibilità (AZ). L'istanza primaria copia gli aggiornamenti in modo asincrono su una replica di lettura in una seconda zona di disponibilità e li copia anche in modo sincrono su una replica in standby in una terza zona di disponibilità. I client hanno accesso in lettura solo alla replica di lettura.
Per ulteriori informazioni sull’elevata disponibilità e sulle repliche in standby, consulta Configurazione e gestione di una distribuzione Multi-AZ per Amazon RDS.
Repliche di lettura tra regioni diverse
In alcuni casi, una replica di lettura risiede in un'istanza DB diversa Regione AWS da quella principale. In questi casi, Amazon RDS configura un canale di comunicazione sicuro tra l'istanza database principale e la replica di lettura. Amazon RDS stabilisce tutte le configurazioni AWS di sicurezza necessarie per abilitare il canale sicuro, ad esempio l'aggiunta di voci ai gruppi di sicurezza. Per informazioni sulle repliche di lettura tra regioni, consulta Creazione di una replica di lettura in un altro Regione AWS.
Le informazioni contenute in questo capitolo si applicano alla creazione di repliche di RDS lettura Amazon nella Regione AWS stessa istanza DB di origine o in un'istanza database separata Regione AWS. Le seguenti informazioni non si applicano alla configurazione della replica con un'istanza in esecuzione su un'EC2istanza Amazon o locale.
Differenze tra repliche di lettura per i motori DB
Poiché i motori Amazon RDS DB implementano la replica in modo diverso, ci sono diverse differenze significative che dovresti conoscere, come illustrato nella tabella seguente.
Caratteristica o comportamento | My SQL e MariaDB | Oracle | Postgres SQL | SQLServer |
---|---|---|---|---|
Qual è il metodo di replica? |
Replica logica. |
Replica fisica. |
Replica fisica. |
Replica fisica. |
Come vengono rimossi i log delle transazioni? |
RDSper My SQL e RDS per MariadB conserva tutti i log binari che non sono stati applicati. |
Se un'istanza DB primaria non ha repliche di lettura interregionali, Amazon RDS for Oracle conserva almeno due ore di log delle transazioni sull'istanza DB di origine. I log vengono eliminati dall'istante database sorgente dopo due ore o dopo il periodo di tempo impostato con l'opzione, a seconda di quale risulta maggiore. I log vengono eliminati dalla replica di lettura dopo il periodo di tempo impostato con l'opzione solo se questi sono stati applicati correttamente al database. In alcuni casi, un'istanza database primaria potrebbe avere una o più repliche di lettura tra regioni. In tal caso, Amazon RDS for Oracle conserva i log delle transazioni sull'istanza DB di origine fino a quando non vengono trasmessi e applicati a tutte le repliche di lettura interregionali. Per informazioni sull'impostazione delle ore di conservazione dei log di archivio, consulta Conservazione dei log redo archiviati. |
Postgre SQL ha il parametro |
Il Virtual Log File (VLF) del file di registro delle transazioni sulla replica primaria può essere troncato dopo che non è più necessario per le repliche secondarie. VLFPuò essere contrassegnato come inattivo solo quando i record di registro sono stati rafforzati nelle repliche. Indipendentemente dalla velocità dei sottosistemi di dischi nella replica principale, il log delle transazioni rimarrà invariato VLFs fino a quando non sarà stato protetto dalla replica più lenta. |
Una replica può essere resa scrivibile? |
Sì. Puoi abilitare la replica di lettura My SQL o MariaDB in modo che sia scrivibile. |
No. Una replica di lettura di Oracle è una copia fisica e Oracle non consente di scrivere su una replica di lettura. Puoi promuovere la replica di lettura per renderla scrivibile. La replica di lettura promossa contiene i dati replicati fino al momento in cui è stata effettuata la richiesta di promozione. |
No. Una replica di SQL lettura di Postgre è una copia fisica e Postgre SQL non consente di rendere scrivibile una replica di lettura. |
No. Una replica di lettura su SQL Server è una copia fisica e inoltre non consente la scrittura. Puoi promuovere la replica di lettura per renderla scrivibile. La replica di lettura promossa contiene i dati replicati fino al momento in cui è stata effettuata la richiesta di promozione. |
Possono essere eseguiti backup sulla replica? |
Sì. I backup automatici e le istantanee manuali sono supportati nelle repliche RDS di lettura My SQL o RDS MariaDB. |
Sì. I backup automatici e le istantanee manuali sono supportati nelle repliche di lettura Oracle. RDS |
Sì, è possibile creare un'istantanea manuale delle repliche di lettura di RDS Postgre. SQL I backup automatici per le repliche di lettura sono supportati solo RDS per SQL Postgre 14.1 e versioni successive. Non è possibile attivare i backup automatici per le repliche di SQL lettura di Postgre per le versioni di Postgre precedenti alla 14.1. RDS SQL RDSPer Postgre SQL 13 e versioni precedenti, crea un'istantanea da una replica di lettura se desideri farne un backup. |
No. I backup automatici e le istantanee manuali non sono supportati nelle repliche RDS di lettura SQL del server. |
È possibile usare la replica parallela? |
Sì. Tutte le versioni MariadB e SQL My supportate consentono thread di replica parallela. |
Sì. I dati dei log di Redo vengono sempre trasmessi in parallelo dal database primario a tutte le sue repliche di lettura. |
No. Postgre SQL ha un unico processo per la gestione della replica. |
Sì. I dati dei log di Redo vengono sempre trasmessi in parallelo dal database primario a tutte le sue repliche di lettura. |
È possibile mantenere una replica in uno stato montato piuttosto che in uno stato di sola lettura? |
No. |
Sì. L'uso principale per le repliche montate è il disaster recovery tra regioni. Non è richiesta una licenza Active Data Guard per le repliche montate. Per ulteriori informazioni, consulta Utilizzo di repliche di lettura per Amazon RDS per Oracle. |
No. |
No. |
Tipi di archiviazione della replica di lettura
Per impostazione predefinita, la replica di lettura viene creata con lo stesso tipo di storage dell'istanza database di origine. Tuttavia, puoi creare una replica di lettura con un tipo di storage diverso dall'istanza database di origine in base alle opzioni elencate nella tabella seguente.
Tipo di storage dell'istanza database di origine | Storage allocato all'istanza database di origine | Opzioni per il tipo di storage della replica di lettura |
---|---|---|
Fornito IOPS | 100 GiB–64 TiB | FornitoIOPS, per uso generico, magnetico |
Uso generico | 100 GiB–64 TiB | FornitoIOPS, per uso generale, magnetico |
Uso generico | <100 GiB | Per uso generico, magnetico |
Magnetico | Da 100 GiB a 6 TiB | FornitoIOPS, per uso generale, magnetico |
Magnetico | <100 GiB | Per uso generico, magnetico |
Nota
Quando si aumenta lo storage allocato di una replica di lettura, deve essere di almeno il 10%. Se si prova ad aumentarlo di un valore inferiore al 10%, verrà visualizzato un errore.
Restrizioni per la creazione di una replica da una replica
Amazon RDS non supporta la replica circolare. Non puoi configurare un'istanza database perché funga da origine della replica per un'istanza database esistente. Puoi creare una nuova replica di lettura solo a partire da un'istanza database esistente. Ad esempio, se MySourceDBInstance
si replica su ReadReplica1
, non puoi configurare ReadReplica1
affinché si replichi a sua volta su MySourceDBInstance
.
RDSPer MariaDB e for SQL My RDS e per alcune versioni di per SQL Postgre, puoi creare una replica RDS di lettura da una replica di lettura esistente. Ad esempio, puoi creare una nuova replica di lettura ReadReplica2
dalla replica esistente ReadReplica1
. Per Oracle e RDS RDS for SQL Server, non è possibile creare una replica di lettura da una replica di lettura esistente.
Considerazioni su quando eliminare le repliche
Se non sono più necessarie repliche di lettura, è possibile eliminarle in modo esplicito utilizzando gli stessi meccanismi per l'eliminazione di un'istanza DB. Se elimini un'istanza DB di origine senza eliminarne le repliche di lettura nella stessa Regione AWS, ogni replica di lettura viene promossa a istanza DB autonoma. Per informazioni sulla creazione di un'istanza database, consulta Eliminazione di un'istanza database. Per informazioni sulla promozione della replica in lettura, vedere Promozione di una replica di lettura a istanza database standalone.
Se si dispone di repliche di lettura tra regioni, consulta Considerazioni relative alla replica tra regioni per informazioni correlate all'eliminazione dell'istanza database di origine per una replica di lettura tra regioni.