Todos os produtos
Search
Central de documentação

PolarDB:Ative optimized binlog writing for large transactions

Última atualização: Jun 28, 2026

Com o log binário ativado, uma transação grande pode monopolizar a fila de gravação do binlog e impedir o commit das demais transações. Isso gera latência em cascata nas gravações, aumento de consultas lentas e picos de conexões. O PolarDB for MySQL oferece gravação otimizada de binlog para transações grandes. Esse recurso redireciona os dados de binlog dessas transações para um arquivo dedicado, permitindo que as outras realizem o commit sem espera.

Versões compatíveis

Este recurso requer o PolarDB for MySQL Enterprise Edition ou Standard Edition com uma das seguintes versões do mecanismo de banco de dados:

  • PolarDB for MySQL 8.0.1, versão de revisão 8.0.1.1.42 ou posterior

  • PolarDB for MySQL 8.0.2, versão de revisão 8.0.2.2.25 ou posterior

Para verificar a versão do mecanismo do seu cluster, consulte a seção "Query an engine version" em Engine versions 5.6, 5.7, and 8.0 .

Casos de uso

Ative este recurso quando transações grandes forem executadas simultaneamente a outras no mesmo cluster. Ele é adequado para os seguintes cenários:

  • Clusters com cargas mistas: gravações em lote grandes ou importações massivas de dados coexistem com transações OLTP.

  • Cargas sensíveis à latência: evita que commits de transações grandes causem picos de latência ou aumento de consultas lentas em transações concorrentes.

  • Prevenção de picos de conexão: evita que commits de transações grandes acionem novas tentativas no nível da aplicação e elevem o número de conexões.

Como funciona

No momento do commit, cada transação transfere seus dados de binlog do cache em memória para o arquivo de binlog compartilhado. Quando várias transações fazem commit simultaneamente, elas entram em fila para essa gravação. Se uma transação — por exemplo, uma com 1 GB de dados de binlog — ocupar a fila por muito tempo, todas as outras precisarão esperar. Isso causa problemas em cascata: aumento de consultas lentas, locks de gravação mantidos por mais tempo, novas tentativas de operações falhas pelas aplicações e picos no número de conexões.

image

Ao ativar o recurso, o PolarDB for MySQL redireciona os dados de binlog de qualquer transação grande qualificada para um arquivo dedicado. Isso impede que a transação grande bloqueie outras na fila de gravação, permitindo que transações concorrentes façam commit sem espera.

O arquivo de binlog dedicado possui um cabeçalho padrão que inclui FORMAT_DESCRIPTION_EVENT e PREVIOUS_GTIDS_LOG_EVENT. Ele também contém um placeholder especial chamado IGNORABLE_LOG_EVENT, ignorado automaticamente por sistemas downstream.

image

Ative gravação otimizada de binlog

Defina loose_enable_large_trx_optimization como ON para ativar o recurso. Use loose_binlog_large_trx_threshold_up para configurar o limiar de tamanho do binlog que aciona a otimização.

Ambos os parâmetros entram em vigor imediatamente, sem necessidade de reiniciar o cluster.

Para obter instruções sobre como definir parâmetros, consulte Configure cluster and node parameters .

Parâmetro

Escopo

Valor padrão

Valores válidos

Descrição

loose_enable_large_trx_optimization

Global

OFF

OFF, ON

Ativa ou desativa a gravação otimizada de binlog para transações grandes.

loose_binlog_large_trx_threshold_up

Global

1 GB

10 MB–300 GB

Limiar de tamanho do binlog acima do qual uma transação é gravada em um arquivo dedicado em vez do arquivo compartilhado.

Limitações

Importante

Nós de replicação downstream não podem usar replicação multithread baseada em concorrência de banco de dados quando este recurso está ativado. Não defina slave_parallel_workers>0 e slave_parallel_type='DATABASE' simultaneamente. Em vez disso, use slave_parallel_workers>0 com slave_parallel_type='logical_clock'.

Aplica-se também a seguinte limitação:

  • Não há suporte a checksum para os arquivos de binlog de transações grandes.

Comparação de desempenho

A figura a seguir mostra o tempo necessário para fazer commit de transações grandes em um cluster com armazenamento PSL5, antes e depois de ativar o recurso.

image

Após a ativação do recurso, o tempo de commit para transações grandes cai substancialmente. Isso elimina a carga intensa de I/O e os locks de gravação prolongados causados anteriormente por esses commits.