Prestazioni di scrittura migliorate con Scritture ottimizzate per Amazon RDS per MariaDB
Puoi migliorare le prestazioni delle transazioni di scrittura con Scritture ottimizzate per RDS per MariaDB. Quando il database RDS per MariaDB utilizza Scritture ottimizzate per Amazon RDS, può raggiungere una velocità di trasmissione effettiva delle transazioni di scrittura fino a due volte superiore.
Argomenti
Panoramica di RDS Optimized Writes
Quando attivi Scritture ottimizzate per RDS, i database RDS per MariaDB scrivono solo una volta, quando trasferiscono i dati nell'archiviazione durevole senza la necessità del buffer di doppia scrittura. I database continuano a fornire le protezioni delle proprietà ACID per le transazioni di database affidabili, insieme alle prestazioni migliorate.
I database relazionali, come MariaDB, forniscono le proprietà ACID di atomicità, consistenza, isolamento e durabilità per le transazioni di database affidabili. Per fornire queste proprietà, MariaDB utilizza un'area di archiviazione di dati chiamata buffer di doppia scrittura che impedisce gli errori di scrittura parziale della pagina. Questi errori si verificano nel caso di un guasto hardware mentre il database sta aggiornando una pagina, ad esempio in caso di interruzione dell'alimentazione. Un database MariaDB può rilevare le scritture parziali della pagina e recuperarle con una copia della pagina nel buffer di doppia scrittura. Sebbene questa tecnica fornisca protezione, comporta anche operazioni di scrittura aggiuntive. Per ulteriori informazioni sul buffer di doppia scrittura MariaDB, consulta l'argomento relativo al buffer di doppia scrittura
Quando attivi Scritture ottimizzate per Amazon RDS, i database RDS per MariaDB scrivono una sola volta, quando trasferiscono i dati nell'archiviazione durevole senza usare il buffer di doppia scrittura. Scritture ottimizzate per Amazon RDS è utile se esegui carichi di lavoro intensivi in scrittura sui database RDS per MariaDB. Esempi di database con carichi di lavoro intensivi in scrittura includono quelli che supportano pagamenti digitali, trading finanziario e applicazioni di gioco.
Questi database vengono eseguiti in classi di istanza database che utilizzano AWS Nitro System. Grazie alla configurazione hardware di questi sistemi, il database può scrivere pagine da 16 KiB direttamente su file di dati in modo affidabile e durevole in un solo passaggio. AWS Nitro System permette di usare RDS Optimized Writes.
Puoi impostare il nuovo parametro di database rds.optimized_writes per controllare la funzionalità Scritture ottimizzate per Amazon RDS per i database RDS per MariaDB. Accedi a questo parametro nei gruppi di parametri database RDS per MariaDB aventi le seguenti versioni:
-
Tutte le versioni secondarie della versione 11.8 e le versioni principali successive disponibili
-
11.4.3 e versioni successive alla 11.4
-
10.11.4 e versioni successive alla 10.11
-
10.6.10 e versioni successive alla 10.6
Imposta il parametro su uno dei seguenti valori:
-
AUTO- Attiva RDS Optimized Writes se la funzionalità è supportata dal database. In caso contrario, disattiva RDS Optimized Writes. Questa è l'impostazione di default. -
OFF- Disattiva RDS Optimized Writes anche la funzionalità è supportata dal database.
Se esegui la migrazione di un database RDS per MariaDB configurato per utilizzare Scritture ottimizzate per Amazon RDS in una classe di istanza database che non supporta la funzionalità, RDS disattiva automaticamente Scritture ottimizzate per Amazon RDS per il database.
Quando la funzionalità Scritture ottimizzate per Amazon RDS è disattivata, il database utilizza il buffer di doppia scrittura MariaDB.
Per determinare se un database RDS per MySQL utilizza Scritture ottimizzate per Amazon RDS, osserva il valore corrente del parametro innodb_doublewrite per il database. Se il database utilizza RDS Optimized Writes, questo parametro è impostato su FALSE (0).
Utilizzo di RDS Optimized Writes
È possibile attivare Scritture ottimizzate per Amazon RDS quando si crea un database RDS per MariaDBcon la console RDS, la AWS CLI o l'API RDS. La funzionalità RDS Optimized Writes viene attivata automaticamente quando si verificano entrambe le seguenti condizioni durante la creazione del database:
-
Si specificano una versione del motore di database e una classe di istanza database che supportano RDS Optimized Writes.
-
La funzionalità Scritture ottimizzate per Amazon RDS è supportata nelle seguenti versioni di RDS per MariaDB:
-
Tutte le versioni secondarie della versione 11.8 e le versioni principali successive disponibili
-
11.4.3 e versioni successive alla 11.4
-
10.11.4 e versioni successive alla 10.11
-
10.6.10 e versioni successive alla 10.6
Per ulteriori informazioni sulle versioni di RDS per MariaDB, consulta Versioni di MariaDB in Amazon RDS.
-
-
La funzionalità Scritture ottimizzate per Amazon RDS è supportata per i database RDS per MariaDB che utilizzano le seguenti classi di istanza database:
-
db.m7i
-
db.m7g
-
db.m6g
-
db.m6gd
-
db.m6i
-
db.m5
-
db.m5d
-
db.r7i
-
db.r7g
-
db.r6g
-
db.r6gd
-
db.r6i
-
db.r5
-
db.r5b
-
db.r5d
-
db.x2idn
-
db.x2iedn
Per informazioni sulle classi di istanza database, consulta Classi di istanze database .
La disponibilità della classe di istanze DB è diversa nelle varie Regioni AWS. Per determinare se una classe di istanza DB è supportata in una Regione AWS specifica, consulta Determinazione del supporto delle classi di istanza database nelle Regioni AWS.
-
-
-
Nel gruppo di parametri associato al database, il parametro
rds.optimized_writesè impostato suAUTO. Nei gruppi di parametri predefiniti, questo parametro è sempre impostato suAUTO.
Se vuoi utilizzare una versione del motore di database e una classe di istanza database che supportino Scritture ottimizzate per Amazon RDS, senza usare questa funzionalità, specifica un gruppo di parametri personalizzato durante la creazione del database. In questo gruppo di parametri, imposta il parametro rds.optimized_writes su OFF. Se si desidera che il database utilizzi RDS Optimized Writes in un secondo momento, è possibile impostare il parametro su AUTO per attivarlo. Per informazioni sull'utilizzo dei gruppi di parametri personalizzati e sull'impostazione dei parametri, consulta Gruppi di parametri per Amazon RDS.
Per informazioni sulla creazione di un'istanza database, consulta Creazione di un'istanza database Amazon RDS.
Quando usi la console RDS per creare un database RDS per MariaDB, puoi filtrare le versioni del motore di database e le classi di istanza database che supportano Scritture ottimizzate per Amazon RDS. Dopo aver attivato i filtri, puoi scegliere tra le versioni del motore di database e le classi di istanza database disponibili.
Per scegliere una versione del motore di database che supporti Scritture ottimizzate per Amazon RDS, filtra le versioni del motore di database RDS per MariaDB che supportano la funzionalità in Versione motore, quindi scegli una versione.
Nella sezione Instance configuration (Configurazione dell'istanza), filtra le classi di istanza database che supportano RDS Optimized Writes, quindi scegli una classe di istanza database.
Dopo aver effettuato queste selezioni, puoi scegliere altre impostazioni che soddisfano i tuoi requisiti e completare la creazione del database RDS per MariaDB con la console.
Per creare un’istanza database utilizzando la AWS CLI, esegui il comando create-db-instance. Assicurati che i valori --engine-version e --db-instance-class supportino RDS Optimized Writes. Inoltre, assicurati che il gruppo di parametri associato all'istanza database abbia il parametro rds.optimized_writes impostato su AUTO. Questo esempio associa il gruppo di parametri predefinito all'istanza database.
Esempio Creazione di un'istanza database che utilizza RDS Optimized Writes
Per Linux, macOS o Unix:
aws rds create-db-instance \ --db-instance-identifiermydbinstance\ --engine mariadb \ --engine-version10.6.10\ --db-instance-classdb.r5b.large\ --manage-master-user-password \ --master-usernameadmin\ --allocated-storage200
Per Windows:
aws rds create-db-instance ^ --db-instance-identifiermydbinstance^ --engine mariadb ^ --engine-version10.6.10^ --db-instance-classdb.r5b.large^ --manage-master-user-password ^ --master-usernameadmin^ --allocated-storage200
È possibile creare un'istanza database utilizzando l'operazione CreateDBInstance. Quando utilizzi questa operazione, assicurati che i valori EngineVersion e DBInstanceClass supportino RDS Optimized Writes. Inoltre, assicurati che il gruppo di parametri associato all'istanza database abbia il parametro rds.optimized_writes impostato su AUTO.
Abilitazione delle scritture ottimizzate per RDS in un database esistente
Per modificare un database RDS per MariaDB esistente per attivare Scritture ottimizzate per RDS, il database deve essere stato creato con una versione del motore di database e una classe di istanza database supportate. Inoltre, il database deve essere stato creato dopo il rilascio di Scritture ottimizzate per RDS del 7 marzo 2023, poiché la configurazione del file system sottostante richiesta è incompatibile con quella dei database creati prima del rilascio. Se queste condizioni sono soddisfatte, è possibile attivare Scritture ottimizzate per RDS impostando il parametro rds.optimized_writes su AUTO.
Se il database non è stato creato con una versione del motore, una classe di istanza o una configurazione del file system supportate, puoi utilizzare le implementazioni blu/verde di RDS per migrare a una configurazione supportata. Durante la creazione dell'implementazione blu/verde, esegui le seguenti operazioni:
-
Seleziona Abilita le scritture ottimizzate sul database verde, quindi specifica una versione del motore e una classe di istanza database che supportano e scritture ottimizzate RDS. Per l'elenco delle versioni di motore e delle classi di istanza supportate, consulta Utilizzo di RDS Optimized Writes.
-
In Archiviazione scegli Aggiorna la configurazione del file system di archiviazione. Questa opzione aggiorna il database a una configurazione del file system sottostante compatibile.
Se quando crei l'implementazione blu/verde il parametro rds.optimized_writes è impostato su AUTO, Scritture ottimizzate per RDS viene abilitato automaticamente nell'ambiente verde. Quindi puoi eseguire lo switchover all'implementazione blu/verde, che rende l'ambiente verde il nuovo ambiente di produzione.
Per ulteriori informazioni, consulta Creazione di un’implementazione blu/verde in Amazon RDS.
Limitazioni per RDS Optimized Writes
Quando si ripristina un database RDS per MariaDB da uno snapshot, è possibile attivare Scritture ottimizzate per Amazon RDS per il database solo se si verificano tutte le seguenti condizioni:
-
Lo snapshot è stato creato da un database che supporta RDS Optimized Writes.
-
Lo snapshot è stato creato da un database creato dopo il rilascio della funzionalità Scritture ottimizzate per Amazon RDS.
-
Lo snapshot è stato ripristinato in un database che supporta RDS Optimized Writes.
-
Il database ripristinato è associato a un gruppo di parametri con il parametro
rds.optimized_writesimpostato suAUTO.