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à.
Miglioramento delle prestazioni delle query RDS per Postgre con SQL Amazon RDS Optimized Reads
Puoi ottenere un'elaborazione più rapida delle query RDS per Postgre con SQL Amazon RDS Optimized Reads. Inoltre, un'RDSistanza SQL DB o un cluster DB Multi-AZ che utilizza RDS Optimized Reads possono ottenere un'elaborazione delle query fino al 50% più veloce rispetto a un'istanza che non la utilizza.
Argomenti
- Panoramica delle letture ottimizzate in RDS Postgre SQL
- Casi d'uso per letture RDS ottimizzate
- Le migliori pratiche per letture RDS ottimizzate
- Utilizzo di letture RDS ottimizzate
- Monitoraggio delle istanze DB che utilizzano letture ottimizzate RDS
- Limitazioni per le letture RDS ottimizzate in Postgre SQL
Panoramica delle letture ottimizzate in RDS Postgre SQL
Le letture ottimizzate sono disponibili di default RDS per SQL le versioni di Postgre 15.2 e successive, 14.7 e successive e 13.10 e successive.
Quando si utilizza un'istanza di RDS for Postgre SQL DB o un cluster DB Multi-AZ con RDS Optimized Reads attivata, si ottengono prestazioni di query fino al 50% più veloci utilizzando lo storage a livello di blocco locale basato su unità a stato solido () Non-Volatile Memory Express (). NVMe SSD È possibile ottenere un'elaborazione delle query più rapida posizionando le tabelle temporanee generate da Postgre nella memoria locale, in modo da ridurre il SQL traffico verso Elastic Block Storage () sulla rete. EBS
In PostgreSQL, gli oggetti temporanei vengono assegnati a uno spazio dei nomi temporaneo che viene eliminato automaticamente alla fine della sessione. Lo spazio dei nomi temporaneo durante l'eliminazione rimuove tutti gli oggetti dipendenti dalla sessione, inclusi gli oggetti qualificati dallo schema, come tabelle, funzioni, operatori o persino estensioni.
RDSPer PostgreSQL, il temp_tablespaces
parametro è configurato per quest'area di lavoro temporanea in cui sono archiviati gli oggetti temporanei.
Le seguenti query restituiscono il nome dello spazio dei nomi e la sua posizione.
postgres=> show temp_tablespaces;
temp_tablespaces --------------------- rds_temp_tablespace (1 row)
rds_temp_tablespace
È un tablespace configurato da RDS che punta alla memoria locale. NVMe Puoi sempre tornare allo EBS storage Amazon modificando questo parametro Parameter group
utilizzando il punto to AWS Management Console verso qualsiasi tablespace diverso da. rds_temp_tablespace
Per ulteriori informazioni, consulta sull'argomento relativo alla modifica dei parametri in un gruppo di parametri del database. È inoltre possibile utilizzare il SET comando per modificare il valore del temp_tablespaces
parametro a pg_default
livello di sessione utilizzando command. SET La modifica del parametro reindirizza l'area di lavoro temporanea ad Amazon. EBS Tornare ad Amazon EBS aiuta quando lo storage locale per l'RDSistanza o il cluster non è sufficiente per eseguire un'SQLoperazione specifica.
postgres=> SET temp_tablespaces TO 'pg_default';
SET
postgres=> show temp_tablespaces;
temp_tablespaces ------------------ pg_default
Casi d'uso per letture RDS ottimizzate
Di seguito sono riportati alcuni casi d'uso che possono trarre vantaggio dalla funzionalità Letture ottimizzate per Amazon RDS:
-
Query analitiche che includono Common Table Expressions (CTEs), tabelle derivate e operazioni di raggruppamento.
-
Repliche di lettura che gestiscono le query non ottimizzate per un'applicazione.
-
Query di reporting su richiesta o dinamiche con operazioni complesse come GROUP BY e ORDER BY che non sempre possono utilizzare indici appropriati.
-
Altri carichi di lavoro che utilizzano tabelle temporanee interne.
-
CREATE INDEX
oREINDEX
operazioni di ordinamento.
Le migliori pratiche per letture RDS ottimizzate
Utilizza le seguenti best practice per le letture RDS ottimizzate:
-
Aggiungi la logica dei tentativi per le query di sola lettura, nel caso in cui non riescano perché l'archivio dell'istanza è completo durante l'esecuzione.
-
Monitora lo spazio di archiviazione disponibile sull'instance store con la CloudWatch metrica
FreeLocalStorage
. Se l'archivio dell'istanza sta raggiungendo il limite a causa del carico di lavoro dell'istanza database o sul cluster database multi-AZ, modificare l'istanza database in modo da utilizzare una classe di istanza database più grande.
Utilizzo di letture RDS ottimizzate
Quando si esegue il provisioning di un'istanza SQL DB RDS per Postgre con una delle classi di istanze DB NVMe basate in una distribuzione di istanze DB Single-AZ, di un'istanza DB Multi-AZ o di un cluster DB Multi-AZ, l'istanza DB utilizza automaticamente le letture ottimizzate. RDS
Per ulteriori informazioni sulla distribuzione Multi-AZ, consulta. Configurazione e gestione di una distribuzione Multi-AZ per Amazon RDS
Per attivare le letture RDS ottimizzate, effettuate una delle seguenti operazioni:
-
Crea un'istanza SQL DB RDS for Postgree o un cluster DB Multi-AZ utilizzando una delle classi di istanze DB NVMe basate. Per ulteriori informazioni, consulta Creazione di un'istanza Amazon RDS DB.
-
Modifica un'istanza database esistente RDS per Postgre o un cluster SQL DB Multi-AZ per utilizzare una delle classi di istanze DB basate. NVMe Per ulteriori informazioni, consulta Modifica di un'istanza Amazon RDS DB.
RDSOptimized Reads è disponibile Regioni AWS ovunque siano supportate una o più classi di istanze DB con archiviazione locale NVMeSSD. Per ulteriori informazioni, consulta Classi di istanze DB .
Per tornare a un'istanza di lettura non ottimizzata, modifica la classe di RDS istanza DB dell'istanza o del cluster in una classe di RDS istanza simile che supporta solo EBS lo storage per i carichi di lavoro del database. Ad esempio, se la classe di istanza database corrente è db.r6gd.4xlarge, scegli db.r6g.4xlarge per tornare indietro. Per ulteriori informazioni, consulta Modificare un'istanza Amazon RDS DB.
Monitoraggio delle istanze DB che utilizzano letture ottimizzate RDS
È possibile monitorare le istanze DB che utilizzano RDS Optimized Reads utilizzando le seguenti metriche: CloudWatch
-
FreeLocalStorage
-
ReadIOPSLocalStorage
-
ReadLatencyLocalStorage
-
ReadThroughputLocalStorage
-
WriteIOPSLocalStorage
-
WriteLatencyLocalStorage
-
WriteThroughputLocalStorage
Queste metriche forniscono dati sullo storage e sul throughput disponibili nell'Instance Store. IOPS Per ulteriori informazioni su questi parametri, consulta Parametri a CloudWatch livello di istanza Amazon per Amazon RDS.
Per monitorare l'utilizzo corrente dello spazio di archiviazione locale, accedi al tuo database utilizzando la seguente query:
SELECT spcname AS "Name", pg_catalog.pg_size_pretty(pg_catalog.pg_tablespace_size(oid)) AS "size" FROM pg_catalog.pg_tablespace WHERE spcname IN ('rds_temp_tablespace');
Per ulteriori informazioni sui file temporanei e sul loro utilizzo, vedi Gestione dei file temporanei con Postgre. SQL
Limitazioni per le letture RDS ottimizzate in Postgre SQL
Le seguenti limitazioni si applicano alle letture RDS ottimizzate in Postgre: SQL
-
Le transazioni possono non riuscire quando l'archivio dell'istanza è pieno.