

# Configuração do registro em log binário do MySQL para clusters de banco de dados multi-AZ
<a name="USER_Binlog.MultiAZ"></a>

O registro em log binário no Amazon RDS para MySQL para clusters de banco de dados multi-AZ registra todas as alterações do banco de dados para oferecer suporte a replicação, recuperação point-in-time e auditoria. Em clusters de banco de dados multi-AZ, os logs binários sincronizam os nós secundários com o nó primário, garantindo a consistência de dados em todas as zonas de disponibilidade e permitindo failovers contínuos. 

Para otimizar o registro em log binário, o Amazon RDS oferece suporte à compactação de transações de log binário, o que reduz os requisitos de armazenamento para logs binários e melhora a eficiência da replicação.

**Topics**
+ [Compactação de transação de log binário para clusters de banco de dados multi-AZ](#USER_Binlog.MultiAZ.compression)
+ [Configuração da compactação de transação de log binário para clusters de banco de dados multi-AZ](#USER_Binlog.MultiAZ.configuring)

## Compactação de transação de log binário para clusters de banco de dados multi-AZ
<a name="USER_Binlog.MultiAZ.compression"></a>

A compactação de transações de log binário usa o algoritmo zstd para reduzir o tamanho dos dados de transação armazenados em logs binários. Quando habilitado, o mecanismo de banco de dados MySQL comprime as cargas úteis de transação em um único evento, minimizando a sobrecarga de E/S e armazenamento. Esse recurso melhora o desempenho do banco de dados, reduz o tamanho do log binário e otimiza o uso de recursos para gerenciar e replicar logs em clusters de banco de dados multi-AZ.

O Amazon RDS fornece compactação de transação de log binário para clusters de banco de dados multi-AZ do RDS para MySQL por meio dos seguintes parâmetros:
+ `binlog_transaction_compression`: quando habilitado (`1`), o mecanismo de banco de dados compacto as cargas úteis da transação e as grava no log binário como um único evento. Isso reduz o uso do armazenamento e a sobrecarga de E/S. Por padrão, o parâmetro é desabilitado.
+ `binlog_transaction_compression_level_zstd`: configura o nível de compressão zstd para transações de log binário. Valores mais altos aumentam a taxa de compactação, reduzindo ainda mais os requisitos de armazenamento, mas aumentando o uso da CPU e da memória para compactação. O valor padrão é 3, com um intervalo de 1 a 22.

Esses parâmetros permitem ajustar a compactação de logs binários com base nas características da workload e na disponibilidade de recursos. Para obter mais informações, consulte [Compactação de transações de log binário](https://dev.mysql.com/doc/refman/8.4/en/binary-log-transaction-compression.html) na documentação do MySQL.

A compactação de transações de log binário oferece os seguintes benefícios principais:
+ A compactação diminui o tamanho dos logs binários, especialmente para workloads com grandes transações ou altos volumes de gravação.
+ Logs binários menores reduzem a sobrecarga de rede e de E/S, aprimorando o desempenho da replicação.
+ O parâmetro `binlog_transaction_compression_level_zstd` fornece controle sobre o equilíbrio entre a taxa de compressão e o consumo de recursos.

## Configuração da compactação de transação de log binário para clusters de banco de dados multi-AZ
<a name="USER_Binlog.MultiAZ.configuring"></a>

Para configurar a compactação de transações de log binário para um cluster de banco de dados multi-AZ do RDS para MySQL, modifique as configurações relevantes dos parâmetros do cluster de acordo com seus requisitos de workload.

### Console
<a name="USER_Binlog.MultiAZ.configuring-console"></a>

**Como habilitar a compactação de transações de log binário**

1. Modifique o grupo de parâmetros de cluster de banco de dados para definir o parâmetro `binlog_transaction_compression` como `1`.

1. (Opcional) Ajuste o valor do parâmetro `binlog_transaction_compression_level_zstd` com base nos requisitos de workload e na disponibilidade de recursos.

Para obter mais informações, consulte [Modificar parâmetros em um grupo de parâmetros de cluster de banco de dados](USER_WorkingWithParamGroups.ModifyingCluster.md).

### AWS CLI
<a name="USER_Binlog.MultiAZ.configuring-cli"></a>

Para configurar a compactação de transações de log binário usando a AWS CLI, use o comando [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html).

**Example**  
Para Linux, macOS ou Unix:  

```
aws rds modify-db-cluster-parameter-group \
  --db-cluster-parameter-group-name your-cluster-parameter-group \
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```
Para Windows:  

```
aws rds modify-db-cluster-parameter-group ^
  --db-cluster-parameter-group-name your-cluster-parameter-group ^
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```

### API do RDS
<a name="USER_Binlog.MultiAZ.configuring-api"></a>

Para configurar a compactação de transações de log binário usando a API do Amazon RDS, use a operação [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html).