Amélioration des performances d'écriture avec Écritures optimisées pour RDS for MySQL - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amélioration des performances d'écriture avec Écritures optimisées pour RDS for MySQL

Vous pouvez améliorer les performances des transactions d'écriture avec l'option Écritures optimisées pour RDS for MySQL. Lorsque votre base de données RDS for MySQL utilise RDS Optimized Writes, elle peut atteindre un débit de transactions d'écriture jusqu'à deux fois supérieur.

Présentation de RDS Optimized Writes

Lorsque vous activez l'option Écritures optimisées pour RDS, vos bases de données RDS for MySQL n'écrivent qu'une seule fois lors du vidage des données dans un stockage durable sans avoir besoin du tampon à double écriture. Les bases de données continuent de protéger les propriétés ACID pour les transactions de base de données fiables, ainsi que des performances améliorées.

Les bases de données relationnelles, comme MySQL, fournissent les propriétés ACID d'atomicité, de cohérence, d'isolation et de durabilité pour des transactions de base de données fiables. Pour fournir ces propriétés, MySQL utilise une zone de stockage de données appelée tampon à double écriture qui empêche les erreurs d'écriture de page partielles. Ces erreurs se produisent en cas de panne matérielle alors que la base de données met à jour une page, par exemple en cas de panne de courant. Une base de données MySQL peut détecter les écritures de page partielles et récupérer une copie de la page dans le tampon à double écriture. Cette technique offre une protection, mais elle entraîne également des opérations d'écriture supplémentaires. Pour plus d'informations sur le tampon à double écriture MySQL, consultez Doublewrite Buffer (Tampon à double écriture) dans la documentation MySQL.

Quand RDS Optimized Writes est activé, les bases de données RDS for MySQL n'écrivent qu'une seule fois lors du vidage des données dans un stockage durable sans utiliser le tampon à double écriture. RDS Optimized Writes est utile si vous exécutez des charges de travail lourdes en écriture sur vos bases de données RDS for MySQL. Parmi les bases de données soumises à de lourdes charges de travail en écriture, citons celles qui prennent en charge les paiements numériques, les transactions financières et les applications de jeu.

Ces bases de données s'exécutent sur des classes d'instances de base de données qui utilisent le système AWS Nitro. En raison de la configuration matérielle dans ces systèmes, la base de données peut écrire des pages de 16 Kio directement dans des fichiers de données de manière fiable et durable, en une seule étape. Le système AWS Nitro permet d'utiliser l'option Écritures optimisées pour RDS.

Vous pouvez définir le nouveau paramètre de base de données rds.optimized_writes pour contrôler la fonctionnalité RDS Optimized Writes pour les bases de données RDS for MySQL. Accédez à ce paramètre dans les groupes de paramètres de base de données de RDS for MySQL version 8.0. Définissez ce paramètre sur l'une des valeurs suivantes :

  • AUTO : activer RDS Optimized Writes si la base de données le prend en charge. Désactiver RDS Optimized Writes si la base de données ne le prend pas en charge. Il s'agit de la valeur par défaut.

  • OFF : désactiver l'option Écritures optimisées pour RDS même si la base de données le prend en charge.

Si vous disposez d'une base de données existante dont la version du moteur, la classe d'instance de base de données et/ou le format du système de fichiers ne prend pas en charge l'option Écritures optimisées pour RDS, vous pouvez activer cette fonctionnalité en créant un déploiement bleu/vert. Pour plus d'informations, consultez Activation de l'option Écritures optimisées pour RDS sur une base de données existante.

Si vous migrez une base de données RDS for MySQL configurée pour utiliser RDS Optimized Writes dans une classe d'instances de base de données qui ne prend pas en charge cette fonctionnalité, RDS désactive automatiquement RDS Optimized Writes pour la base de données.

Lorsque RDS Optimized Writes est désactivé, la base de données utilise le tampon à double écriture MySQL.

Pour déterminer si une base de données RDS for MySQL utilise RDS Optimized Writes, consultez la valeur actuelle du paramètre innodb_doublewrite de la base de données. Si la base de données utilise des écritures optimisées RDS, ce paramètre est défini sur FALSE (0).

Utilisation de l'option Écritures optimisées pour RDS

Vous pouvez activer RDS Optimized Writes lorsque vous créez une base de données RDS for MySQL à l'aide de la console RDS, de AWS CLI ou de l'API RDS. RDS Optimized Writes est automatiquement activé lorsque les deux conditions suivantes s'appliquent dans le cadre de la création de la base de données :

  • Vous spécifiez une version du moteur de base de données et une classe d'instances de base de données qui prennent en charge l'option Écritures optimisées pour RDS.

  • Dans le groupe de paramètres associé à la base de données, le paramètre rds.optimized_writes est défini sur AUTO. Dans les groupes de paramètres par défaut, ce paramètre est toujours défini sur AUTO.

Si vous voulez utiliser une version du moteur de base de données et une classe d'instances de base de données qui prennent en charge Écritures optimisées pour RDS, mais que vous ne voulez pas utiliser cette fonction, spécifiez alors un groupe de paramètres personnalisé quand vous créez la base de données. Dans le groupe de paramètres, définissez le paramètre rds.optimized_writes sur OFF. Si vous souhaitez que la base de données utilise l'option Écritures optimisées pour RDS ultérieurement, vous pouvez définir ce paramètre sur AUTO pour l'activer. Pour obtenir des informations sur la création des groupes de paramètres personnalisés et sur la définition des paramètres, consultez Utilisation des groupes de paramètres.

Pour de plus amples informations sur la création d'une instance de base de données, veuillez consulter Création d'une instance de base de données Amazon RDS.

Lorsque vous utilisez la console RDS pour créer une base de données RDS for MySQL, vous pouvez filtrer les versions du moteur de base de données et les classes d'instances de base de données qui prennent en charge RDS Optimized Writes. Après avoir activé les filtres, vous pouvez choisir parmi les versions du moteur de base de données et les classes d'instances de base de données disponibles.

Pour choisir une version du moteur de base de données prenant en charge RDS Optimized Writes, filtrez les versions du moteur de base de données RDS for MySQL qui le prennent en charge dans Engine version (Version du moteur), puis choisissez une version.


                        Filtre de version du moteur de base de données pour Écritures optimisées pour RDS.

Dans la section Instance configuration (Configuration de l'instance), filtrez les classes d'instances de base de données qui prennent en charge l'option Écritures optimisées pour RDS, puis choisissez une classe d'instances de base de données.


                        Filtre de classe d'instances de base de données pour Écritures optimisées pour RDS.

Après avoir effectué ces sélections, vous pouvez choisir d'autres paramètres qui répondent à vos besoins et terminer la création de la base de données RDS for MySQL à l'aide de la console.

Pour créer une instance de base de données à l'aide deAWS CLI, utilisez la create-db-instancecommande. Veillez à ce que les valeurs --engine-version et --db-instance-class prennent en charge RDS Optimized Writes. De plus, veillez à ce que le paramètre rds.optimized_writes du groupe de paramètres associé à l'instance de base de données soit défini sur AUTO. Cet exemple associe le groupe de paramètres par défaut à l'instance de base de données.

Exemple Création d'une instance de base de données qui utilise RDS Optimized Writes

Pour LinuxmacOS, ou Unix :

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --engine mysql \ --engine-version 8.0.30 \ --db-instance-class db.r5b.large \ --manage-master-user-password \ --master-username admin \ --allocated-storage 200

Dans Windows :

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --engine mysql ^ --engine-version 8.0.30 ^ --db-instance-class db.r5b.large ^ --manage-master-user-password ^ --master-username admin ^ --allocated-storage 200

Vous pouvez créer une instance de base de données à l'aide de l'opération CreateDBInstance. Quand vous utilisez cette opération, veillez à ce que les valeurs EngineVersion et DBInstanceClass prennent en charge RDS Optimized Writes. De plus, veillez à ce que le paramètre rds.optimized_writes du groupe de paramètres associé à l'instance de base de données soit défini sur AUTO.

Activation de l'option Écritures optimisées pour RDS sur une base de données existante

Pour modifier une base de données RDS for MySQL existante afin d'activer l'option Écritures optimisées pour RDS, la base de données doit avoir été créée avec une version du moteur de base de données et une classe d'instance de base de données prises en charge. En outre, la base de données doit avoir été créée après la publication de l'option Écritures optimisées pour RDS le 27 novembre 2022, car la configuration requise du système de fichiers sous-jacent est incompatible avec celle des bases de données créées avant sa publication. Si ces conditions sont remplies, vous pouvez activer l'option Écritures optimisées pour RDS en définissant le paramètre rds.optimized_writes sur AUTO.

Si votre base de données n'a pas été créée avec une version de moteur, une classe d'instance ou une configuration de système de fichiers prise en charge, vous pouvez utiliser les déploiements bleu/vert RDS pour migrer vers une configuration prise en charge. Lors de la création du déploiement bleu/vert, procédez comme suit :

  • Sélectionnez Activer l'option Écritures optimisées pour RDS sur une base de données verte, puis spécifiez une version du moteur et une classe d'instance de base de données qui prennent en charge l'option Écritures optimisées pour RDS. Pour obtenir la liste des versions de moteur et des classes d'instance prises en charge, consultez Utilisation de l'option Écritures optimisées pour RDS.

  • Sous Stockage, choisissez Mettre à niveau la configuration du système de fichiers de stockage. Cette option met à niveau la base de données vers une configuration de système de fichiers sous-jacent compatible.

Lorsque vous créez le déploiement bleu/vert, si le paramètre rds.optimized_writes est défini sur AUTO, l'option Écritures optimisées pour RDS sera automatiquement activé dans l'environnement vert. Vous pouvez ensuite basculer le déploiement bleu/vert, qui favorise l'environnement vert comme nouvel environnement de production.

Pour plus d'informations, consultez Création d'un déploiement bleu/vert.

Limites pour l'option Écritures optimisées pour RDS

Lorsque vous restaurez une base de données RDS for MySQL à partir d'un instantané, vous pouvez activer l'option Écritures optimisées pour RDS pour cette base de données seulement si toutes les conditions suivantes s'appliquent :

  • L'instantané a été créé à partir d'une base de données qui prend en charge RDS Optimized Writes.

  • L'instantané a été créé à partir d'une base de données qui a été créée après le lancement d'Écritures optimisées pour RDS.

  • L'instantané est restauré en une base de données qui prend en charge RDS Optimized Writes.

  • La base de données restaurée est associée à un groupe de paramètres où le paramètre rds.optimized_writes est défini sur AUTO.