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à.
Configurazione di Aurora SQL Postgre per l'inoltro di scrittura locale
Utilizzando le seguenti sezioni, puoi abilitare l'inoltro di scrittura locale per il tuo cluster Amazon Aurora SQL Postgre DB, configurare i livelli di coerenza e gestire le transazioni con l'inoltro di scrittura.
Abilitazione dell'inoltro di scrittura locale
Per impostazione predefinita, l'inoltro di scrittura locale non è abilitato per i cluster DB Aurora Postgre. SQL Abilitare l'inoltro di scrittura locale a livello di cluster, non a livello di istanza.
Utilizzando AWS Management Console, seleziona la casella di controllo Attiva l'inoltro di scrittura locale in Leggi l'inoltro di scrittura della replica quando crei o modifichi un cluster DB.
Per abilitare l'inoltro di scrittura locale con, utilizzate l'opzione. AWS CLI--enable-local-write-forwarding
Questa opzione funziona quando si crea un nuovo cluster database secondario tramite il comando create-db-cluster
. Inoltre, funziona quando si modifica un cluster database esistente tramite il comando modify-db-cluster
. È possibile disabilitare l'inoltro di scrittura locale utilizzando l'--no-enable-local-write-forwarding
opzione con questi stessi comandi. CLI
L'esempio seguente crea un cluster Aurora Postgre SQL DB con l'inoltro di scrittura locale abilitato.
aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \
--enable-local-write-forwarding
\ --engine aurora-postgresql \ --engine-version16.4
\ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1
Vengono quindi create istanze database di scrittura e lettura in modo da poter utilizzare l'inoltro di scrittura. Per ulteriori informazioni, consulta Creazione di un cluster database Amazon Aurora.
Per abilitare l'inoltro di scrittura locale tramite Amazon RDSAPI, imposta il EnableLocalWriteForwarding
parametro su. true
Questo parametro funziona quando si crea un nuovo cluster database secondario utilizzando l'operazione CreateDBCluster
. Funziona anche quando si modifica un cluster database esistente utilizzando l'operazione ModifyDBCluster
. Puoi disabilitare l'inoltro di scrittura locale impostando il parametro su. EnableLocalWriteForwarding
false
Abilitazione dell'inoltro locale di scrittura per le sessioni del database
Il parametro apg_write_forward.consistency_mode
è un parametro database e un parametro del cluster database che abilita l'inoltro di scrittura. È possibile specificareSESSION
, EVENTUAL
GLOBAL
, o OFF
per il livello di coerenza di lettura. Per ulteriori informazioni sui livelli di coerenza, consulta Coerenza e isolamento per l'inoltro di scrittura locale in Aurora Postgre SQL.
A questo parametro si applicano le seguenti regole:
-
Il valore predefinito è
SESSION
. -
L'inoltro locale della scrittura è disponibile solo se è
apg_write_forward.consistency_mode
impostato suEVENTUAL
SESSION
, o.GLOBAL
Questo parametro è rilevante solo nelle istanze di lettura di cluster DB con inoltro di scrittura locale abilitato. -
L'impostazione del valore su
OFF
disabilita l'inoltro locale della scrittura nella sessione.
Coerenza e isolamento per l'inoltro di scrittura locale in Aurora Postgre SQL
È possibile controllare il grado di coerenza di lettura su una replica di lettura. È possibile regolare il livello di coerenza di lettura per garantire che tutte le operazioni di scrittura inoltrate dalla sessione siano visibili nella replica di lettura prima di qualsiasi interrogazione successiva. È inoltre possibile utilizzare questa impostazione per garantire che le query sulla replica di lettura visualizzino sempre gli aggiornamenti più recenti dall'istanza DB di Writer. Ciò si verifica anche per quelli inviati da altre sessioni o altri cluster. Per specificare questo tipo di comportamento per l'applicazione, scegli il valore appropriato per il parametro a livello di sessione apg_write_forward.consistency_mode
. Il apg_write_forward.consistency_mode
parametro ha effetto solo sulle repliche di lettura che hanno l'inoltro di scrittura locale abilitato.
Nota
Per il parametro apg_write_forward.consistency_mode
, è possibile specificare i valori SESSION
, EVENTUAL
, GLOBAL
o OFF
. Per impostazione predefinita, il valore è impostato su SESSION
. L'impostazione del valore su OFF
disabilita l'inoltro della scrittura.
All'aumentare del livello di coerenza, l'applicazione impiega più tempo ad aspettare che le modifiche vengano propagate alle repliche di lettura. È possibile scegliere l'equilibrio tra una latenza inferiore e garantire che le modifiche apportate in altre posizioni siano completamente disponibili prima dell'esecuzione delle query.
Ogni impostazione della modalità di coerenza disponibile, produce un effetto come descritto di seguito:
SESSION
— Una sessione su una replica di lettura che utilizza l'inoltro di scrittura locale consente di visualizzare i risultati di tutte le modifiche apportate in quella sessione. Le modifiche sono visibili indipendentemente dal fatto che la transazione sia stata impegnata. Se necessario, la query attende che i risultati delle operazioni di scrittura inoltrate vengano replicati nell'istanza DB del lettore corrente. Non attende i risultati aggiornati delle operazioni di scrittura eseguite in altre sessioni all'interno del cluster DB corrente.EVENTUAL
— Una sessione su una replica di lettura che utilizza l'inoltro di scrittura locale potrebbe visualizzare dati leggermente obsoleti a causa del ritardo di replica. I risultati delle operazioni di scrittura nella stessa sessione non sono visibili finché l'operazione di scrittura non viene eseguita sull'istanza DB di Writer e replicata nella replica di lettura. La query non attende la disponibilità dei risultati aggiornati. Pertanto, potrebbe recuperare i dati meno recenti o i dati aggiornati, a seconda della tempistica delle istruzioni e della quantità di ritardo di replica.GLOBAL
— Una sessione su una replica di lettura visualizza le modifiche apportate da quella sessione. Inoltre, visualizza tutte le modifiche confermate sia dall'istanza Writer DB che da altre repliche di lettura. Ogni query potrebbe attendere un periodo che varia a seconda della quantità di ritardo della sessione. La query procede quando la replica di lettura contiene tutti up-to-date i dati salvati dall'istanza DB di scrittura, a partire dal momento in cui è iniziata la query.Nota
La modalità di coerenza globale influisce sulla latenza delle query eseguite all'interno di una sessione. Eseguirà un'attesa anche quando la sessione non ha inviato alcuna query di scrittura.
OFF
— L'inoltro locale delle scritture è disabilitato.
Nelle sessioni che utilizzano l'inoltro di scrittura, è possibile utilizzare solo i livelli di isolamento REPEATABLE READ
e READ COMMITTED
. Tuttavia, il livello di isolamento SERIALIZABLE
non è supportato.
Per ulteriori informazioni su tutti i parametri coinvolti nell'inoltro di scrittura, consulta Impostazioni predefinite dei parametri per l'inoltro della scrittura.
Modalità di accesso alle transazioni con inoltro di scrittura
Se la modalità di accesso alle transazioni è impostata su sola lettura, l'inoltro di scrittura locale non viene utilizzato. È possibile impostare la modalità di accesso in modalità di sola lettura e scrittura mentre si è connessi a un cluster DB e a una sessione con l'inoltro locale della scrittura abilitato.
Per ulteriori informazioni sulle modalità di accesso alle transazioni, vedere. SETTRANSACTION