Melhorar a performance das gravações com gravações otimizadas pelo Amazon RDS para MariaDB
Você pode melhorar a performance das transações de gravação com as gravações otimizadas pelo Amazon RDS para MariaDB. Quando seu banco de dados do RDS para MariaDB usa gravações otimizadas pelo RDS, ele pode atingir um throughput de transações de gravação até duas vezes maior.
Tópicos
Visão geral das gravações otimizadas pelo RDS
Quando você ativa as gravações otimizadas pelo Amazon RDS, seus bancos de dados do RDS para MariaDB gravam apenas uma vez ao liberar dados em um armazenamento durável sem a necessidade do buffer de gravação dupla. Os bancos de dados continuam fornecendo proteções de propriedade ACID para transações de banco de dados confiáveis, além de desempenho aprimorado.
Bancos de dados relacionais, como o MariaDB, fornecem as propriedades ACID de atomicidade, consistência, isolamento e durabilidade para transações de banco de dados confiáveis. Para ajudar a fornecer essas propriedades, o MariaDB usa uma área de armazenamento de dados denominada buffer de gravação dupla que evita erros parciais de gravação de página. Esses erros ocorrem quando há uma falha de hardware enquanto o banco de dados está atualizando uma página, como no caso de uma queda de energia. Um banco de dados MariaDB pode detectar gravações parciais de páginas e recuperá-las com uma cópia da página no buffer de gravação dupla. Embora essa técnica ofereça proteção, ela também ocasiona operações extras de gravação. Para ter mais informações sobre o buffer de gravação dupla do MariaDB, consulte Buffer de gravação dupla do InnoDB
Com as gravações otimizadas pelo RDS ativadas, os bancos de dados do RDS para MariaDB gravam apenas uma vez ao liberar dados em um armazenamento durável sem a necessidade do buffer de gravação dupla. As gravações otimizadas pelo RDS são úteis se você executa workloads de uso intenso de gravação em seus bancos de dados do RDS para MariaDB. Exemplos de bancos de dados com workloads de uso intenso de gravação incluem os compatíveis com pagamentos digitais, negociação financeira e aplicações de jogos.
Esses bancos de dados são executados em classes de instância de banco de dados que utilizam o AWS Nitro System. Devido à configuração de hardware nesses sistemas, o banco de dados pode gravar páginas de 16 KiB diretamente nos arquivos de dados de forma confiável e durável em uma única etapa. O sistema AWS Nitro possibilita gravações otimizadas pelo RDS.
Você pode definir o novo parâmetro de banco de dados rds.optimized_writes
para controlar o recurso de gravações otimizadas pelo RDS para bancos de dados do RDS para MariaDB. Acesse esse parâmetro nos grupos de parâmetros de banco de dados do RDS para MariaDB para as seguintes versões:
-
10.11.4 e versões 10.11 posteriores
-
10.6.10 e versões 10.6 posteriores
Defina o parâmetro com os seguintes valores:
-
AUTO
: ative as gravações otimizadas pelo RDS se o banco de dados for compatível com o recurso. Desative as gravações otimizadas pelo RDS se o banco de dados não for compatível com o recurso. Essa é a configuração padrão. -
OFF
: desative as gravações otimizadas pelo RDS mesmo se o banco de dados for compatível com o recurso.
Se você migrar um banco de dados do RDS para MariaDB configurado para usar gravações otimizadas pelo RDS para uma classe de instância de banco de dados que não seja compatível com o recurso, o RDS desativará automaticamente as gravações otimizadas pelo RDS para o banco de dados.
Quando as gravações otimizadas pelo RDS estão desativadas, o banco de dados usa o buffer de gravação dupla do MariaDB.
Para determinar se um banco de dados do RDS para MariaDB está usando gravações otimizadas pelo RDS, visualize o valor atual do parâmetro innodb_doublewrite
para o banco de dados. Se o banco de dados estiver usando gravações otimizadas pelo RDS, esse parâmetro será definido como FALSE
(0
).
Utilizar gravações otimizadas pelo RDS
Você pode ativar as gravações otimizadas pelo RDS ao criar um banco de dados do RDS para MariaDB com o console do RDS, a AWS CLI ou a API do RDS. As gravações otimizadas pelo RDS são ativadas automaticamente quando as duas condições a seguir se aplicam durante a criação do banco de dados:
-
Você especifica uma versão de mecanismo de banco de dados e uma classe de instância de banco de dados compatíveis com as gravações otimizadas pelo RDS.
-
O recurso Leituras otimizadas pelo RDS é compatível com as seguintes versões do RDS para MariaDB:
-
10.11.4 e versões 10.11 posteriores
-
10.6.7 e versões 10.6 posteriores
Para obter informações sobre as versões do RDS para MariaDB, consulte MariaDB em versões do Amazon RDS.
-
-
As gravações otimizadas pelo RDS são compatíveis com bancos de dados do RDS para MariaDB que usam as seguintes classes de instância de banco de dados:
-
db.m7g
-
db.m6g
-
db.m6gd
-
db.m6i
-
db.m5
-
db.m5d
-
db.r7g
-
db.r6g
-
db.r6gd
-
db.r6i
-
db.r5
-
db.r5b
-
db.r5d
-
db.x2idn
-
db.x2iedn
Para obter informações sobre classes de instância de banco de dados, consulte Classes de instância de banco de dados do .
A disponibilidade da classe de instância de banco de dados difere em Regiões da AWS. Para determinar se uma classe de instância de banco de dados é compatível com uma Região da AWS específica, consulte Determinar o suporte para classes de instância de bancos de dados nas Regiões da AWS.
-
-
-
No grupo de parâmetros associado ao banco de dados, o parâmetro
rds.optimized_writes
é definido comoAUTO
. Nos grupos de parâmetros padrão, esse parâmetro é sempre definido comoAUTO
.
Se você quiser usar uma versão do mecanismo de banco de dados e uma classe de instância de banco de dados que sejam compatíveis com gravações otimizadas pelo RDS, mas não quer usar esse recurso, especifique um grupo de parâmetros personalizado ao criar o banco de dados. Nesse grupo de parâmetros, defina o parâmetro rds.optimized_writes
como OFF
. Se você quiser que o banco de dados use gravações otimizadas pelo RDS posteriormente, você pode definir o parâmetro AUTO
para ativá-lo. Para obter informações sobre como criar grupos de parâmetros personalizados e definir parâmetros, consulte Grupos de parâmetros para Amazon RDS.
Para obter informações sobre como criar uma instância de banco de dados, consulte Criar uma instância de banco de dados do Amazon RDS.
Ao usar o console do RDS para criar um banco de dados do RDS para MariaDB, você pode filtrar as versões do mecanismo de banco de dados e as classes de instância de banco de dados compatíveis com gravações otimizadas pelo RDS. Depois de ativar os filtros, é possível selecionar entre as versões disponíveis do mecanismo de banco de dados e classes de instância de banco de dados.
Para selecionar uma versão do mecanismo de banco de dados que seja compatível com gravações otimizadas pelo RDS, filtre as versões do mecanismo de banco de dados do RDS para MariaDB compatíveis com o recurso em Versão do mecanismo e, depois, selecione uma versão.
Na seção Instance configuration (Configuração da instância), filtre as classes de instância de banco de dados que são compatíveis com gravações otimizadas pelo RDS e selecione uma classe de instância de banco de dados.
Depois de fazer essas seleções, você pode selecionar outras configurações que atendam aos seus requisitos e concluir a criação do banco de dados do RDS para MariaDB com o console.
Para criar uma instância de banco de dados utilizando o comando AWS CLI, utilize o comando create-db-instance. Os valores --engine-version
e --db-instance-class
devem ser compatíveis com gravações otimizadas pelo RDS. Além disso, verifique se o grupo de parâmetros associado a uma instância de banco de dados tem o parâmetro rds.optimized_writes
definido como AUTO
. O exemplo associa o grupo de parâmetros padrão à instância de banco de dados.
exemplo Criar uma instância de banco de dados que utilize gravações otimizadas pelo RDS
Para Linux, macOS ou Unix:
aws rds create-db-instance \ --db-instance-identifier
mydbinstance
\ --engine mariadb \ --engine-version10.6.10
\ --db-instance-classdb.r5b.large
\ --manage-master-user-password \ --master-usernameadmin
\ --allocated-storage200
Para Windows:
aws rds create-db-instance ^ --db-instance-identifier
mydbinstance
^ --engine mariadb ^ --engine-version10.6.10
^ --db-instance-classdb.r5b.large
^ --manage-master-user-password ^ --master-usernameadmin
^ --allocated-storage200
Você pode criar uma instância de banco de dados utilizando a operação CreateDBInstance. Ao utilizar essa operação, os valores EngineVersion
e DBInstanceClass
devem ser compatíveis com gravações otimizadas pelo RDS. Além disso, verifique se o grupo de parâmetros associado a uma instância de banco de dados tem o parâmetro rds.optimized_writes
definido como AUTO
.
Habilitando gravações otimizadas para RDS em um banco de dados existente
Para modificar um banco de dados do RDS for MariaDB existente para ativar as gravações otimizadas do RDS, o banco de dados deve ter sido criado com uma versão do mecanismo de banco de dados e uma classe de instância de banco de dados compatíveis. Além disso, o banco de dados deve ter sido criado após o lançamento do RDS Optimized Writes em 7 de março de 2023, pois a configuração necessária do sistema de arquivos subjacente é incompatível com a dos bancos de dados criados antes do lançamento. Se essas condições forem atendidas, você poderá ativar as gravações otimizadas para RDS definindo o rds.optimized_writes
parâmetro como. AUTO
Se seu banco de dados não foi criado com uma versão de mecanismo, classe de instância ou configuração de sistema de arquivos compatível, você pode usar o RDS Blue/Green Deployments para migrar para uma configuração compatível. Ao criar a implantação azul/verde, faça o seguinte:
-
Selecione Habilitação de gravações otimizadas no banco de dados verde e, em seguida, especifique uma versão do mecanismo e uma classe de instância de banco de dados compatíveis com as gravações otimizadas do RDS. Para obter uma lista das versões dos mecanismos compatíveis, consulte Utilizar gravações otimizadas pelo RDS.
-
Em Armazenamento, escolha Atualizar a configuração do sistema de arquivos de armazenamento. Essa opção atualiza o banco de dados para uma configuração de sistema de arquivos subjacente compatível.
Ao criar a implantação azul/verde, se o rds.optimized_writes
parâmetro estiver definido paraAUTO
, as gravações otimizadas do RDS serão ativadas automaticamente no ambiente verde. Você pode então fazer a transição azul/verde, o que promove o ambiente verde para o novo ambiente de produção.
Para ter mais informações, consulte Criar uma implantação azul/verde.
Limitações das gravações otimizadas pelo RDS
Ao restaurar um banco de dados do RDS para MariaDB por meio de um snapshot, você só poderá ativar as gravações otimizadas pelo RDS no banco de dados se todas as condições a seguir se aplicarem:
-
O snapshot foi criado a partir de um banco de dados compatível com gravações otimizadas pelo RDS.
-
O snapshot foi criado por meio de um banco de dados criado após o lançamento de gravações otimizadas pelo RDS.
-
O snapshot foi restaurado a partir de um banco de dados compatível com gravações otimizadas pelo RDS.
-
O banco de dados restaurado é associado a um grupo de parâmetros que tenha o parâmetro
rds.optimized_writes
definido comoAUTO
.