Todos os produtos
Search
Central de documentação

PolarDB:Release notes for PolarDB for MySQL 8.0.1

Última atualização: Jul 19, 2026

Este tópico apresenta as notas de versão do PolarDB for MySQL 8.0.1.

2026

8.0.1.1.55.2 (2026-07-18)

Correções de bugs

Descrição

  • Corrige um problema em que a perda ocasional de registros de exclusão no In-Memory Column Index (IMCI) causava falhas em nós somente leitura e inconsistência de dados entre o armazenamento de linhas e o armazenamento de colunas.

8.0.1.1.55.1 (2026-06-28) & 8.0.1.1.55 (2026-06-18)

Novos recursos

Descrição

  • Inclusão do recurso incremental refresh for materialized views. Trata-se de uma evolução da atualização completa de visualizações materializadas, com suporte a atualizações incrementais e melhoria significativa no desempenho de atualização dessas visualizações.

  • Os índices de texto completo do In-Memory Column Index (IMCI) agora aceitam dicionários personalizados. Isso permite o uso de dicionários específicos do negócio para melhorar a qualidade de recuperação de textos em chinês e nomes próprios.

  • O Orca (Redis-compatible) passou a suportar o recurso multi-DB do Redis, permitindo até 16 bancos de dados lógicos.

  • Visualizações materializadas agora permitem a criação de um In-Memory Column Index (IMCI) com chaves de ordenação, otimizando ainda mais o desempenho das consultas.

  • Um novo switch foi adicionado para ativar o recurso Data Cleanup (TTL) de gravação em logs binários. Esse switch vem desativado por padrão. Quando ativado, possibilita a sincronização de eventos de exclusão por TTL com sistemas downstream via log binário, garantindo a consistência dos dados entre os sistemas upstream e downstream.

  • O Orca (Redis-compatible) incorporou cinco comandos de bloqueio (BLMOVE, BLMPOP, BZMPOP, BZPOPMAX e BZPOPMIN) para ampliar a compatibilidade com o protocolo Redis.

  • Novo recurso que permite que consultas do IMCI façam push down de GROUP BY durante a fase de otimização, melhorando o desempenho ao delegar operações de agregação.

  • Adicionada a sintaxe EXPLAIN ANALYZE IMCI. Ela auxilia no diagnóstico de estados intermediários dos planos de execução SQL e na identificação dos motivos pelos quais uma instrução SQL não utiliza um plano de execução do mecanismo vetorizado.

  • Suporte ao uso múltiplo de adaptive selection of ordered indexes em uma única instrução, além da correção de um problema em que a ordenação adaptativa falhava em cenários específicos.

Otimizações de desempenho

Descrição

  • O armazenamento do IMCI, com codificação de dicionário local ativada por padrão, agora suporta reescrita e otimização de consultas para colunas de string que utilizam essa codificação, elevando o desempenho das consultas ao columnstore.

  • Melhoria na eficiência de execução de instruções SQL que seguem o padrão GROUP BY ... ORDER BY ... LIMIT k. O operador TopAgg é usado para podar operações de agrupamento e agregação, mantendo apenas K elementos. Isso reduz significativamente o tempo de consulta em cenários com grandes volumes de dados e agrupamentos.

  • As capacidades de análise de desempenho do In-Memory Column Index (IMCI) EXPLAIN ANALYZE foram aprimoradas com novas métricas, como taxa de spill-to-disk de joins e comprimento de chaves de junção, facilitando a identificação de consultas lentas.

  • Desempenho do HashJoin do In-Memory Column Index (IMCI) otimizado mediante a conversão dos resultados intermediários da junção para formato de linha, reduzindo a sobrecarga de materialização.

Correções de bugs

Descrição

  • Corrige uma possível falha que ocorria quando uma visualização materializada incremental lia metadados de partição em uma tabela com particionamento híbrido.

  • Resolve uma potencial falha do processo mysqld. O problema era causado pela reutilização incorreta de memória relacionada a hints SQL, como SET_VAR, quando um stored procedure era chamado várias vezes.

  • Corrige uma falha ao executar uma instrução Online DDL em uma tabela com índice de coluna virtual.

  • Resolvido um problema em que a memória LRU_RB_BLOCK podia vazar do cache RowBuf do IMCI em um caminho de falha de inserção, evitando que a memória do RowBuf Block Cache crescesse continuamente além da capacidade esperada.

  • Corrigida uma falha de processo provocada por acesso concorrente a um MDL Ticket durante a execução do Elastic Parallel Query.

  • Resolvido um problema em que múltiplas threads podiam entrar em deadlock dentro de uma B-tree quando a consulta paralela estava habilitada no nó primário.

  • Corrige um problema em que uma operação LOAD DATA malsucedida deixava a sessão em estado anormal, gerando erros em instruções INSERT válidas subsequentes.

  • Corrige um vazamento de memória que podia ocorrer em casos raros quando o Parallel Parse estava ativado.

  • Resolve um problema em que o filesort às vezes era ignorado incorretamente para uma TempTable com índice ordenado, resultando em uma ordem de resultados incorreta.

  • Corrige um problema em que o controle global de uso de disco para tabelas temporárias não excluía usuários com permissões Super.

  • Corrige uma falha de parsing no link de sincronização do DTS para um cluster PolarDB downstream. O problema ocorria quando sintaxes estendidas de ALTER do PolarDB, como a conversão de uma tabela simples em tabela particionada, eram encapsuladas por comentários do DMS.

  • Corrige imprecisões no limitador de taxa adaptativo para DDL Bulk Load e otimiza o algoritmo desse limitador.

  • Resolvido um problema em que um erro no roteamento de overflow de tamanho de página durante a limpeza de metadados do RowBuf do IMCI causava escritas sujas, levando tarefas em background subsequentes a disparar um Assert ou uma falha.

  • Corrigida uma falha no High-Compression Engine (X-Engine) ao executar manualmente ANALYZE TABLE em uma tabela particionada para coletar estatísticas.

  • Corrige um problema em que a ordem declarada em uma cláusula ORDER BY não era aplicada em alguns cenários. Esta versão também otimiza o tratamento de predicados para Loose Index Scan (LIS) em consultas agrupadas.

  • Corrige um problema em que um nó somente leitura local em um Multi-master Cluster não conseguia pular os redo logs de outros nós mestre quando o Parallel Parse estava habilitado.

  • Resolvido um problema em que o In-Memory Column Index (IMCI) tornava-se inválido e indisponível após a execução de uma instrução DDL em uma tabela particionada para modificar o comentário da tabela, adicionar um In-Memory Column Index (IMCI) e, simultaneamente, adicionar um índice secundário comum.

  • Corrigido um problema em que uma consulta ao column store usando Hybrid Index Search com uma cláusula LIMIT podia retroceder para o row store quando o LIMIT OFFSET era muito grande.

  • Corrige um problema em que INSTANT ADD COLUMN podia causar exceções de aplicação em um nó somente leitura (RO) quando a otimização de compartilhamento de dummy_index estava habilitada.

  • Resolvido um problema no In-Memory Column Index (IMCI) em que um Hybrid Plan podia causar falha no cluster quando uma Read View era revogada.

  • Corrigido um problema em que Redo logs aplicados incompletamente podiam causar inconsistência de dados no High-compression Engine (X-Engine) durante a recuperação de bancos de dados e tabelas (como PITR e clonagem), garantindo a integridade dos dados após a restauração.

  • Corrige diversos problemas de incompatibilidade que ocorriam em Multi-master Clusters quando o Parallel Parse estava habilitado.

  • Resolve um problema de escape incorreto de strings que podia ocorrer quando o AutoETL do PolarDB criava uma visualização de busca contendo um ETL_UDF.

  • Corrigido um problema em que o tempo de espera de bloqueio de linha de tabela do mecanismo X-Engine não era incluído no tempo de espera de bloqueio do log de consultas lentas do sistema.

  • Corrige um problema de planos de execução subótimos. A causa era uma estimativa incorreta de limiar quando uma consulta ao column store com uma lista IN de múltiplas colunas, como WHERE (a,b) IN (...), era convertida para semi-join.

  • Resolvido um problema em que registros históricos de tarefas do Data cleanup (TTL) falhavam ao serem gravados durante uma atualização de cluster, garantindo que as informações históricas de TTL possam ser visualizadas e limpas.

  • Corrige um problema em que a purga de logs binários durante a inicialização do MySQL Community Edition podia levar a um Previous_gtid incorreto.

  • Corrigido um problema em que o Query Cache acionava prematuramente uma espera de global consistency (high-performance mode) do InnoDB, causando timeouts de atraso de replicação em nós somente leitura do In-Memory Column Index (IMCI).

  • Resolvido um problema no Orca (Redis-compatible) em que scripts Lua podiam causar vazamento de memória sob condições esporádicas de erro.

  • Corrige um possível erro nos resultados de consultas paralelas quando a consulta continha uma condição IS NULL.

  • Corrigido um problema em que o Hash Field-TTL do Orca (Redis-protocol compatible) podia atualizar metadados incorretamente durante a fase de Purge.

  • Resolvido um problema no recurso Orca (compatible with the Redis protocol) em que o resultado do comando DUMP não era reconhecido por versões anteriores do Redis (<7.4.0).

  • Corrige uma falha no MySQL Community Edition. O problema era causado por uma exceção ao atualizar um índice espacial que também funcionava como índice secundário.

8.0.1.1.54.1 (2026-05-08)

Correções de bugs

Descrição

  • Novo parâmetro, mm_enable_wait_binlog_flush, adicionado para permitir que o Multi-master Cluster (Limitless) Edition aguarde o flush do log binário para o disco, resolvendo possíveis problemas de consistência de dados causados pelo flush assíncrono do log binário.

  • Corrigido um problema em que um Multi-master Cluster (Limitless) Edition falhava ao executar DROP TABLE em uma tabela CSV que utilizava o recurso de arquivamento de dados frios.

8.0.1.1.54 (2026-03-24)

Novos recursos

Descrição

  • Adicionado o recurso Search View ao PolarSearch, habilitando Auto-ETL do PolarDB for MySQL para o PolarSearch e simplificando a sincronização de dados.

  • O formato tradicional de tabela compactada InnoDB apresenta risco de corrupção de dados quando BLOCK_SIZE é menor que 4. A variável de sistema polar_compressed_table_policy foi adicionada para controlar a política de compactação de novas tabelas.

    • NATIVE: Executa a operação conforme especificada.

    • ADJUST_KEY_BLOCK_SIZE (padrão): Permite a criação da tabela e corrige automaticamente o KEY_BLOCK_SIZE se for menor que 4.

    • AUTO_CONVERT_ROW_FORMAT: Converte silenciosamente a tabela para o formato de linha padrão.

    • REJECTED: Rejeita a operação e reporta um erro.

    Nota
    • Essa política aplica-se apenas a novas tabelas compactadas. Tabelas compactadas existentes não são afetadas.

    • Para clusters com versão de kernel anterior a 8.0.1.1.54, recomenda-se não criar tabelas compactadas InnoDB com BLOCK_SIZE menor que 4.

  • Agora é possível usar a expressão ask_polar para conectar-se diretamente ao Alibaba Cloud Model Studio.

  • O recurso Data Cleanup (TTL) agora suporta campos DATETIME (anteriormente, apenas campos TIMESTAMP eram suportados).

Otimizações de desempenho

Descrição

Correções de bugs

Descrição

  • Corrigido um problema em que, ao usar o recurso de preservação de status de transação para failover with hot replica, a perda ocasional de transações no columnstore index (IMCI) causava inconsistência de dados.

  • Resolvido um problema em que uma exceção de memória durante uma operação assíncrona do instant column addition com valor padrão de string longa invalidava o valor padrão.

  • Corrige um problema em que o processo otimizado de amostragem de histograma bloqueava continuamente operações DML.

  • Corrigido um problema no IMCI em que uma condição de filtro era incorretamente empurrada para além de uma cláusula LIMIT, podendo causar resultados incorretos.

  • Resolvido um problema em que os resultados mais recentes não podiam ser lidos imediatamente após um full refresh of a materialized view quando o Query Cache estava habilitado.

  • Corrigido um problema em que poderia ocorrer um erro ao coletar estatísticas para In-Memory Column Index (IMCI) com o aprimoramento de amostragem de colunas de baixa cardinalidade (imci_stats_scan_max_ndv) habilitado, impedindo a atualização correta das estatísticas.

  • Corrige uma falha causada pelo push down de uma expressão contendo Item_trigger_field para o lado interno de uma derived table.

  • Resolve um possível erro de parsing de instrução SQL ao usar dbms_outln.add_optimizer_outline_sharding em uma tabela sharded.

  • Corrige um erro que ocorria ao executar ALTER TABLE ... ADD COLUMN ... DEFAULT com log binário habilitado.

  • Resolve um problema em que as estatísticas de cardinalidade exibidas pela sintaxe SHOW INDEX para uma tabela particionada retornavam NULL.

  • Corrigido um problema que podia causar falha no Orca (compatible with the Redis protocol) ao limpar chaves expiradas com pcur, substituindo o método pcur por um método de armazenamento de chaves.

  • Resolvido um problema em que o Concurrency Control (CCL) não surtia efeito para a sintaxe DELETE xx FROM ... (isso não afeta a sintaxe DELETE FROM ...).

  • Corrige uma falha que podia ocorrer ocasionalmente com JSON_TABLE no caminho de execução de um trigger.

  • Corrigido um problema em que um overflow de inteiro INT no sistema de arquivos NCI do In-Memory Column Index (IMCI) após longo período de execução levava a um acesso de memória fora dos limites, travando a reprodução de transações do IMCI.

8.0.1.1.53.1 (2026-07-02) & 8.0.1.1.53 (2026-01-24)

Novos recursos

Descrição

Otimizações de desempenho

Descrição

  • Mecanismo de gerenciamento de metadados do high-compression engine (X-Engine) otimizado. Ao liberar periodicamente o manifest log e versões antigas do manifest checkpoint, essa otimização evita consumo extra de armazenamento causado pelo crescimento contínuo dos arquivos de metadados.

  • Eficiência de leitura e escrita de I/O dos arquivos de índice de log binário otimizada. Essa melhoria evita atrasos ou travamentos no commit de transações causados por contenção de I/O quando o cluster possui muitos arquivos de log binário.

  • Desempenho de consulta do IMCI otimizado para consultas que contêm uma lista IN de strings extremamente longas.

  • Eficiência de execução de agrupamento e agregação (HashGroupby) otimizada. Com a introdução de uma operação vetorizada para sondar a tabela hash, essa otimização melhora o desempenho de agrupamento e agregação, reduzindo levemente o consumo de memória durante a computação.

  • Processo de busca de plano de consulta otimizado para acelerar a determinação da ordem de junção de múltiplas tabelas. Isso reduz o tempo total de otimização para instruções SQL complexas.

  • Removido o limite quanto ao número de tabelas particionadas.

Correções de bugs

Descrição

  • Corrigido um problema no IMCI em que o operador HashJoin de alto desempenho podia causar perda de linhas no conjunto de resultados ao processar um RIGHT JOIN com dados descarregados para o disco.

  • Resolve um problema em que o otimizador estimava imprecisamente o número de linhas para uma varredura de índice ordenada em certos caminhos de consulta.

  • Corrige um problema em que estatísticas poderiam não ser coletadas conforme esperado para colunas de string com conjuntos de caracteres amplos, como utf8, mesmo que definidas com comprimento curto.

  • Resolvido um problema em que a replicação em um columnstore index read-only node parava ocasionalmente durante operações DDL frequentes, causando latência de dados no nó.

  • Corrige um problema de acesso à memória fora dos limites que podia ocorrer com uma instrução LIMIT BY ? contendo placeholder ao usar o protocolo binário.

  • Corrigida uma possível falha no cluster que ocorria ao acessar uma tabela particionada do high-compression engine (X-Engine) com o query cache habilitado.

  • Resolvido um problema em que a PCU de um nó Serverless para In-Memory Column Index (IMCI) podia sofrer scale up e scale down repetidamente quando o nó tinha especificações baixas e nenhuma carga.

2025

8.0.1.1.52 (2025-12-12)

Novos recursos

Descrição

  • Adicionado o recurso Search View and ETL Stored Procedure. Esse recurso sincroniza automaticamente os dados do PolarDB for MySQL com os nós de busca, aprimorando as capacidades de sincronização de dados e análise agregada de grandes volumes de dados.

  • Introduzido o recurso Redo log compression para operações DDL. Essa funcionalidade reduz significativamente a quantidade de logs Redo gerados durante a execução de DDL e melhora a eficiência das operações Redo.

  • Adicionado suporte para especificar o nó de execução em tarefas de atualização que realizam um full refresh of a materialized view.

  • Incluída a funcionalidade que permite aos nós de agregação em um Multi-master Cluster lerem logs Redo de forma assíncrona. Isso aumenta a taxa de mesclagem de logs Redo pelos nós de agregação.

  • Adicionada uma métrica de monitoramento para o número de pending tasks no Orca (compatible with the Redis protocol). Essa métrica exibe a quantidade de tarefas na fila aguardando execução, facilitando a análise e o monitoramento da latência de tarefas.

  • Adicionado suporte a padrões SQL específicos para IMCI. Agora, consultas complexas contendo ROLLUP e funções nas colunas de projeção que incluem subconsultas com funções de agregação também podem ser enviadas ao IMCI para aceleração.

  • Adicionado suporte a índices de texto completo no In-Memory Column Index (IMCI), o que melhora significativamente o desempenho de buscas fuzzy.

  • Incluídas várias métricas essenciais de monitoramento para Orca (compatible with the Redis protocol), como conexões ativas, novas conexões e uso de memória, aumentando a observabilidade do cluster.

  • Adicionado um switch dinâmico para controlar o recurso de ajuste de posição do cursor em nós somente leitura (RO).

Otimizações de desempenho

Descrição

  • Otimizada a política de execução de consultas para In-Memory Column Index (IMCI), com a ativação padrão da execução adaptativa de agrupamento e agregação. O sistema seleciona automaticamente o algoritmo de agregação mais eficiente com base na distribuição dos dados e nas características da consulta, melhorando o desempenho de consultas analíticas que contêm uma cláusula GROUP BY.

  • Melhorada a eficiência de execução do operador Hash Join no In-Memory Column Index (IMCI). Esse aprimoramento eleva o desempenho de todas as consultas que utilizam Hash Join, com ganhos expressivos em cenários de Semi Join.

  • Otimizado o desempenho do Binlog large transaction optimization em cenários de transações XA externas.

  • Otimizado o mecanismo de gerenciamento de metadados do X-Engine por meio da liberação periódica de manifest log e versões antigas de manifest checkpoint, evitando consumo adicional de armazenamento causado pelo crescimento contínuo dos arquivos de metadados.

  • Otimizado o overhead de desempenho na troca de arquivos de binary log. Isso evita bloqueios no commit de transações em cenários onde muitos arquivos de binary log são retidos.

  • Refatorada a estrutura interna de processamento de comandos e o caminho de bloqueio do Orca (compatible with the Redis protocol). Essa reestruturação aumentou o desempenho geral de leitura e escrita em aproximadamente 10%.

Correções de bugs

Descrição

  • Corrigido um problema no Orca (compatible with the Redis protocol) em que a gravação de uma chave logo após sua exclusão tornava as informações estatísticas de dbsize imprecisas.

  • Resolvido um problema em que o IMCI não oferecia suporte a consultas contendo campos de variáveis de sistema.

  • Corrigida uma falha potencial na coleta de estatísticas em tabelas com operações frequentes de atualização e exclusão, além de melhorar a eficiência da amostragem de dados.

  • Corrigido um problema em que o comando restore do Orca (compatible with the Redis protocol) não preservava as informações de TTL ao restaurar um campo Hash expirado.

  • Resolvido um problema em que o recurso serverless do In-Memory Column Index (IMCI) podia causar um erro de falta de memória (OOM) em cenários de scale-up rápido seguido de scale-down rápido, devido à revogação tardia da cota de cache.

  • Corrigido um problema em que a reinicialização de um nó IMCI para recuperação de índice de coluna resultava em inicialização lenta devido ao carregamento excessivo de arquivos NCI irrelevantes.

  • Corrigida uma situação em que um conjunto de resultados incorreto podia ser retornado quando a condição WHERE de uma consulta continha múltiplas IN-lists com ordenação ORDER BY.

  • Resolvido um problema em que um erro de Duplicate entry podia ser reportado ao executar operações DDL, como RENAME TABLE, em uma tabela contendo uma view após um failover de alta disponibilidade (HA).

  • Corrigido um problema em que a operação NCI purge page do IMCI interferia na eficiência da operação flush page em casos raros.

  • Corrigida uma anomalia de sincronização de dados no nó de agregação de um Multi-master Cluster após a ativação do recurso de leitura assíncrona. A causa era um cálculo incorreto do offset de parsing.

  • Resolvido um problema em que o auto-scaling do recurso serverless do In-Memory Column Index (IMCI) era acionado continuamente devido a um status anormal do índice.

  • Corrigido um problema no Multi-master Cluster (Limitless) Edition em que um nó de leitura e escrita podia falhar ao atualizar uma materialized view agendada criada por outro nó de leitura e escrita.

  • Resolvido um problema de desempenho em que o uso de um único núcleo de CPU atingia o máximo devido ao tempo excessivo gasto pela função find_cloned_select_lex quando uma consulta UNION continha muitos query_blocks.

  • Corrigida uma falha do otimizador de consultas em realizar partition pruning em uma tabela particionada interna ao processar uma consulta de nested join. Isso melhora o desempenho de consultas em tabelas particionadas nos cenários relacionados.

  • Corrigido um problema em que o In-Memory Column Index (IMCI) podia retornar resultados de multiplicação incorretos ao processar dados DECIMAL com mais de 16 dígitos após a vírgula decimal.

  • Resolvido um problema que impedia o pushdown de uma consulta para o In-Memory Column Index (IMCI) quando a instrução SELECT continha simultaneamente uma IN-List e uma função de agregação com DISTINCT.

  • Corrigidos vários problemas que podiam causar falha no cluster quando o buffer pool size era muito menor que a memória necessária para tabelas materializadas.

  • Corrigido um problema na Edição Multi-master Cluster (Limitless) em que a exclusão de um nó de leitura e escrita após a troca de endpoint podia interromper tarefas em segundo plano.

  • Resolvido um problema potencial de travamento em um nó standby durante a fase de recuperação em cenários de restauração point-in-time (PITR) e restauração de banco de dados/tabela.

  • Corrigido um problema em que o recurso ETL do IMCI não suportava a função JSON_TABLE, além de otimizar a mensagem de erro de falta de memória para consultas IMCI.

  • Corrigido um problema em que memória liberada continuava sendo utilizada após falha e rollback na criação de índice baseado em função.

  • Resolvido um problema em que um nó somente leitura retornava o erro The JSON binary value contains invalid data ao consultar o comprimento de um objeto JSON sob condições específicas de limite, após a ativação do parâmetro innodb_blob_slave_read_consistent.

  • Corrigido um problema em que estatísticas de colunas inteiras, exceto BIGINT, podiam ficar imprecisas, impedindo o otimizador de consultas de gerar um plano de execução ideal.

  • Resolvido um problema em que consultas com Common Table Expressions (CTEs) recursivas não podiam ser enviadas ao In-Memory Column Index (IMCI) para execução.

  • Corrigida uma falha rara que podia ocorrer ao executar consultas em versões mais antigas do cluster com o recurso de agregação adaptativa ativado.

  • Resolvido um problema em que conexões existentes de Binlog dump podiam travar e afetar a limpeza de Binlog após a promoção de um nó somente leitura para nó primário.

  • Corrigido um problema que impedia o acionamento do mecanismo automático de scale-out quando uma inserção NCI no lru cache do In-Memory Column Index (IMCI) falhava.

  • Corrigida uma inconsistência de dados que podia ocorrer em um nó somente leitura ao ler campos JSON grandes ou campos JSON parcialmente atualizados com frequência em cenários específicos.

  • Resolvido um problema no Elastic Parallel Query que podia causar falha no processo quando múltiplas subconsultas referenciavam o mesmo campo de uma consulta externa, mas utilizavam políticas de pushdown diferentes.

  • Corrigido um problema em que algumas consultas falhavam com um OOMError devido a cálculo impreciso de uso de memória.

  • Resolvida uma exceção de processamento que podia ocorrer ao adicionar um índice columnstore a uma tabela sem chave primária, mas contendo uma chave única.

  • Corrigido um problema de falta de memória (OOM) em nós de leitura e escrita causado pelo mecanismo padrão de escrita em lote ao executar Online DDL em uma tabela com índice columnstore.

8.0.1.1.51.2 (2025-11-05)

Otimizações de desempenho

Descrição

Otimizada a eficiência da troca de arquivos de binary log em cenários onde muitos arquivos são retidos. Isso reduz o tempo de troca e evita bloqueios no commit de transações.

Correções de bugs

Descrição

  • Corrigido um problema ocorrido quando o recurso Thread Pool era desativado dinamicamente (definindo o parâmetro loose_thread_pool_enabled como OFF), o que podia fazer com que as conexões ficassem presas após a conclusão de uma execução DDL.

  • Resolvido um problema em que o columnstore index read-only node consumia memória excessiva após a execução de transações grandes.

8.0.1.1.51.1 (2025-10-16)

Novos recursos

Descrição

Adicionado um switch dinâmico para controlar o recurso de ajuste de posição do cursor em nós somente leitura (RO).

Correções de bugs

Descrição

  • Corrigido um problema em que consultas voltavam inesperadamente para execução em row store ao usar Hybrid Plan acceleration for wide table queries com In-Memory Column Index (IMCI), pois uma otimização de consulta convertia a função AVG para SUM/COUNT.

  • Resolvido um problema de consumo excessivo de tempo ao criar uma tabela particionada no nó primário (RW) com o recurso Parallel Parse ativado.

8.0.1.1.51 (2025-09-29)

Novos recursos

Descrição

  • Adicionado suporte a materialized views completas. Esse recurso oferece respostas mais rápidas para consultas em cenários de relatórios e análise sobre dados agregados estáticos ou quase estáticos com grandes volumes de dados, pré-calculando e armazenando resultados de consultas complexas.

  • Adicionado suporte ao recurso Orca (compatible with the Redis protocol), compatível com protocolos Redis 7.0 e anteriores. O Orca é um service de banco de dados em memória integrado ao PolarDB que permite acessar o banco usando o protocolo Redis. Esse recurso é adequado para cenários que exigem cache chave-valor de alto desempenho para acelerar o acesso da aplicação. O banco de dados __orca_in_polardb_m_, criado por padrão para esse recurso, não consome espaço de armazenamento quando não está em uso.

  • Adicionado suporte à autenticação AUTH password para Orca (compatible with the Redis protocol) com base na conta default. Quando a conta default está configurada, os clientes podem usar o comando padrão AUTH do Redis para verificação de identidade, aumentando a segurança de acesso ao service Orca.

  • Adicionado suporte no adaptive execution plan switching feature para cenários de Index Condition Pushdown (ICP).

  • Adicionado o parâmetro rds_max_tmp_disk_space para limitar o espaço total em disco que pode ser ocupado por tabelas temporárias criadas por todas as sessões em um único cluster.

  • Adicionado um recurso de recuperação rápida para o módulo de mapeamento linha-coluna do In-Memory Column Index (IMCI). Esse recurso reduz significativamente o tempo que um índice de coluna permanece no LOADING_NCI state após a reinicialização de um nó column store, permitindo a restauração do índice de coluna em segundos.

Otimizações de desempenho

Descrição

  • Otimizada a estratégia de alocação de páginas BLOB. Quando o Serialized Dictionary Information (SDI) está ativado, a pré-alocação de páginas BLOB é desativada para evitar desperdício desnecessário de espaço de armazenamento causado por atualizações frequentes de SDI, melhorando a eficiência de utilização do espaço.

  • Otimizado o mecanismo de carregamento de metadados para nós IMCI. Isso resolveu o problema potencial de falta de memória (OOM) causado por uma lista de metadados excessivamente longa durante reinicializações de nós em cenários de dados massivos.

  • Padronizada a convenção de nomenclatura para arquivos locais relacionados ao columnstore index (IMCI) em todas as funções de nó, simplificando o gerenciamento de arquivos durante failovers de alta disponibilidade (HA).

Correções de bugs

Descrição

  • Corrigido um erro ocorrido quando um nó somente leitura (RO) recém-criado executava uma instrução DDL após um failover de alta disponibilidade. O erro era causado por falha na modificação do Serialized Dictionary Information (SDI). Isso garante a estabilidade das operações DDL do cluster após um failover de alta disponibilidade.

  • Resolvido um problema em que os nós primário e secundário de um Multi-master Cluster (Limitless) Edition podiam causar falha no cluster durante uma troca de alta disponibilidade (HA).

  • Corrigido um problema que podia causar acesso a ponteiro inválido quando um índice era liberado durante a execução de INSTANT DDL em um IMCI.

  • Resolvida uma falha potencial durante um failover de alta disponibilidade (HA) sob alta pressão de escrita após scale-out sem inicialização.

  • Corrigida uma falha ocasional em tarefas de restauração point-in-time quando o recurso Parallel Parse está ativado.

  • Resolvido um problema em que adicionar um columnstore index (IMCI) a uma tabela sem chave primária, mas com chave única, podia causar um erro.

  • Corrigido um problema em que um cluster Multi-master Cluster (Limitless) Edition podia falhar ao iniciar ou a persistência de dados podia falhar após um failover de alta disponibilidade (HA).

  • Resolvido um problema no Multi-master Cluster (Limitless) Edition em que lacunas ocorriam em gtid_executed após a execução de uma instrução CREATE ... IF NOT EXISTS em um nó de agregação.

  • Corrigido um problema no Multi-master Cluster (Limitless) Edition em que, após a troca a quente de um nó local somente leitura (RO) para um nó de leitura e escrita (RW), a execução de operações DML em uma tabela com In-Memory Column Index (IMCI) podia causar falha no nó RW.

  • Resolvido um problema em que o módulo Delta do IMCI podia acessar um ponteiro nulo durante a serialização devido a lógica incompleta para identificação de linhas revertidas, o que podia causar falha no cluster.

  • Corrigido um problema em que informações do data cleanup (TTL) eram perdidas durante uma operação CREATE PARTITION TABLE porque as informações primárias do Data Dictionary (DD) não eram atualizadas.

  • Resolvido um problema em que uma consulta IMCI contendo tanto as funções de agregação DISTINCT quanto AVG podia retornar um resultado incorreto.

  • Corrigido um problema em que o desempenho de consulta do Multi-master Cluster (Limitless) Edition podia degradar sob carga elevada.

  • Resolvido um problema em que algumas consultas não podiam ser enviadas ao índice columnstore para execução quando o parâmetro imci_implicit_orderby_rollup estava ativado.

  • Corrigido um problema em que o IMCI read-only nodes podia apresentar atraso de replicação em cenários com operações DDL de alta frequência.

8.0.1.1.50.2 (2025-08-26)

Correções de bugs

Descrição

  • Corrigido um problema raro em que um processo de limpeza em segundo plano podia causar corrupção de índice secundário durante o rollback de uma transação.

  • Resolvido um problema em que um nó somente leitura podia falhar temporariamente ao consultar alguns registros durante um ajuste de estrutura de índice B-tree acionado por alta carga de escrita.

8.0.1.1.50.1 (2025-08-12)

Correções de bugs

Descrição

  • Corrigido um problema no recurso In-Memory Column Index (IMCI) em que um nó podia sofrer crash quando o deltastore executava uma tarefa de swap, devido ao estouro do comprimento de uma página pax além de uint32 ou ao encontro de um ponteiro nulo.

  • Resolvido um problema em que operações de arquivo follower de escrita única e leitura múltipla para IMCI eram proibidas inesperadamente devido a uma ordem inadequada de inicialização de variáveis globais.

8.0.1.1.50 (2025-07-17)

Novos recursos

Descrição

  • Estendida a funcionalidade das window functions para suportar a cláusula FRAME. Isso permite definir o intervalo de cálculo com mais precisão nos modos ROWS e RANGE, aumentando a flexibilidade de consultas analíticas complexas.

  • Adicionada uma nova métrica estatística Pruner no nível de consulta para In-Memory Column Index (IMCI). Consulte a view INFORMATION_SCHEMA.IMCI_SQL_PROFILING para entender a eficiência de pruning de blocos de dados do operador TableScan durante a execução, permitindo analisar e otimizar o desempenho da consulta com maior precisão.

  • Agora é possível usar Online DDL para modificar os valores da coluna auto-increment do high-compression engine (X-Engine). Essa atualização permite realizar a modificação sem bloquear operações DML, garantindo a continuidade dos negócios.

  • A capacidade de pushdown de consultas para In-Memory Column Index (IMCI) foi aprimorada. Agora há suporte para consultas SQL complexas contendo ROLLUP e subconsultas com funções de agregação nas colunas de projeção. Isso permite que mais tipos de consultas analíticas e de relatórios se beneficiem das melhorias de desempenho do IMCI.

  • O IMCI agora suporta a expressão JSON_ARRAYAGG. Essa função agrega múltiplas linhas dos resultados da consulta em um único array JSON, ampliando as capacidades de processamento de dados JSON.

Otimizações de desempenho

Descrição

  • Otimizado o mecanismo de agendamento do elastic thread pool em segundo plano para IMCI, reduzindo significativamente o uso de CPU ao recuperar o status das tarefas. Isso diminui o overhead do sistema e libera mais recursos computacionais para services principais.

  • Melhorada a eficiência do Page Apply durante a replicação física. Ao evitar atrasos na replicação física causados pela leitura de dados frios pelos nós secundários, reduz-se a possibilidade de jitter ocasional e aumenta-se a estabilidade da sincronização de dados.

  • Otimizada a lógica de offline para nós column store. Ao tornar assíncrona a limpeza de arquivos obsoletos e otimizar o controle de fluxo, o processo de desligamento do nó torna-se mais suave, reduzindo o impacto nos services em execução.

  • A mesclagem de window functions que possuem a mesma definição PARTITION BY melhora a eficiência de execução do In-Memory Column Index (IMCI) ao processar consultas analíticas complexas.

  • Aprimorado o desempenho do operador HashJoin no In-Memory Column Index (IMCI). A otimização do processo de criação e da implementação específica de sua tabela Hash interna acelera o processamento de consultas de junção.

  • No In-Memory Column Index (IMCI), o Hybrid Plan agora suporta a execução de consultas em tabelas sem chave primária definida explicitamente. Isso expande a aplicabilidade do armazenamento híbrido linha-coluna, permitindo aproveitar suas vantagens de desempenho mesmo que o esquema da tabela não contenha uma chave primária.

  • Adicionado o parâmetro adaptive_digest_length_multiplier. Esse parâmetro ajusta o tamanho de memória pré-alocado para o digest SQL definindo um coeficiente apropriado para o comprimento do texto SQL, otimizando a eficiência do uso de memória.

  • Reduzida a granularidade de bloqueio no recurso de retenção de snapshot de nós de índice columnstore somente leitura. Isso evita efetivamente travamentos ocasionais nas informações de monitoramento causados por longas esperas de bloqueio e melhora a observabilidade do sistema.

Correções de bugs

Descrição

  • Corrigido um problema em que algumas consultas elegíveis não eram despachadas corretamente para o IMCI quando o parâmetro imci_implicit_orderby_rollup estava ativado, garantindo a estabilidade do recurso de aceleração de consultas.

  • Resolvido um problema em que o cache table_name na view INFORMATION_SCHEMA do In-Memory Column Index (IMCI) não era atualizado tempestivamente após uma operação RENAME em uma tabela particionada, garantindo a consistência dos metadados.

  • Corrigido um problema em que tarefas de atualização baseadas em informações antigas de índice columnstore podiam acionar uma falha de asserção após o commit de um INSTANT DDL. Isso melhora a estabilidade do recurso INSTANT DDL.

  • Resolvido um problema em que tipos string podiam usar incorretamente as informações de collation de character_set_client ao usar o modo PREPARE EXECUTE. Isso garante a correção no tratamento de conjuntos de caracteres.

  • Corrigido um problema no Sharding Outline em que uma falha na lógica de cálculo de token impedia o suporte correto a aliases de tabela e cláusulas ORDER BY/LIMIT BY.

  • Resolvido um problema em que algumas instruções no modo PREPARE STATEMENT não eram roteadas corretamente para o IMCI, garantindo que prepared statements também se beneficiem da aceleração de desempenho.

  • Corrigido um problema em que o módulo Delta do In-Memory Column Index (IMCI) acessava um ponteiro nulo e causava falha no cluster porque o módulo falhava em verificar linhas revertidas durante a serialização de dados.

  • Resolvido um problema em que um Index Join em um Hybrid Plan para In-Memory Column Index (IMCI) ocasionalmente causava um erro Assertion failed: false ao consultar tabelas particionadas.

  • Corrigido um problema em que um erro invalid json podia ser retornado em alguns cenários ao ler dados JSON em um nó somente leitura (RO). Isso garante a consistência do formato de dados entre nós de leitura/escrita e somente leitura.

  • Resolvido um problema em que o IMCI e o row store podiam retornar resultados de consulta inconsistentes quando o primeiro parâmetro da função json_valid era do tipo varchar.

  • Corrigido um problema em que atualizar um valor NULL para uma string vazia podia causar falha no cluster em uma tabela que usa o formato de linha REDUNDANT e contém second-level DDL.

  • Resolvido um problema que causava cronometragem ocasionalmente imprecisa ao analisar consultas In-Memory Column Index (IMCI) usando a função Analyze In-Memory Column Index query performance (imci_analyze_query), melhorando a confiabilidade da ferramenta de análise de desempenho.

  • Corrigido um problema em que, após usar o recurso Database and Table Restoration para restaurar uma tabela particionada contendo Second-level DDL e com 10 ou mais partições, um erro podia ocorrer ao acessar a tabela.

  • Resolvido um problema em que a distribuição adaptativa roteava incorretamente consultas com funções definidas pelo usuário não suportadas para o IMCI, causando erros de execução.

  • Corrigido um problema em que o IMCI podia retornar um erro de falta de memória (OOM) ao processar operações GROUP BY em strings de comprimento variável com volumes de dados extremamente grandes.

  • Resolvida uma falha potencial no cluster durante uma execução de Batched Nested Loop (BNL) quando uma CTE era executada juntamente com SEMI JOIN DuplicateWeedout.

  • Corrigido um vazamento de memória no thread pool interno do In-Memory Column Index (IMCI) durante o elastic scale-in, prevenindo vazamentos de memória quando as PCUs de um cluster Serverless são ajustadas.

  • Resolvido um problema de deadlock causado pela adição desnecessária de bloqueios de transação de chave única (UK). Isso melhora a estabilidade do sistema em cenários de alta concorrência.

  • Corrigido um problema em que a execução concorrente de DROP INDEX enquanto um IMCI executava LOADING_NCI podia fazer com que a tarefa de carregamento travasse.

  • Resolvido um problema em que consultas ocasionalmente falhavam em usar o Hybrid Plan quando o global consistency (high-performance mode) estava ativado, garantindo que o plano de consulta correto seja selecionado no modo de alto desempenho.

8.0.1.1.49.2 (2025-06-11)

Correções de bugs

Descrição

  • Corrigido um problema em que operações de restauração point-in-time podiam não ser idempotentes no modo de parsing paralelo.

  • Resolvido um problema em que o In-Memory Column Index (IMCI) podia causar imprecisões de dados durante operações Online DDL nas versões 8.0.1 e posteriores.

  • Corrigido um problema em que o Index Join do Hybrid Plan do IMCI podia causar falha ao executar um padrão Anti Semi Join com um Post Filter.

  • Resolvido um problema em que o recurso Window Function podia causar um conjunto de resultados anormal quando dados de tabela temporária interna eram gravados em disco.

  • Corrigido um problema em que uma falha podia ocorrer durante o Data Cleanup (TTL) se um deadlock causasse o rollback de uma transação.

  • Resolvido um problema em que o thread Data Cleanup (TTL) podia causar falha se não conseguisse liberar um objeto de transação (trx) durante o desligamento.

  • Corrigido um problema de falta de memória (OOM) que podia ser acionado quando um In-Memory Column Index (IMCI) realiza uma compactação de ordenação.

8.0.1.1.49.1 (2025-05-21)

Correções de bugs

Descrição

Corrigido um vazamento de memória no thread pool interno do In-Memory Column Index (IMCI) durante o processo de elastic scale-in. Essa correção previne efetivamente vazamentos de memória em clusters serverless quando as PCUs (PolarDB Capacity Units) são ajustadas dinamicamente.

8.0.1.1.49 (2025-04-25)

Novos recursos

Descrição

  • O The TTL feature agora suporta a definição de tempo de expiração. Os dados expiram automaticamente após o tempo especificado.

  • Adicionado o recurso EXPLAIN DDL, que permite consultar as características de execução de instruções DDL específicas.

  • Os nós somente leitura (RO) do recurso Serverless agora incluem uma funcionalidade para recuperar memória não utilizada do parse buf (bloco de memória para parsing de logs), reduzindo o uso de memória.

  • Adicionado suporte a I/O assíncrono de redo log e I/O de partição de redo log (Partition IO) no Multi-master Cluster (Limitless) Edition.

  • Adicionada uma configuração para controlar o limiar de custo do adaptive execution para distribuição automática de solicitações entre nós de row store e column store.

  • No In-Memory Column Index (IMCI), o Index Join do Hybrid Plan agora suporta os modos Semi Join e Anti Semi Join.

Otimizações de desempenho

Descrição

  • Melhorado o desempenho de consultas IMCI que utilizam IN lists.

  • Otimizado o mecanismo de implementação Hash Groupby no IMCI para selecionar automaticamente políticas e algoritmos de particionamento com base nas características de distribuição dos dados, melhorando o desempenho das consultas.

  • Otimizada a lógica do otimizador de consultas para lidar com subconsultas, melhorando significativamente o desempenho do IMCI para subconsultas complexas IN e EXISTS.

  • Otimizado um problema em que o desempenho do banco de dados degradava ao usar o parâmetro max_execution_time sob alta concorrência.

Correções de bugs

Descrição

  • Corrigido um problema em que blocos de memória ocasionalmente se acumulavam no ImciFollower em uma arquitetura compartilhada multi-nó do In-Memory Column Index (IMCI).

  • Resolvido um problema em que WITH ROLLUP podia não emitir valores NULL corretamente quando a coluna na cláusula GROUP BY continha uma expressão.

  • Corrigido um problema raro em que um nó column store acessava dados em cache de antes de uma operação DDL.

  • Resolvido um problema de compatibilidade com the Fast import feature quando usado com partitioned tables e Instant Columns.

  • Corrigido um problema em que o IMCI não conseguia usar o parâmetro imci_implicit_orderby_rollup para controlar a ordenação dos resultados da consulta ao processar consultas com ROLLUP.

  • Resolvido um problema em que acessar um índice espacial em um nó somente leitura podia recuperar dados duplicados.

  • Corrigido um problema de scale-in para In-Memory Column Index (IMCI) em clusters Serverless com especificações grandes de nó primário.

  • Resolvido um problema em que o In-Memory Column Index (IMCI) não suportava a cláusula LIMIT 1 em subconsultas SQL.

  • Corrigido um problema em que a materialização mista Mixoutput do In-Memory Column Index (IMCI) não realizava conversão de fuso horário ao ler dados timestamp.

  • Resolvido um problema raro de leitura/escrita fora dos limites no ROW LOG ao executar ONLINE DDL em uma tabela com lista virtual.

  • Corrigido um erro potencial nos resultados de parallel query quando uma subconsulta continha uma palavra-chave Having.

  • Resolvido um problema em que o recurso Redo Cache podia ler dados sujos ao ler logs Redo de borda. Esse problema fazia com que a verificação de validade do log Redo falhasse, levando a uma falha no cluster.

  • Corrigida uma falha potencial no cluster sob alta concorrência quando os recursos parallel query (PQ) e performance_schema eram utilizados.

  • Resolvida uma falha potencial em um nó secundário de um Multi-master Cluster ao trocar o banco de dados ou o endpoint do objeto antes do nó.

  • Corrigido um problema potencial de corrupção de índice em um índice secundário criado em uma Virtual Column.

  • Resolvido um problema de compatibilidade entre o recurso database and table recovery e o recurso de extensão de nome de parâmetro de espaço de arquivo.

  • Corrigida uma falha de inicialização de um novo nó de leitura e escrita em um Multi-master Cluster quando um nó global somente leitura estava presente.

  • Resolvido um problema em que uma operação IMPORT TABLESPACE não podia ser realizada devido a uma falha inesperada durante uma escrita BLOB otimizada.

  • Corrigido um problema em que o fluxo de job do database and table recovery podia ser interrompido se um nome de parâmetro de extensão contivesse um espaço.

  • Resolvida uma interrupção potencial de tarefa quando a tabela de origem para restauração de banco de dados e tabela possuía um índice columnstore.

  • Corrigido um erro em que um nó somente leitura relatava que um arquivo não existia ao executar Show Binlog Events.

  • Resolvido um problema raro em que uma instrução não conseguia sair normalmente ao encerrar a conexão correspondente para um DDL em um cluster com DDL não bloqueante.

  • Corrigido um problema de compatibilidade para In-Memory Column Index (IMCI) ocorrido ao executar consultas SELECT DISTINCT em cenários non-full-groupby.

  • Resolvida uma série de problemas com a elasticidade de memória do In-Memory Column Index (IMCI) para melhorar a eficiência de utilização de memória e a estabilidade do cluster.

  • Corrigida uma falha potencial no cluster quando uma tabela materializada com ordenação era mesclada em uma consulta externa em um cenário de parallel query.

  • Resolvido um problema que fazia com que nós somente leitura (RO) em um cluster Serverless fossem reduzidos para 0,25 PCU durante a sincronização de especificações com nós de leitura e escrita (RW).

  • Corrigida uma falha no cluster ao criar uma tabela temporária com uma instrução CREATE TABLE AS SELECT.

8.0.1.1.48.1 (2025-03-20)

Correções de bugs

Descrição

Corrigido um problema em que solicitações de leitura em um nó somente leitura (RO) ficavam lentas em cenários com baixa carga de Redo quando o recurso de motor multiversão estava ativado.

8.0.1.1.48 (2025-02-21)

Novos recursos

Descrição

  • A instrução Delete agora suporta Index Hints, permitindo o uso de índices específicos através da sintaxe USE INDEX, FORCE INDEX ou IGNORE INDEX.

  • Adicionado suporte para envio de logs RedoLog para nós column store via rede, reduzindo o consumo de IOPS dos nós column store.

  • Adicionadas funções de criptografia SM4_encrypt()/SM4_decrypt() para implementar criptografia de acesso no nível de campo com o algoritmo SM4.

  • Adicionado recurso para parsear Redo em paralelo para replicação física, melhorando o desempenho da replicação física.

  • O resultado do Explain agora exibe o Outline ID chamado. Múltiplos Outline IDs chamados pela mesma instrução são separados por vírgulas.

  • O X-Engine adiciona suporte ao recurso de tabela larga grande, suportando até 10.000 colunas por tabela.

  • Adicionado o recurso Resource Management User Guide, que implementa isolamento de recursos de CPU nos níveis de User e Database.

  • O Multi-master Cluster (Limitless) Edition agora suporta o recurso de nó local somente leitura, que fornece distribuição de carga de leitura e failover de alta disponibilidade.

Otimizações de desempenho

Descrição

  • Otimizado o bloqueio mutex global para SHOW VARIABLES, melhorando o desempenho sob alta concorrência.

  • Otimizado o High-compression Engine (X-Engine) ativando automaticamente o recurso pre-commit em cenários DDL.

Correções de bugs

Descrição

  • Corrigido um problema que impedia nós somente leitura (RO) em um cluster Serverless de reduzirem para o limite inferior de 0,25 PCU durante a sincronização de especificações com nós de leitura e escrita (RW).

  • Resolvido um problema em que desativar o Hybrid Plan em tempo de execução no In-Memory Column Index (IMCI) podia causar falha.

  • Corrigido um problema raro de redundância de dados de índice columnstore que podia ocorrer se um cluster reiniciasse durante uma transação grande em um nó column store e uma recuperação de falha fosse realizada.

  • Resolvida uma exceção potencial que podia ser acionada quando todos os dados em um bloco de dados armazenado eram idênticos.

  • Ativada a permissão binlog_rows_query_log_events no nível de sessão para suportar backup e rollback SQL usando DMS.

  • Corrigido um problema em que o processo Online DDL para índices columnstore em um cenário Multi-master Cluster não se adaptava à lógica Logical Log Sequence Number (LLSN), resultando em perda de replay de logs Redo columnstore.

  • Resolvido um problema em que tablespaces antigos vazavam durante a recuperação após uma alteração DDL no X-Engine.

  • Corrigido um erro de seleção de índice no IMCI para cenários de filtragem de intervalo constante (const between field1 and field2).

  • Resolvida uma falha no IMCI ocorrida durante uma consulta em um partitioned table quando uma instrução Explain for Connection para a consulta era executada em outra sessão.

  • Removida uma restrição desnecessária na seleção de algoritmo. Agora, algumas subconsultas correlacionadas podem escolher o algoritmo eficiente HASH JOIN para execução de consulta.

  • Corrigido um problema em que resultados de consulta IMCI I_S (views relacionadas ao IMCI no banco de dados Information_Schema) com filtro name estavam incompletos devido ao uso de uma função de comparação de strings case-insensitive.

  • Resolvido um problema em que um bloqueio MDL não podia ser obtido durante a fase DDL SCAN, exibindo apenas uma mensagem de erro sem conseguir recuperar os dados do índice columnstore.

  • Corrigido um problema em que a variável gtid_purged em um nó somente leitura não era sincronizada com o nó primário.

  • Resolvido um problema em que excluir um banco de dados em um Multi-master Cluster podia causar o travamento de todo o cluster.

  • Corrigido um problema em que as variáveis para global consistency (high-performance mode) foram alteradas para o nível de Conexão, adicionando suporte para ativar ou desativar o recurso através de um endpoint de proxy.

  • Resolvido um problema em que executar comandos de tabela TRUNCATE e RENAME em um Multi-master Cluster podia causar o travamento de todo o cluster.

  • Corrigido um problema em que o engine XEngine limpava inesperadamente metadados de blocos de dados quando um nó somente leitura era reiniciado.

  • Resolvida uma anomalia potencial no sistema de bloqueio MDL quando o número de conexões excede 65536.

  • Corrigida uma situação em que um Multi-master Cluster podia tornar um nó de leitura e escrita inoperante quando o número de tabelas no banco de dados era grande.

  • Resolvido um problema em que definir uma variável do tipo flagset, como (optimizer_switch), não reporta mais erro se houver itens duplicados.

  • Corrigido um problema em que versões comunitárias anteriores falhavam em otimizar corretamente a ordem de junção em instruções de atualização de múltiplas tabelas.

  • Resolvido um problema no IMCI em que o estado era definido incorretamente quando múltiplos runtime filters eram enviados para a mesma tabela.

  • Corrigida uma falha potencial ao processar a saída de string vazia de GROUP_CONCAT com a expressão SUBSTRING_INDEX, e o comprimento do separador é maior que 1.

8.0.1.1.47.1 (2025-01-07)

Correções de bugs

Descrição

Corrigido um problema em que a leitura de objetos grandes JSON ou GIS usando o In-Memory Column Index (IMCI) podia falhar ocasionalmente.

2024

8.0.1.1.47 (2024-12-19)

Novos recursos

Descrição

  • Adiciona suporte a cenários de sharding de tabelas no Outline. Um único Outline pode corresponder a todas as instruções com o mesmo modelo, aplicável a diferentes tabelas com shard.

  • Permite ajustar dinamicamente o resultado da seleção de Order Index com base nas condições reais durante a execução.

  • Introduz uma funcionalidade para analisar o Redo em paralelo na replicação física, melhorando o desempenho desse processo.

  • Inclui a variável ignore_use_force_index. Quando ativada, ela ignora todos os use ou force index nas instruções e Outlines (mas não afeta Index() nos Hints).

  • Disponibiliza as funções de conversão de strings convert_sys_to_filename() e convert_filename_to_sys() para converter entre a codificação system_charset_info e a codificação my_charset_filename.

  • Adicionado suporte para setting transparent data encryption (TDE) de dados frios no OSS.

  • Implementado suporte a buffer MTT assimétrico para instâncias RW e RO, permitindo ativar o MTT optimization em ambas de forma coordenada.

  • A tabela IMCI i_s.imci_index_stats recebeu o campo PRUNED_PERCENT, que indica a taxa de Data Skipping para cada índice columnstore.

  • O resultado do SHOW ProcessList agora exibe se uma sessão está aguardando o agendamento do thread pool.

  • Possibilita a reconstrução direta de um índice columnstore ao modificar o pack_shift no COMMENT, sem necessidade de exclusão prévia.

Otimizações de desempenho

Descrição

  • Melhora o processo de scale-in dinâmico do Buffer Pool para reduzir conflitos de bloqueio.

  • Ajustes no SQL Trace garantem o registro correto de SQL e planos de execução ao utilizar Call procedure.

  • Reduz o overhead de memória em tabelas largas do columnstore.

  • Acelera a inicialização de nós columnstore somente leitura, permitindo que o mecanismo columnstore inicie independentemente a partir do offset do snapshot columnstore.

  • Simplifica a lógica de verificação de memória e otimiza o código de criação e destruição de threads para pré-leitura lógica.

  • Correção do tempo prolongado de inicialização do column store nodes em cenários com tabelas massivas.

  • Aprimora o desempenho e o uso de memória de grandes transações no IMCI.

  • Otimiza a materialização de expressões HASH KEY no IMCI.

  • O fluxo do Serverless para nós column store foi ajustado para que novos nós sejam adicionados ao nó Proxy para lidar com tráfego de service apenas após seus índices estarem prontos.

  • Aumenta a frequência de amostragem e a proporção de dados amostrados no mecanismo de estatísticas do IMCI.

    Refina a lógica de amostragem para colunas de baixa cardinalidade, evitando que estatísticas imprecisas impeçam a otimização completa das consultas.

  • Aprimora o módulo de bloqueio de desempenho assíncrono Simulated-AIO.

Correções de bugs

Descrição

  • Resolve um problema em que operações DDL podiam gerar erro ou não surtir efeito em tabelas com view após um HA (troca de nó).

  • Corrige uma falha onde um nó RO podia deixar de fornecer service continuamente após se reconectar ao nó RW.

  • Elimina uma falha de processo causada pela instrução CAST(REGEXP_SUBSTR(...)) AS DECIMAL.

  • Ajusta o comportamento do REGEXP_SUBSTR que poderia retornar um flag NULL incorreto.

  • Impede que a instrução de criação da tabela de sistema dlm_policies seja gravada no BINLOG, o que causava falhas na sincronização downstream.

  • Garante que índices únicos sejam totalmente utilizados para aceleração em determinadas consultas.

  • Remove metadados residuais gerados ao excluir múltiplos índices full-text (FTS) simultaneamente com a instrução ALTER TABLE DROP.

  • Evita a reconstrução desnecessária de índices ao aumentar o comprimento de uma coluna VARCHAR com valor DEFAULT especificado.

  • Correções aplicadas ao Serverless do IMCI, incluindo compatibilidade com elasticidade de memória interna e anomalias de dimensionamento.

  • Desbloqueia buscas por índice full-text em nós somente leitura que travavam após operações DDL.

  • No Adaptive Execution, corrige o roteamento inadequado de tipos específicos de consultas.

  • Habilita a reconstrução online do In-Memory Column Index (IMCI), resolvendo problemas de disponibilidade.

  • Previne falhas em clusters multi-write ao executar add columnstore indexes in batches, causadas pelo manuseio incorreto do bloqueio global DDL.

  • Resolve falhas de consulta em cenários JSON_TABLE com campos NULL.

  • Soluciona conflitos entre o redimensionamento do Buffer Pool Multi-master e o acesso transacional a blocos, além de otimizar o desempenho do registro ou cancelamento de registro RDMA do Buffer Pool Multi-master.

  • Adiciona suporte ao protocolo PS (Prepared Statements) no Digest CCL.

  • Evita possíveis falhas em nós RO durante a fase de HA (troca de nó) após a ativação do recurso RO No Sync.

  • Corrige um loop infinito e retenção prolongada de bloqueios durante rollbacks de transação que exigiam bloqueio pessimista para excluir índices espaciais.

  • Resolve uma interrupção rara de tarefas que podia ocorrer durante a atualização de versões antigas para a 8.0.1.1.45.1.

  • Corrige um erro raro de consulta causado pelo acesso a dados inválidos em tipos string durante a execução no columnstore.

  • Impede que o IMCI reverta para row store ao processar expressões com múltiplas subconsultas contendo SUM.

  • Elimina espera circular na reconstrução assíncrona de índices de coluna em cenários IMCI single-write, multiple-read com o recurso Use Hybrid Plan to accelerate wide table queries ativado.

  • Corrige gravações incorretas de Redo em algumas páginas ao modificar o parâmetro innodb_bulk_load_page_grained_redo_enable dentro de uma janela de tempo específica durante a execução paralela de DDL.

  • Previne deadlocks potenciais no BLINK durante exclusões em lote de dados em tabelas com campos LOB.

  • Resolve falhas no processo migrate causadas pela concorrência entre operações INSTANT DDL de alta frequência e tarefas de Compaction em segundo plano.

  • Corrige o erro table is full em tabelas temporárias gerado pelo uso de GROUP BY.

  • Estabiliza resultados de index join no IMCI quando uma constante é usada como condição de junção.

8.0.1.1.46.2 (2024-11-19)

Correções de bugs

Descrição

  • Corrige o rollback do valor Autoinc da tabela após a promoção de um nó RO para RW seguida da execução de INSERT ... ON DUPLICATE KEY UPDATE.

  • Resolve problemas de compatibilidade com elasticidade de memória interna e exceções de dimensionamento no Serverless do IMCI.

  • Previne falhas quando a transformação de consulta envolve mais de 61 tabelas; nesses casos, a reescrita da consulta não é realizada.

8.0.1.1.46.1 (2024-11-06)

Correções de bugs

Descrição

  • Desbloqueia buscas por índice full-text em nós somente leitura que travavam após operações DDL.

  • Resolve incompatibilidade entre a capacidade de backward index scan e otimizações como ICP. Um novo polar_optimizer_switch foi adicionado para controle.

8.0.1.1.46 (2024-10-28)

Novos recursos

Descrição

Inclui a variável ignore_use_force_index. Quando ativada, ignora todos os use/force index nas instruções e Outlines (mas não afeta index() nos hints).

Otimizações de desempenho

Descrição

  • No IMCI, a tabela INFORMATION_SCHEMA.IMCI_INDEX_STATS agora inclui o campo PRUNED_PERCENT, indicando a taxa de data skipping para cada índice de coluna.

  • Aprimora o SQL trace para aplicar também às instruções especificadas por DEMAND quando o tipo for definido como SLOW LOG.

  • Permite buffers MTT assimétricos em nós RW e RO, com suporte à ativação vinculada do MTT entre RO e RW.

  • Refina o processo Serverless para nós column store.

    Novos nós column store passam a atender tráfego apenas após seus índices estarem prontos, reduzindo consultas lentas causadas pelo roteamento de SQL para esses nós enquanto ainda executavam planos de row store.

  • Diminui o overhead de desempenho ao salvar informações de partição para IMCI durante a execução de SQL, melhorando o desempenho de consultas do partitioned tables.

Correções de bugs

Descrição

  • Previne falhas no cluster durante a inicialização do Undo quando o Force recovery está ativado.

  • Elimina deadlocks causados pela reconstrução assíncrona de índices de coluna em cenários IMCI one-write, multiple-read com Hybrid Plan ativado.

  • Corrige erros ao reimportar os mesmos dados em uma tabela particionada com atributo UNIQUE CHECK IGNORE usando LOAD DATA com REPLACE.

  • Evita a introdução de dados corrompidos em recent_written quando o valor CRC dos dados recebidos era exatamente 0 em implantações de três zonas.

  • Impede que nós RO fiquem presos durante a fase de HA (troca de nó), evitando tempos excessivamente longos de HA para o usuário.

  • Corrige corrupção de B-tree causada pela adição de uma coluna auto-incremento e criação de um índice de chave primária decrescente nessa coluna.

  • Impede que o IMCI reverta para row store ao processar expressões com múltiplas subconsultas contendo SUM.

  • Resolve um problema raro de resíduo de memória quando ocorria erro durante a reconstrução paralela de chave primária.

  • Previne falhas potenciais ao processar campos LOB em consultas GROUP BY usando o mecanismo Temptable.

  • Corrige possíveis erros em resultados de consultas paralelas quando a condição do predicado continha uma subconsulta.

  • Resolve falhas potenciais de consulta em cenários JSON_TABLE com campos NULL.

  • Corrige anomalias de codificação NCI durante operações DDL do tipo EQUAL_PACK_LENGTH ao modificar um campo PRIMARY KEY.

  • Resolve conflito entre a divisão avançada de transações do Proxy e o Fast Query Cache que afetava o conjunto de resultados.

  • Corrige resultados incorretos ao usar expressões JSON_ARRAY em subconsultas com IMCI ativado.

  • Previne a interrupção do new flow para recuperação de banco de dados e tabelas quando a mesma tabela era recuperada múltiplas vezes.

  • Elimina vazamento de memória ocorrido durante a ativação dinâmica do recurso RDMA log transfer.

  • Habilita a reconstrução online do In-Memory Column Index (IMCI), resolvendo indisponibilidade do IMCI.

  • Permite o uso de DDL assíncrono ao adicionar um In-Memory Column Index (IMCI) modificando o COMMENT de uma tabela com índice full-text.

  • Garante que transações possam ser killed corretamente em cenários de alta concorrência.

8.0.1.1.45.2 (2024-09-13)

Correções de bugs

Descrição

  • Resolve uma interrupção rara de tarefas que podia ocorrer durante a atualização de versões antigas para a 8.0.1.1.45.1.

  • Corrige um erro raro de consulta causado pelo acesso a dados inválidos em tipos string durante a execução de consultas no columnstore.

8.0.1.1.45.1 (2024-09-09)

Otimizações de desempenho

Descrição

Reduz o overhead de memória em tabelas largas columnstore do IMCI.

8.0.1.1.45 (2024-09-03)

Novos recursos

Descrição

  • Exibe se uma sessão está aguardando agendamento do thread pool.

  • Implementa estratégia de reordenação de join baseada em algoritmo guloso no IMCI.

  • Novos procedimentos armazenados e comandos SQL estendidos permitem adicionar columnstore indexes a um banco de dados inteiro em lotes.

  • Suporte adicionado para major engine version upgrades a partir de conjuntos de backup do PolarDB 5.7, aumentando a eficiência da migração com um clique.

  • O Hybrid Plan para columnstore index agora abrange tabelas particionadas, colunas virtuais e colunas dos tipos ENUM, SET e GIS.

Otimizações de desempenho

Descrição

  • Permite ajuste dinâmico dos Threads de IO do PolarDB sem reinicialização.

  • Aprimora a elasticidade automática da reprodução single-machine do IMCI, reduzindo latência de reprodução e problemas de out-of-memory (OOM) causados por alta pressão de reprodução.

  • Acelera a leitura de campos do tipo Date no IMCI.

  • Aumenta a frequência e a proporção de dados no mecanismo de amostragem de estatísticas do IMCI.

    Refina a lógica de amostragem para colunas de baixa cardinalidade, evitando que estatísticas imprecisas impeçam a otimização completa das consultas.

Correções de bugs

Descrição

  • Resolve falhas de nó relacionadas a índices full-text InnoDB em Clusters Multi-master.

  • Corrige desvios significativos na estimativa de seletividade do otimizador quando condições JOIN no IMCI incluem conversão de tipos.

    Ajusta a seleção do Hybrid Plan no IMCI, corrigindo superestimativas da cardinalidade de saída de JOINs.

  • Garante resultados corretos do JSON_LENGTH na presença de caracteres curinga.

  • Corrige gravações incorretas de Redo em algumas páginas ao modificar o parâmetro innodb_bulk_load_page_grained_redo_enable dentro de uma janela de tempo específica durante a execução paralela de DDL.

  • Previne rollback do valor Autoinc em tabelas particionadas após a promoção de um nó somente leitura para leitura/escrita.

  • Evita bloqueios temporários em conexões de monitoramento ao remover um nó RO com innodb_polar_log_rdma_transfer ativado.

  • Estabiliza resultados do index join no IMCI quando uma constante é usada como condição JOIN.

  • Corrige o erro table is full reportado pelo temptable em tabelas temporárias com group by, mesmo com disco disponível.

  • Reduz o tempo de espera de threads de usuário por Free Page em nós RO quando o Buffer Pool está muito cheio.

  • Previne deadlocks potenciais no blink durante exclusões em lote de dados em tabelas com campos lob.

  • Estabiliza resultados afetados pela otimização de eliminação de JOIN no IMCI.

  • Impede que o valor Autoinc reinicie em 1 na próxima operação de escrita após a exclusão total dos dados de uma tabela.

  • Permite executar drop database com sucesso mesmo quando o database contém dezenas de milhares de tabelas.

  • Garante a remoção de subconsultas inúteis durante a mesclagem de views.

  • Previne erros de memória insuficiente em consultas IMCI com excesso de cláusulas UNION ALL.

  • Corrige a invocação de outlines em instruções desc select.

  • Ajusta a exibição de table_comments em information_schema.tables que mostrava incorretamente xxx is not base table.

  • Alinha a conversão implícita de tipos de data no IMCI ao comportamento do MySQL, evitando resultados inesperados.

  • Resolve inconsistências em resultados de consultas IMCI causadas pela adição de novas partições em tabelas criadas em versões anteriores, que alteravam o tipo padrão de pruner.

  • Corrige precisão de ponto flutuante em JSON.

8.0.1.1.44 (2024-07-06)

Novos recursos

Descrição

  • Permite derivar views correspondentes a partir de condições join.

  • Introduz versão de materialização tardia do UnionAll para o IMCI.

Otimizações de desempenho

Descrição

  • Reduz o tempo de otimização em consultas simples (tabelas únicas).

  • Clusters Multi-master agora suportam bloqueios refinados no nível de tabela.

  • Acelera operações de soma/média decimal no IMCI.

  • Melhora o desempenho em cenários de atualização de hotspots.

  • Otimiza o desempenho de hash match no IMCI.

  • Reduz a memória utilizada por metadados em consultas IMCI.

  • IMCI passa a suportar pushdown de filtros para outer joins.

  • Ajusta a prioridade dos threads de processamento de transações do PolarFS para melhorar o desempenho de DDL no PolarDB.

Correções de bugs

Descrição

  • Resolve falhas em import table causadas por páginas penduradas no blink.

  • Elimina travamentos do DB durante o acionamento ativo de checkpoints em vários processos.

  • Previne perda de marcadores devido a trocas dinâmicas frequentes do RO No Sync.

  • Permite a inicialização de nós Standby globais em Clusters Multi-master mesmo com segmentos de rollback anormais.

  • Habilita o arquivamento de tabelas InnoDB com function index.

  • Corrige valores negativos de Last_query_cost em alguns cenários de otimização.

  • Permite a eliminação de join mesmo quando uma função contém uma função agregada.

  • Atualiza tempestivamente o endereço IP no log de auditoria ao reutilizar conexões sob connection pool no nível de sessão.

  • Resolve problemas relacionados ao bloqueio e desbloqueio de bloqueios globais de tabela em Clusters Multi-master.

8.0.1.1.43 (2024-06-03)

Novos recursos

Descrição

  • Adiciona suporte a Binlog para upload retomável de transações.

  • Inclui o parâmetro thread_pool_reset_waiting_state_before_queuing.

Otimizações de desempenho

Descrição

  • O IMCI implementa Index Join baseado em Hybrid Plan, permitindo o uso de índices InnoDB para operações de Join.

  • Melhora o desempenho de leitura de Page em nós somente leitura no PFS.

  • Reduz a memória utilizada por metadados em consultas IMCI.

Correções de bugs

Descrição

  • Define que valores incorretos em optimizer_switch e parallel_query_switch geram Warning em vez de Error.

  • Garante que o valor de optimizer_switch tenha efeito mesmo se houver vírgula no final.

  • Mantém a seleção correta de índices após adicionar operação limit em consultas agregadas implícitas.

  • Interrompe o crescimento contínuo do undo log após a reconstrução de follower em ambientes 3AZ.

  • Previne leitura de dados antigos pelo RO quando o Persist RO está ativo.

  • Reduz atrasos elevados de replicação em nós somente leitura de Clusters Multi-master.

  • Corrige erros na estimativa de cardinalidade que impediam o otimizador de selecionar a Ordem de Join ideal.

  • Elimina deadlocks entre threads durante ajustes de estrutura Btree causados por exclusão de registros.

  • Permite o arquivamento correto de tabelas que possuem índices decrescentes.

  • Garante retorno de dados ao usar pushdown de Limit Offset com condição de igualdade de índice secundário composto mais condição de chave primária In List para paginação reversa.

  • Restringe permissões excessivas durante a execução de políticas DLM.

  • Previne impacto na disponibilidade de outros nós ao executar Create Table Select em Clusters Multi-master.

  • Evita corrupção de páginas de sistema ao executar instruções DDL simultaneamente em múltiplos nós de um Cluster Multi-master.

8.0.1.1.42 (2024-04-30)

Novos recursos

Descrição

  • Implementa pushdown de predicados, incluindo propagação de HAVING para WHERE, tabelas derivadas e subconsultas.

  • Introduz otimizador híbrido linha-coluna e capacidade de roteamento linha-coluna baseada em custo.

  • Permite visualizar a invocação de Statement Outlines no resultado do EXPLAIN.

  • Suporta filtro bloom murmur hash de prefixo no IMCI.

  • Habilita eliminação de LEFT JOIN em instruções UPDATE.

  • Permite adição instantânea de colunas em tabelas com índice columnstore criado.

  • O Fast Query Cache agora armazena o número de linhas retornadas. Consultas que atingem o cache podem exibir essa informação no log de auditoria.

Otimizações de desempenho

Descrição

  • Introduz mecanismo de feedback de execução no roteamento linha-coluna para coletar informações reais e retroalimentar o otimizador.

  • Desativa index merge intersection por padrão para instruções DML, melhorando desempenho e prevenindo deadlocks.

  • Economiza memória ao reduzir o overhead de metadados de alocação e estatísticas de memória no IMCI.

  • IMCI utiliza BatchProbe para acelerar operações JOIN.

  • Diminui o uso de memória residente ao otimizar metadados, módulos de arquivo e pequenos objetos residentes em RAM no IMCI.

  • Aprimora mensagens de erro ao importar dados frios do OSS de volta para o InnoDB.

  • Ignora o impacto de acessos de engenheiros de O&M na métrica de status slow_queries durante o monitoramento de desempenho do banco de dados.

Correções de bugs

Descrição

  • Corrige mapeamento incorreto de caminho OSS para tabelas na lixeira após reinício do cluster com RECYCLE BIN ativado para tabelas IBD do OSS.

  • Impede que nós somente leitura (RO) com desvio excessivo de relógio assumam permissões de nós leitura/escrita (RW) ao iniciar o disco de votação vetorial NewHA.

  • Permite que o procedimento armazenado interno dbms_oss.delete_table_file exclua dados frios em formato CSV.

  • Corrige contador interno do Thread Pool que ficava incorreto ao encontrar espera de bloqueio ACL durante autenticação assíncrona.

  • Garante a recuperação de espaço Blob do registro original ao realizar operações UPDATE em colunas do tipo Blob.

  • Previne perda de dados ao arquivar repetidamente tabelas externas do OSS.

  • Garante que a operação de ordenação seja omitida na execução real quando o otimizador já tiver selecionado um índice de ordenação.

  • Previne falha de nó ao criar tabela externa OSS sem configurar o parâmetro oss_prefix no OSS Server.

  • Corrige recuperação de dados anormais ao acessar certas tabelas no banco information_schema em Clusters Multi-master.

  • Elimina mensagem assert em multiplicações de dados Decimal quando pelo menos um multiplicador é 0 e a escala do resultado excede 16.

  • Garante amostragem completa de partições ao atualizar estatísticas em tabelas particionadas com índice columnstore, evitando imprecisões.

  • Habilita roteamento adaptativo linha-coluna em acessos por igualdade de índice.

  • Reduz impressão excessiva de logs de inicialização Autoinc.

  • Corrige erro potencial em tabelas externas OSS em cenários Order By Desc.

  • Previne falha rara de nó ao executar TRUNCATE PARTITION em tabelas particionadas com coluna auto-incremento.

  • Evita corrupção de dados por ordens de índice diferentes durante operações EXCHANGE PARTITION.

  • Previne falha potencial de nó causada pelo cancelamento automático de operação anterior de scale-in no Buffer Pool sob alta concorrência.

8.0.1.1.41 (2024-03-19)

Novos recursos

Descrição

Implementa Left Join baseado em pushdown TopK no índice columnstore.

Otimizações de desempenho

Descrição

  • Permite conceder permissões dinâmicas globais para executar comandos SHOW_ROUTINE, FLUSH_USER_RESOURCES, FLUSH_TABLES, FLUSH_STATUS e FLUSH_OPTIMIZER_COSTS.

  • Simplifica a ativação do modo de consistência global de alto desempenho. Ao definir innodb_polar_scc como ON em um nó RO, o cluster ativa automaticamente recursos dependentes como RDMA e PolarTrans.

  • Suporta sintaxe Variable-Setting Hint no modo de consistência global de alto desempenho.

  • Permite definir polar_oss_ddl_shared como ON para acessar dados de tabelas em processo de arquivamento como dados frios.

  • Desativa atualização parcial para campos Blob.

  • Estende o recurso de restauração de banco de dados e tabelas para tabelas com índice columnstore.

  • Utiliza coleta de estatísticas de valor mais comum no índice columnstore para melhorar a precisão da estimativa de registros por chave em cenários de skew de dados.

  • Aprimora o agendamento de memória do índice columnstore para melhor utilização.

  • Expande o suporte do DDL nonblocking para mais instruções DDL.

  • Permite uso simultâneo de índice columnstore e consistência global (modo de alto desempenho).

  • Habilita verificação de partições específicas com o comando CHECK TABLE.

Correções de bugs

Descrição

  • Restringe a execução da instrução TRUNCATE em Clusters Multi-master.

  • Previne falhas de nó causadas por referências Blob inválidas durante pré-leitura de dados tipo Blob.

  • Corrige falha potencial ao exportar tabela local para o mecanismo OSS em paralelo.

  • Garante que o offset LSN do checkpoint atenda às expectativas, evitando falhas na lógica de crash recovery após reinícios anormais do cluster.

  • Elimina necessidade de reinício do nó para recuperar rollback de Autoinc.

  • Previne falha potencial de nó quando tabelas temporárias baseadas no TempTable são referenciadas múltiplas vezes em CTE (Common Table Expression) com varredura de índice.

  • Corrige acesso fora dos limites de memória ao processar strings muito longas no índice columnstore.

  • Resolve falha rara de nó ao usar simultaneamente índice columnstore e pré-leitura.

  • Ajusta controle de concorrência da tarefa de compactação em segundo plano do X-Engine para não impactar operações em primeiro plano e consultas lentas.

  • Melhora precisão da estimativa de cardinalidade em Joins com colunas BIGINT de valores muito grandes, permitindo o uso do índice columnstore.

  • Elimina deadlocks em read-ahead DDL em cenários de DDL paralelo.

  • Corrige vazamento de memória durante operações Reload em recursos como Statement Outline e Controle de Concorrência.

  • Ajusta exibição incorreta de campos BIT após operações Group By.

  • Resolve incompatibilidade entre memória TDE e RDMA ao bifurcar processo filho.

  • Elimina grupos duplicados no conjunto de resultados quando consultas paralelas enviam GROUP BY para Worker em tabelas particionadas.

  • Previne corrupção de índice e inacessibilidade de dados devido a ordens diferentes durante operações EXCHANGE PARTITION.

  • Corrige problemas em tabelas particionadas cuja chave primária não inclui a chave de particionamento, afetando buscas do otimizador, operações DML e registro de Binlog.

8.0.1.1.40.2 (2024-02-07)

Correções de bugs

Descrição

  • Normaliza o atraso de replicação de nós globais somente leitura quando há desbalanceamento de carga nos nós primários de Clusters Multi-master.

  • Garante a inicialização correta de nós somente leitura recém-criados em Clusters Multi-master.

  • Permite reinício bem-sucedido de nós primários após execução de DDL em Clusters Multi-master.

8.0.1.1.40 (2024-01-19)

Novos recursos

Descrição

  • Implementa estatísticas de amostragem no X-Engine para estimar a taxa de compressão aproximada.

  • Habilita índice columnstore no nó global somente leitura de Clusters Multi-master (Database/Table).

  • Permite ignorar o nível de isolamento de transação definido implicitamente por ferramentas como Metabase ao usar índice columnstore.

  • Stats Manager despacha automaticamente tarefas de coleta de histogramas para nós somente leitura ou réplicas quentes, viabilizando atualizações automáticas.

  • Suporta tabelas temporárias no Hybrid Plan para acelerar consultas em tabelas largas.

  • Adiciona degradação adaptativa e recuperação automática para semi-sync.

  • Permite modificar conjunto de caracteres de campos usando algoritmo INPLACE.

  • SQL Trace permite configurar opções para um número limitado de nós somente leitura, aceitando os valores REPLICA_DEMAND, REPLICA_ALL ou REPLICA_SLOW_QUERY no parâmetro sql_trace_type.

Otimizações de desempenho

Descrição

  • Acelera o processamento de solicitações de conexão pelo Thread Pool em cenários de baixa concorrência.

  • Melhora o desempenho do banco de dados em cenários de conexões efêmeras.

  • Otimiza cálculo de máscara de transação no IMCI.

  • Aumenta automaticamente o tempo máximo de troca no plano de execução adaptativo quando há alto volume de I/O de leitura de dados frios.

  • Ajusta comprimento máximo de exibição de instruções de consulta no SQL Trace.

  • Índice columnstore utiliza filtro dinâmico para melhorar eficiência de joins entre tabelas.

  • Remove obrigatoriedade de vírgula final ao definir loose_optimizer_switch via instrução SET_VAR HINT.

Correções de bugs

Descrição

  • Corrige ordenação incorreta ao consultar dados TopK com classificação reversa no IMCI, quando as tabelas envolvidas continham muitos valores NULL.

  • Permite recuperação de dados columnstore mesmo se um nó columnstore somente leitura for iniciado durante DDL envolvendo tabela com índice columnstore.

  • Resolve vazamento de espaço causado por exceção durante operação shrink.

  • Previne anomalias em nós somente leitura causadas por modificações concorrentes de estruturas de dados durante replicação física do X-Engine.

  • Corrige falha de upgrade ao promover X-Engine de réplica de leitura para standby.

  • Reduz consumo excessivo de memória do otimizador ao usar índice columnstore em consultas de alta concorrência.

  • Garante amostragem completa de partições ao atualizar estatísticas em tabelas particionadas com índice columnstore, evitando imprecisões.

  • Permite roteamento para nó de índice columnstore mesmo quando subconsultas retornam conjuntos vazios.

  • Mantém validade de regras CCL correspondidas por DIGEST após upgrades de cluster.

  • Normaliza velocidade de consulta em information_schema.tables quando o banco contém tabelas externas CSV ou ORC.

  • Resolve falha de parsing no Flink CDC causada por table_id duplicado no Binlog global de Clusters Multi-master (Database/Table).

  • Permite consulta de dados de transações retomáveis quando usado com consultas paralelas.

  • Corrige falha ao adicionar novo nó RO devido a offset de registro baixo durante o novo processo de restauração de banco de dados e tabelas.

  • Previne bloqueio de threads por disco cheio durante o novo processo de restauração de banco de dados e tabelas.

  • Reduz consumo elevado de memória ao usar Prepare Statement com muitas requisições concorrentes ou consultas complexas.

  • Corrige resultados incorretos ao consultar views com dados tipo BIT via IMCI.

  • Resolve erro "ERROR 1748 (HY000) Found a row not matching the given partition set" em inserções em tabelas particionadas KEY, considerando STORED GENERATED COLUMN no pruning.

  • Previne acesso de novas conexões a arquivos antigos descartados devido a operações frequentes de DDL e HA durante arquivamento de dados frios como arquivo IBD.

2023

8.0.1.1.39

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Permite acessar informações da view INFORMATION_SCHEMA do column store a partir de qualquer nó. Por padrão, o sistema agrega e exibe informações de todos os nós do column store.

  • Simplifica o uso de parâmetros para distribuição automática de requisições entre nós de row store e column store.

  • Quando uma instrução de consulta não suporta o uso do mecanismo de column store, defina o parâmetro use_imci_engine como FORCED e execute a consulta. Nesse caso, o resultado retornará o motivo pelo qual o mecanismo de column store não pôde ser utilizado.

  • Suporta o uso de subconsultas correlacionadas na cláusula Grouping e a eliminação de subconsultas correlacionadas complexas.

  • O Binlog global de um Multi-master Cluster agora suporta GTID (identificador global de transação).

  • Otimiza o recurso de scale-out do Buffer Pool, incluindo o cancelamento automático de operações anteriores de scale-in e a execução oportuna do scale-out.

  • Melhora o processo de inicialização do IMCI para reduzir o tempo de preparação dos índices de coluna.

  • Oferece suporte a roteamento adaptativo para consultas híbridas de linha e coluna.

  • Aumenta o desempenho de leitura de nós RO em cenários onde um índice secundário retorna à chave primária.

14-12-2023

Correções de bugs

  • Corrige uma falha de nó causada por formato incorreto de CONNECTION definida pelo usuário ao criar uma tabela externa do OSS.

  • Inclui um patch do MySQL oficial 8.0.17 para corrigir um problema de rollback de autoincremento causado pela modificação de auto_increment_increment no lado do cliente.

  • Inclui um patch do MySQL oficial 8.0.16 para corrigir um problema de deadlock causado por Blob excessivamente grande.

  • Resolve uma falha em nó RO provocada pelo Runtime Apply.

  • Corrige um cenário em que o flush de páginas sujas do nó RW ficava bloqueado porque, em casos especiais, ele não encerrava sua relação de replicação com um nó RO defeituoso.

  • Soluciona um problema de rollback de Autoinc causado pela evicção de cache de tabelas devido a um número excessivo de tabelas após um HA.

  • Corrige uma falha na inicialização de um nó de leitura e escrita em um Multi-master Cluster quando o centro de cache era reiniciado.

  • Resolve um problema em que uma tabela poderia falhar ao abrir durante a troca do endpoint de escrita em um Multi-master Cluster.

  • Corrige o uso excessivo de memória durante a replicação física em um nó RO.

  • Corrige um problema em que um outline em um nó AP não entrava em vigor quando o comprimento do token SQL excedia o valor do parâmetro max_digest_length.

  • Resolve uma falha de sincronização de adição ou exclusão de outline para um nó RO após a atualização desse nó.

  • Corrige tempos de resposta elevados em escritas de baixa concorrência para tabelas no X-Engine.

  • Corrige o erro "table definition has changed" ocorrido quando o Hybrid Plan era aplicado a uma instrução SQL com Order By e as linhas de saída continham NULL.

8.0.1.1.38.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Em clusters sem nenhum Statement Outline adicionado, se um Statement Outline for incluído após uma atualização de versão, a correspondência do outline não será mais afetada pelo conjunto de caracteres.

07-11-2023

8.0.1.1.38

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Permite usar o procedimento armazenado interno dbms_oss.delete_table_flie para excluir arquivos não utilizados no OSS.

  • Aprimora o recurso de restauração de banco de dados e tabelas, aumentando a velocidade de restauração e oferecendo suporte a rollback em caso de falha na tarefa.

31-10-2023

Correções de bugs

  • Resolve uma falha que impedia a restauração pontual (point-in-time) de tabelas com índice de coluna IMCI.

  • Corrige um cenário em que o operador GroupJoin consumia memória excessiva, resultando em falha na consulta.

  • Soluciona uma falha no rollback de RowID avançado durante o carregamento de checkpoint.

  • Corrige um problema em que um nó somente leitura (RO) acessando o X-Engine não relatava informações de referência de versão, causando falha na recuperação de espaço.

  • Ajusta o otimizador para estimar corretamente a seletividade de Join ao unir uma coluna sem sinal com uma coluna com sinal.

  • Permite a execução de consultas com predicados OR que anteriormente falhavam porque o plano de consulta não conseguia vincular-se à coluna correta.

  • Evita que uma consulta encerrada pelo agendador provoque a reinicialização do banco de dados.

  • Corrige a degradação de desempenho de I/O no cenário de materialização tardia do índice columnstore.

  • Resolve uma falha rara de cluster em Multi-master Cluster causada pela não liberação tempestiva do lock de metadados de uma tarefa agendada.

  • Corrige lentidão em consultas ao acessar tabelas no X-Engine, causada pela impossibilidade de usar varredura de cobertura de índice após acessar o índice de chave primária.

  • Resolve interrupções no link de migração provocadas pela reinicialização de um cluster PolarDB durante o cenário de atualização com um clique do RDS for MySQL para PolarDB for MySQL.

  • Corrige falha em nó réplica causada por sequência extrema de redo log, decorrente de uma relação de concorrência entre a exclusão de tabela ou índice no X-Engine e uma operação rara de SwitchMemtable em segundo plano.

8.0.1.1.37

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Otimiza a taxa de leitura de logs Redo por um nó somente leitura (RO) em cenários com Blobs grandes.

  • Permite chamar procedimentos armazenados internos utilizando nomes em letras maiúsculas.

21-09-2023

Correções de bugs

  • Corrige falha de nó causada pela adição de crases nos parâmetros de entrada ao chamar certos procedimentos armazenados internos.

  • Resolve possível falha de nó ao excluir a última regra CCL do mesmo tipo de instrução SQL que possuía apenas a palavra-chave preenchida, sem schema e tabela.

  • Corrige uma falha rara durante o processo de promoção de um novo nó somente leitura (RO) para nó de leitura e escrita (RW), caso houvesse log de extensão de arquivo após o checkpoint no nó RW no momento da conexão do nó RO.

8.0.1.1.36

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Acelera o arquivamento de dados frios para o OSS no formato CSV.

  • Refina o modelo de custo para acesso a índices sem cobertura com condições de igualdade.

  • Adiciona o parâmetro opt_non_covering_key_cost para controlar se o custo inicial de posicionamento de um índice secundário deve ser considerado.

  • Introduz o parâmetro worst_seek_records_threshold para limitar o custo máximo de I/O no acesso a índices sem cobertura com condições de igualdade durante a estimativa de custo.

  • Implementa mecanismo de degradação por timeout no recurso de Redo semissíncrono.

22-08-2023

Correções de bugs

  • Corrige falha no recurso de otimização JPPD quando uma CTE continha uma CTE aninhada com múltiplas referências.

  • Garante que o nó Slave acione o mecanismo de reconexão quando o nó primário for desligado e reiniciado.

  • Resolve problema potencial ao usar a função JSON_REMOVE na sintaxe de atualização de dados do tipo BLOB.

  • Corrige reinicialização anormal de nó causada por acesso ilegal à memória durante verificação de deadlock de transação.

8.0.1.1.35.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Resolve problema de alto uso de CPU em clusters de especificações baixas.

13-07-2023

8.0.1.1.35

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona a instrução SELECT INTO DEFAULT OSSOUTFILE.

  • Inclui o parâmetro innodb_polar_import_tablespace_strict_mode, com valor padrão ON. Isso significa que um erro será reportado se a estrutura da tabela contiver um índice full-text durante uma operação de restauração de banco de dados e tabelas.

  • Permite consultar dados de uma partição específica em tabela particionada usando índice columnstore.

  • O SQL Trace passa a suportar amostragem de instruções SQL específicas.

05-07-2023

Correções de bugs

  • Impede que usuários comuns excluam o esquema sys.

  • Corrige reinicialização anormal de nó ao realizar restauração de banco de dados e tabelas em tabela particionada após um HA.

  • Resolve falha na promoção do nó Standby para nó mestre durante restauração pontual (point-in-time) de um Multi-master Cluster.

  • Garante o isolamento adequado de procedimentos armazenados, funções definidas pelo usuário, tarefas agendadas, views e triggers entre diferentes nós em um Multi-master Cluster.

  • Permite a troca correta de procedimentos armazenados, funções definidas pelo usuário, tarefas agendadas, views e triggers entre diferentes nós em um Multi-master Cluster.

  • Assegura a sincronização e atualização dos dados no banco Information_schema após atualizações de dados quando o recurso de query cache está habilitado em um Multi-master Cluster.

  • Acelera o processo de limpeza em Multi-master Cluster quando o número de tabelas de dados é muito elevado.

8.0.1.1.34

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Possibilita a criação de índice columnstore em coluna virtual.

  • Estende o suporte ao recurso de lixeira para tabelas com índice columnstore criado.

  • Você pode create hybrid partitions nas tabelas.

  • O mecanismo de consulta federada suporta pushdown da sintaxe Limit Offset para execução no banco de dados remoto.

  • Na consulta federada, todas as condições compatíveis são enviadas ao servidor remoto para execução, retornando apenas as colunas necessárias para a consulta.

  • Adiciona a função de fatiamento de dados por chave primária call dbms_dts.show_parallel_ranges (<schema_name>, <table_name>, [<suggestion_ranges>]).

  • Habilita o uso do recurso de arquivamento de dados frios em tabelas com chave primária autoincrementável.

  • Aprimora a capacidade de consulta no OSS. Ao ativar o recurso de consulta paralela elástica, se o valor do parâmetro loose_csv_max_oss_threads do sistema for maior que 1, uma consulta paralela é executada diretamente.

  • Melhora as mensagens de erro para formatos de arquivo incorretos em tabelas externas do OSS.

  • Permite adicionar a opção without validation na sintaxe ALTER TABLE PARTITION BY RANGE para converter rapidamente uma tabela padrão em uma tabela particionada por RANGE.

  • Suporta a conversão de tabela particionada com o atributo 'UNIQUE CHECK IGNORE=1' para tabela padrão usando a sintaxe ALTER TABLE REMOVE PARTITIONING.

  • Otimiza o processo de Statement Outline para evitar pular o cálculo de hash de digest ao executar instruções sem Outline.

  • Introduz o recurso InnoDB on OSS.

  • Após atualizar Statement Outline e Concurrency Control em um Multi-master Cluster, os demais nós mestres são atualizados automaticamente.

  • Ajusta o conteúdo das mensagens de erro ortográfico.

  • Melhora o desempenho de escrita do nó RW após ativar o modo semissíncrono StandBy.

  • Adicionado suporte ao tipo de tabela particionada LIST DEFAULT HASH.

  • Permite criar tabela particionada LIST DEFAULT HASH usando a sintaxe CREATE LIKE.

  • A sintaxe add partition para criação de tabela particionada LIST DEFAULT HASH aceita a opção without validation para adicionar partição LIST.

  • O SQL Trace passa a rastrear informações de execução de consultas lentas.

  • Refina a granularidade de locks no PolarFS, melhorando significativamente o desempenho em cenários de alta carga.

12-06-2023

Correções de bugs

  • Resolve problema de leitura de arquivos JSON pelo OSS.

  • Corrige falha na geração de Hint Plan no modo ps.

  • Ajusta o avanço do LSN de checkpoint para atender às expectativas.

  • Preenche corretamente o campo view_definition na view do sistema.

  • Previne erro potencial ao executar consulta em nó RO enquanto uma operação ALTER TABLE ... IMPORT TABLESPACE estava em andamento no nó RW.

  • Permite a leitura correta de dados contendo \n após arquivamento pelo DLM.

  • Garante a remoção de arquivos temporários no OSS após arquivamento de dados frios.

  • Assegura a leitura completa de todos os arquivos ao ler dados frios do OSS em formato CSV, não apenas o primeiro.

  • Normaliza o contador interno do pool de threads durante registro concorrente de logs de consulta lenta, evitando acúmulo de requisições SQL.

  • Evita conflito potencial em coluna autoincrementável durante comandos INSERT concorrentes em Multi-master Cluster.

  • Reduz atraso de replicação ao reproduzir logs Redo de tabela larga em nó RO.

  • Fornece resultados de consulta corretos ao usar o recurso de otimização de pushdown Limit Offset com instruções contendo window function.

  • Libera locks adequadamente durante toda a execução da instrução CHECK TABLE em Multi-master Cluster.

  • Permite a exclusão do arquivo de origem no OSS ao executar o comando ALTER TABLE engine = csv storage oss, force; .

  • Previne falha de cluster causada por ajuste dinâmico de cache em Multi-master Cluster.

  • Habilita a exportação de tablespace em Multi-master Cluster.

  • Corrige pushdown incorreto de tabela com campo NULL quando o parâmetro engine_condition_pushdown estava definido como true.

  • Garante conjuntos de resultados precisos ao usar o recurso Fast Query Cache para comparar Time e timestamp.

  • Elimina regressão potencial de desempenho ao ativar dinamicamente o PolarTrans em cenário de atualização de alta concorrência.

8.0.1.1.33

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O índice columnstore suporta adição instantânea de colunas através da reconstrução dos dados do índice.

  • Compatibilidade com a função REGEXPR adicionada ao índice columnstore.

  • O índice columnstore inclui otimização de pruning baseada em condições relacionadas a IS NULL e IS NOT NULL.

  • Multi-master Cluster (Database/Table) passa a suportar o recurso de arquivamento de dados frios.

  • Durante atualizações de versão menor do mecanismo em cluster Multi-master Cluster (Database/Table), cada nó do cluster pode ser atualizado em paralelo.

  • Persistência de estatísticas habilitada para Multi-master Cluster (Database/Table).

  • Rastreio do Otimizador aprimorado quando o pushdown de condição OSS está ativado para tabelas externas do OSS.

  • Logs Binlog deixam de ser registrados durante o arquivamento manual e automático de dados frios.

  • Consistência global (modo de alto desempenho) recebe o parâmetro Innodb_scc_timeout_count para registrar o número de timeouts durante uma consulta.

  • Consistência global (modo de alto desempenho) adiciona o parâmetro Innodb_scc_timeout_degrade_count para contar quantas vezes uma consulta atingiu timeout e alternou para consulta assíncrona.

  • Consulta de informações gtid permitida em nó somente leitura.

  • Hint Plan expande seus tipos de hint para incluir BNL, BKA e MRR.

  • Fast Query Cache incorpora a variável qc_weak_read_time para leitura de cache não em tempo real.

  • Recurso Statement Outline ganha a interface dbms_outln.add_optimizer_outline('schema', 'hints', 'query') para adicionar Optimizer Hints.

  • Recurso Auto Plan Cache introduzido.

  • SQL Sharing adota formato JSON para exibir plan_extra, ref_by e extra.

  • Plano de execução exibido nos dados estendidos do log lento.

  • Ao usar Statement Outline, se os Index Hints especificados não existirem, o sistema emite um aviso em vez de erro.

  • SQL Sharing introduz a variável by_expr_ignore_charset. Ao definir by_expr_ignore_charset como ON, eliminam-se diferenças de digest geradas por instruções com Order By ou Group By sob diferentes conjuntos de caracteres. Contudo, após defini-lo como ON, todos os valores de digest gerados nesse modo serão diferentes dos valores gerados antes da alteração.

  • Consumo de memória otimizado durante varredura de tabelas na lixeira.

  • Capacidade de mecanismo multiversão disponibilizada.

14-04-2023

Correções de bugs

  • Previne falha de nó de banco de dados ao executar operação de verificação em tabela externa vazia do OSS.

  • Elimina erro ocasional ao executar consulta em nó global somente leitura de Multi-master Cluster (Database/Table).

  • Sincroniza corretamente o tamanho do tablespace de metadados em Multi-master Cluster (Database/Table).

  • Impede rollback de dados personalizados de tabela no tablespace do sistema de Multi-master Cluster (Database/Table).

  • Garante a recuperação adequada de undo logs após ativar o recurso de recuperação de undo log.

  • Resolve timeout de leitura ocorrido ao estabelecer replicação física em nó somente leitura, que impedia a conexão ao banco de dados.

  • Corrige falha de nó causada pela execução de instruções ADD INDEX ou DROP INDEX após executar ALTER TABLE DISCARD tablespace em Multi-master Cluster (Database/Table).

8.0.1.1.32

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Recurso de índice columnstore compatível com o tipo de dados DECIMAL do MySQL.

  • Ao criar índice columnstore, permite ordenar dados conforme coluna especificada para aumentar eficiência do pruning.

  • Índice columnstore realiza varredura de dados baseada em arquivos no formato ORC ou PARQUET armazenados no OSS.

  • Computação baseada em custo suporta pushdown da condição de outer join de uma derived table materializada para dentro da própria derived table.

  • Otimizador estima com maior precisão o número de linhas varridas para colunas de junção em cenário de derivação de igualdade.

  • Recurso de eliminação de join do otimizador elimina a tabela interna de left join (incluindo tabelas internas com joins aninhados multiníveis e Semi-Joins).

  • Suporte à sintaxe CAST(... AS INT) , com comportamento idêntico a CAST(... AS SIGNED INT) .

  • Clusters multi-mestre passam a suportar o recurso de backup Multi-master.

21-02-2023

Correções de bugs

  • Melhora o desempenho do banco de dados em cenários de transações de longa duração.

  • Resolve incompatibilidades entre consistência global (modo de alto desempenho) e PQ.

  • Desbloqueia a execução de DDL em outros nós ao usar transporte transparente de tablespace em Multi-master Cluster.

  • Exibe corretamente o tamanho livre da tabela, evitando que seja mostrado como 4 PB com certa probabilidade.

  • Garante a inicialização de todos os nós de Multi-master Cluster quando múltiplos nós primários são reiniciados em paralelo.

  • Previne falha de cluster ao trocar ponto de escrita para índices full-text e índices columnstore em Multi-master Cluster.

  • Normaliza acesso ao cache do banco de dados ao executar DDL de cópia em tabela com Foreign Key.

  • Ajusta parâmetros de timeout relacionados a conexões de replicação física para evitar travamentos em caso de falha de máquina física.

  • Recupera locks de tabela adequadamente durante recuperação de falha de Multi-master Cluster.

  • Evita falha potencial de nó ao acessar a tabela information_schema.tables durante adição de novo nó.

  • Preserva páginas sujas durante fase de recuperação de falha de Multi-master Cluster.

  • Previne falha de cluster ao trocar ponto de escrita após excluir banco de dados em Multi-master Cluster.

  • Corrige acesso ilegal à memória ao usar mecanismo TempTable com pool de threads ativado.

2022

8.0.1.1.31

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • A Standard Edition do PolarDB for MySQL adiciona o recurso de failover automático de alta disponibilidade do PolarDB, baseado no recurso Reservation de discos cloud NVMe (Non-Volatile Memory Express).

  • O recurso CCL (Concurrency Control) adiciona o procedimento armazenado integrado dbms_ccl.add_ccl_digest_rule, que corresponde a regras CCL por meio de um valor de digest.

  • Procedimentos armazenados integrados aceitam variáveis iniciadas com @ como valores de entrada.

  • Ignora o ponto e vírgula ao final da instrução SQL no parâmetro de consulta dos procedimentos armazenados integrados dbms_ccl.add_ccl_digest_rule, dbms_outln.add_index_outline e dbms_outln.add_optimizer_outline.

  • O Statement Outline oferece suporte a todas as cláusulas UNION.

  • Deixa de armazenar e exibir o nome de usuário e a senha na tabela mysql.servers em formato de texto simples.

    Nota

    O nome de usuário e a senha de um Server existente não serão criptografados após uma atualização. É necessário excluí-lo e recriá-lo manualmente.

  • Permite o uso do recurso de pushdown de Limit Offset ao acessar uma partição específica em uma tabela particionada.

  • Clusters da série de product X-Engine aceitam o uso do recurso DDL paralelo.

  • O recurso de pool de threads adiciona capacidades de autonomia do kernel.

  • O recurso de pool de threads é compatível com CCL. Após ativar o recurso Thread Pool, se a conexão de um usuário for bloqueada pelo CCL, a conexão será marcada dentro do Thread Pool, e o Thread Pool criará threads adicionais para executar instruções SQL em outras conexões.

  • Adiciona a sintaxe de hint OSS_REPLACE_EXISTED_FILE(). Ao executar a instrução SELECT INTO OSSOUTFILE, se o arquivo atual já existir, o arquivo original será sobrescrito diretamente.

  • Oferece suporte a consultas paralelas em máquina única no mecanismo OSS.

  • Adiciona a tabela INNODB_GLOBAL_DDL_LOCK_INFO ao banco de dados information_schema para visualizar locks globais em um Multi-master Cluster.

  • Inclui o recurso AWR SQL Detail para auditar e gerenciar instruções como DDL, LOCK DB e LOCK TABLE.

  • Permite gerar estatísticas de índice columnstore por meio do comando ANALYZE TABLE para auxiliar nas decisões de consulta.

  • Tabelas com índice columnstore aceitam o uso do recurso de restauração de banco de dados (tabela).

  • O recurso de índice columnstore oferece suporte à função cast_as_real.

  • Possibilita visualizar o status e o progresso de compilação de um índice columnstore por meio da tabela INFORATION_SCHEMA.IMCI_ASYNC_DDL_STATS.

  • Otimiza consultas de junção em que o campo de junção é do tipo string no índice columnstore.

2022-12-07

Correções de bugs

  • Corrige um problema em que IF NOT EXISTS não podia ser usado na sintaxe para criar um Server.

  • Resolve uma exceção potencial ao executar uma instrução DDL em um nó mestre de um Multi-master Cluster.

  • Elimina um deadlock potencial ao consultar tabelas no banco de dados information_schema em um Multi-master Cluster.

  • Solução para degradação de desempenho com replace em um Multi-master Cluster.

  • Corrige um problema em que um lock global era necessário ao criar uma tabela temporária implícita em um Multi-master Cluster.

  • Resolve um travamento potencial durante a recuperação de falha de um Multi-master Cluster.

  • Ajusta a contagem imprecisa de leituras lógicas realizada pelo recurso SQL Trace.

  • Corrige um resultado de saída incorreto quando o índice columnstore continha dados dos tipos ENUM e SET.

  • Permite que instruções SQL com ROLL UP e GROUP BY sejam roteadas para o column store para execução.

8.0.1.1.30

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Melhoria na operação UNION ALL do recurso de índice columnstore.

  • O recurso de índice columnstore adiciona um built-in stored procedure para auxiliar na criação de índices columnstore.

  • Inclusão do parâmetro global imci_default_pack_shift no recurso de índice columnstore para controlar o tamanho padrão do pacote na criação do índice.

  • O recurso de índice columnstore utiliza tecnologia de pruning de partições para otimizar o desempenho de consultas em tabelas particionadas.

  • Suporte aos tipos de dados BIT, JSON e GEOMETRY no recurso de índice columnstore.

  • O recurso de índice columnstore aceita a operação EXCHANGE PARTITION.

  • Desempenho da consistência global (modo de alto desempenho) otimizado por meio da tecnologia MTT.

  • A Multi-master Cluster Edition oferece suporte à evicção adaptativa de páginas de dados do centro de cache.

  • A profundidade recursiva de um documento JSON passa a suportar até 150 níveis.

  • A Multi-master Cluster Edition adiciona o parâmetro mm_flush_autoinc_when_unlock para controlar se as informações de autoinc na tabela do sistema devem ser liberadas ao liberar um lock global de banco de dados/tabela. O valor padrão é false.

  • Correspondência do Statement Outline para todas as instruções SQL com o mesmo valor de Digest quando Schema_name estiver vazio.

  • O Fast Query Cache permite acessar o cache de tabelas de metadados (information_schema.tables/columns) no banco de dados.

  • Adiciona o recurso SQL Trace para rastrear o processo de execução de instruções SQL.

  • Inclui a instrução SELECT INTO OSSOUTFILE para exportar uma tabela local (uma tabela no PolarFS) para o OSS.

2022-10-29

Correções de bugs

  • Corrige um problema de leitura incompleta de dados ao ler remotamente via RDMA.

  • Resolve um estado anormal da thread de limpeza de tabelas quando o nó mestre era desligado.

  • Elimina um deadlock entre Offline Master e WAR.

  • Corrige um problema que impedia o desligamento normal do nó mestre quando ele perdia a conexão com o centro de cache.

  • Resolve uma falha potencial de nó ao gravar uma chave primária implícita por meio de uma tarefa agendada.

  • Corrige um problema em que o Binlog era registrado ao executar uma instrução SQL durante uma atualização a quente.

8.0.1.1.29.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige uma falha em um nó RO causada por conflito de hash de nome de arquivo.

2022-09-17

8.0.1.1.29

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Nós somente leitura oferecem suporte ao recurso de failover com réplica a quente.

  • O Concurrency Control (CCL) adiciona o parâmetro ccl_mode. Quando o tráfego de acesso ao banco de dados atinge o limite de controle de concorrência, outras solicitações de acesso ao cluster atual são rejeitadas.

  • A sintaxe para criar um servidor OSS adiciona o parâmetro oss_sts_token para configurar uma credencial de acesso temporário para o OSS.

  • Aceita comprimento de digest adaptativo, permitindo que o espaço de memória para cálculo de digest de instrução seja ajustado automaticamente conforme o comprimento da instrução de consulta.

  • Permite consultar tabelas relacionadas ao índice columnstore no INFORMATION_SCHEMA por meio do endpoint do cluster.

  • O recurso de índice columnstore adiciona um modo ETL, que permite criar uma tabela usando os resultados de consulta de um nó columnstore somente leitura e gravar esses resultados em uma tabela.

  • Otimização do desempenho de consultas TopK (consultas paginadas no formato order by a limit n,m) no recurso de índice columnstore.

  • O recurso de índice columnstore adiciona o status Last_stmt_use_imci para confirmar se um índice columnstore foi utilizado em uma instrução de consulta.

  • Inclusão da variável global polar_enable_implicit_imci_with_create_table no recurso de índice columnstore, permitindo a criação automática de índice columnstore ao executar uma instrução CREATE TABLE.

  • O recurso de índice columnstore aceita o uso de Cursor.

  • Utilização de índice columnstore durante uma consulta de transação explícita.

  • Permite criar um índice columnstore em uma tabela particionada.

2022-09-08

Correções de bugs

  • Corrige uma inconsistência entre cache e arquivo causada por rollback de transação ao usar o algoritmo de cópia em uma instrução DDL.

  • Resolve um problema em que a exclusão de um banco de dados não era registrada no log lento.

  • Corrige um retorno de resultado incorreto quando pushdown de Limit offset e otimização MRR estavam presentes simultaneamente em uma consulta.

8.0.1.1.28.1

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

Otimização do pool de threads: quando uma transação de banco de dados aguarda um lock de informações de metadados ou um lock de linha, o pool de threads pode gerar threads adicionais para lidar com novas solicitações.

2022-08-12

8.0.1.1.28

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporte ao recurso de índice columnstore. Por meio desse recurso e do mecanismo de execução vetorizada paralela para dados colunares, a eficiência de execução de consultas complexas é significativamente aprimorada. Para mais informações, consulte Columnstore index.

  • Permite que usuários criem e utilizem tabelas do mecanismo Federated.

  • Nós somente leitura aceitam tabelas temporárias personalizadas em memória (atualmente com suporte apenas aos mecanismos MEMORY e MyISAM).

  • Otimização da classificação DDL: a classificação por mesclagem bidirecional foi alterada para mesclagem multidirecional, reduzindo o número de operações de I/O e melhorando o desempenho da adição de índices DDL.

  • Suporte ao recurso de leitura antecipada DDL para aumentar a eficiência na criação de índices.

  • A sintaxe para criar um servidor OSS adiciona o parâmetro oss_prefix para configurar o caminho de arquivo do OSS.

2022-07-20

8.0.1.1.27

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um problema de atraso excessivo na replicação física sob baixa carga do cluster.

2022-05-25

Resolve um problema em que a limpeza da Lista LRU era bloqueada, impedindo a liberação de Páginas, em cenários onde o Buffer Pool tinha muitas páginas sujas e a liberação era lenta.

Otimiza a alocação de memória durante o processo de inserção de dados.

Corrige um problema em que o comando show engine innodb status exibia informações completas de deadlock quando o valor de innodb_show_verbose_deadlock era ON (valor padrão).

Resolve uma falha em um novo nó RO registrado no cluster após o nó RW concluir uma operação de undo truncate.

Corrige um conjunto de resultados de varredura SKIP_SCAN incorreto após dados no banco de dados serem marcados para exclusão.

8.0.1.1.26

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um resultado incorreto para Using index for group by.

2022-05-05

Resolve um conjunto de resultados de varredura SKIP_SCAN incorreto após dados no banco de dados serem marcados para exclusão.

Corrige um conjunto de resultados de varredura SKIP_SCAN potencialmente incorreto quando existiam múltiplos grupos de dados no prefixo do índice.

8.0.1.1.25

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige um resultado incorreto para Using index for group by.

2022-04-12

8.0.1.1.24

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Corrige um problema em que threadpool_high_priority_users não era analisado corretamente na inicialização do banco de dados.

  • Resolve um problema em que a modificação dinâmica de threadpool_high_priority_users poderia afetar outros parâmetros.

  • Corrige uma falha rara em um nó somente leitura do X-Engine ao reproduzir logs Redo.

2022-03-11

8.0.1.1.23

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporte ao recurso Strict Consistency Cluster (leitura com consistência forte em nós RO).

  • O Statement Outline aceita PrepareStatement.

  • Inclusão do recurso de réplica a quente para otimizar ainda mais a eficiência da alta disponibilidade.

2022-01-20

Correções de bugs

  • Corrige um problema em que a aquisição de um lock MDL pelo Fast Query Cache em um nó RO bloqueava a sincronização de logs Redo.

  • Suporte à sintaxe SELECT FOR UPDATE/SHARE WAIT N. Aqui, N representa o tempo limite em segundos para um único lock de linha. Se uma consulta precisar bloquear várias linhas, o tempo não é acumulado; a detecção de tempo limite é realizada apenas para uma única linha. Se o tempo de espera exceder N segundos, um erro de tempo limite de espera de lock Lock wait timeout exceeded; try restarting transaction será retornado.

2021

8.0.1.1.22

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Otimiza a precisão da estimativa de paralelismo para acesso por igualdade em índices de tabelas particionadas em um plano paralelo.

  • Corrige um problema em que o custo de estimativa de estatísticas pelo otimizador era demorado em cenários específicos.

  • Resolve um problema em que o otimizador não escolhia um melhor caminho de intervalo de índice para algumas instruções GROUP BY.

  • Corrige uma falha na criação de um novo arquivo de log Redo após um nó Standby ser alternado para nó primário via HA.

2021-12-22

8.0.1.1.21

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Corrige um resultado incorreto da função GROUP_CONCAT causado por estouro aritmético quando o valor do parâmetro group_concat_max_len era alto.

  • Resolve um erro de dados ocorrido após a recuperação de falha de um nó Standby em uma zona secundária.

  • Corrige uma anomalia de dados ocorrida quando um nó Standby em uma zona secundária era alternado para nó primário (nó RW).

  • Resolve um problema em que o otimizador realizava apenas filtragem de índice de coluna única, e não de índice composto, quando uma condição de filtro de índice composto multicolumn era selecionada.

2021-11-26

8.0.1.1.19

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona novas regras de controle de concorrência (CCL) para operações DDL.

  • Inclui o parâmetro restrict_on_limit_without_order para controlar se a execução de consulta paralela é permitida para consultas com cláusula limit, mas sem cláusula order by.

2021-09-18

Correções de bugs

  • Corrige um problema em consultas paralelas em que a classificação implícita para GROUP BY resultava em um conjunto de resultados desordenado quando um índice na coluna GROUP BY era utilizado.

  • Resolve um erro em que o campo ID da transação no log de auditoria era sempre 0 ao usar o pool de threads.

8.0.1.1.18

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

O kernel do banco de dados agora suporta uploads de transações retomáveis e permite que nós somente leitura leiam transações não confirmadas.

2021-08-14

Correções de bugs

Otimiza o master_key_id_mutex para permitir a execução paralela de operações DDL.

8.0.1.1.17

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona o parâmetro polar_replica_work_on_nonblock_mdl_mode. Quando este parâmetro está ativado, transações não confirmadas no nível de isolamento RU/RC em um nó somente leitura não bloquearão mais operações DDL no nó primário. No entanto, as propriedades transacionais das definições de tabela no nó somente leitura deixarão de ser garantidas.

  • Otimiza o mecanismo de manutenção de estatísticas em cenários com um grande volume de tabelas (como aqueles que exigem services SaaS). Isso melhora significativamente o desempenho de consultas de estrutura de tabela (desc table) e operações de leitura/gravação sob alta concorrência.

2021-07-23

Correções de bugs

  • Corrige uma falha em m_recv_bits.is_set(fold) em um nó somente leitura durante a replicação física sob alta pressão de concorrência.

  • Resolve uma falha durante a reprodução de logs em um nó somente leitura sob alta pressão de concorrência.

8.0.1.1.16

Categoria

Descrição

Data de lançamento

Correções de bugs

Quando uma solicitação de ACL Cache Lock fica em espera, informações sobre a thread solicitante e a thread detentora do lock mais antiga são impressas no log de erros mestre para auxiliar no diagnóstico do problema.

2021-06-24

8.0.1.1.15

Categoria

Descrição

Data de lançamento

Recursos novos e otimizados

  • O TDE agora suporta criptografia automática para novas tabelas criadas em um cluster MySQL.

  • As tabelas de dados do MySQL agora aceitam o conjunto de caracteres utf8mb4_0900_bin.

2021-05-25

Correções de bugs

  • Corrige uma falha no banco de dados causada por um registro excessivamente longo gerado ao reverter uma operação Update após um instant add column.

  • Resolve um problema em que instruções DDL forçavam as tabelas mysql.slow_log e mysql.general_log a usar o mecanismo InnoDB.

  • Corrige um conjunto de resultados incorreto causado por um erro nas informações de metadados da função REGEXP.

  • Resolve uma falha no banco de dados causada pela reversão de uma operação Update em uma coluna virtual.

  • Ajusta a estratégia sobre se um nó RO deve acionar imediatamente um checkpoint no registro inicial com o nó primário. Um checkpoint pode não ser acionado se a diferença de LSN for menor que o limiar especificado.

8.0.1.1.14

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Otimiza a manutenção de informações de índice interno em cenários com grande volume de tabelas (como os que exigem services SaaS), aumentando a velocidade de inicialização dos nós somente leitura.

  • Aprimora as conexões de sincronização do GDN, reduz o consumo de CPU pelas threads de sincronização e acelera a sincronização de logs Redo do cluster para clusters secundários de especificação baixa (ou seja, menos de 8 núcleos).

  • Refina a estratégia AutoDop nos parâmetros de controle do grau de paralelismo para evitar impactos no uso de PARALLEL HINT e force_parallel_mode.

2021-04-23

Correções de bugs

  • Resolve um problema em que um índice incorreto era usado em consultas RANGE de amplo alcance devido a estatísticas imprecisas de records_in_range.

  • Corrige uma falha no nó Standby causada por um buffer pool muito pequeno durante uma restauração completa point-in-time de dados.

  • Solução para consumo excessivo de memória por metadados internos no X-Engine.

  • Corrige dois problemas de ACL DDL do MySQL oficial para impedir a indisponibilidade do cluster causada por deadlocks em operações ACL DDL.

  • Ajusta um erro em que um conjunto de resultados incorreto era retornado quando uma consulta paralela incluía a palavra-chave SQL_BUFFER_RESULT e usava uma função de agregação sem GROUP BY.

8.0.1.1.13.2

Categoria

Descrição

Data de lançamento

Correções de bugs

Corrige uma possível falha de descriptografia causada pela perda de informações de criptografia em tabelas criptografadas com TDE durante um failover primário-secundário.

2021-04-19

8.0.1.1.13.1

Categoria

Descrição

Data de lançamento

Correções de bugs

Soluciona uma lentidão em consultas paralelas provocada pela falha em aplicar pushdown de condições de filtro constantes do algoritmo Block Nested-Loop Join (BNL) para uma única tabela.

2021-04-08

8.0.1.1.13

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Os nós somente leitura agora suportam o parâmetro polar_use_statement_mdl_on_replica, que impede transações nesses nós (no nível de isolamento RC) de bloquear operações DDL no nó primário. Além disso, quando uma transação de leitura em um nó somente leitura ocorre simultaneamente a uma DDL no nó primário, a transação de leitura verá definições de tabela diferentes. Por exemplo, se uma operação ADD COLUMN ocorrer no nó primário entre duas instruções de uma transação de leitura em um nó somente leitura, a segunda instrução no nó somente leitura lerá mais colunas do que a primeira.

  • Remove condições de igualdade desnecessárias do caminho de busca de igualdade de índice para facilitar a execução de pushdown de Limit offset em cenários ORDER BY LIMIT.

  • Adiciona o comando dbms_stats.gather_stats(timeout, workers), que permite atualizar histogramas desatualizados por meio de agendamento de eventos ou execução manual.

  • A tabela mysql.slow_log agora permite visualizar os campos log_version, log_id, origin_start_time e rds_ext.

2021-03-30

Correções de bugs

  • Solução para um problema em que não era possível encerrar uma consulta ao executar comandos como CHECK TABLE, COUNT(*) ou DDL em uma tabela X-Engine.

  • Altera KICKOUT para uma palavra-chave não reservada.

  • Corrige uma situação em que a consulta paralela não era totalmente utilizada porque o número estimado de linhas verificadas durante a geração do plano de consulta era menor que o número real.

8.0.1.1.12.2

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Resolve uma indisponibilidade do cluster causada pela criação ou exclusão de uma tabela temporária em um stored procedure quando a variável de sistema session_track_temporary_tables estava ativada.

  • Incorpora um patch do MySQL oficial 8.0.14 para resolver um problema em que a instrução CREATE USER ficava bloqueada devido à impossibilidade de adquirir um metadata lock (MDL) nas tabelas de sistema do banco de dados MySQL.

2021-03-12

8.0.1.1.12.1

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

Melhora o desempenho de gravação do PolarDB X-Engine durante a importação contínua de dados em cenários com múltiplas tabelas.

2021-03-02

Correções de bugs

Corrige uma possível inconsistência no estado do metadata lock (MDL) entre as threads Leader e Worker em uma consulta paralela. O problema ocorria devido à falta de proteção mutex para a thread Leader.

8.0.1.1.12

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • A política de controle do grau de paralelismo adiciona o parâmetro auto_dop_low_degree_cost para definir a estratégia de seleção de paralelismo em consultas paralelas. Para obter mais informações, consulte Parallel resource control policy configuration.

  • Adiciona suporte para recuperação rápida de tabelas na lixeira usando o comando restore_table. Para obter mais informações, consulte Table recycle bin.

  • Permite obter Binlog de nós somente leitura. Para obter mais informações, consulte Remotely obtain and parse Binlog logs of PolarDB for MySQL.

  • Suporta a impressão de informações importantes, como in_memory, no opt trace para ajudar a identificar a causa de problemas quando ocorre uma falha no plano de execução.

2021-02-20

Correções de bugs

  • Incorpora um patch do Port Percona para resolver a detecção lenta de conflitos de metadata lock no ACL CACHE em cenários de alta concorrência.

  • Adiciona o parâmetro preferred_ordering_index à variável de sistema optimizer_switch. Isso corrige um problema em que o plano ideal não era selecionado em certos cenários (como consultas ORDER BY ou GROUP BY com cláusula LIMIT) devido ao uso de um índice ordenado.

  • Corrige um resultado incorreto do SHOW PROCESSLIST em alguns cenários.

  • Resolve o acesso lento a tabelas de sistema após uma atualização de versão secundária a partir de versões anteriores à 8.0.1.1.10. A causa era a definição da tabela de sistema information_schame.KEY_COLUMN_USAGE não ter sido atualizada.

8.0.1.1.11

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona suporte para definir a estratégia de configuração de paralelismo em consultas paralelas por meio do parâmetro parallel_degree_policy. Para obter mais informações, consulte Parallel resource control policy configuration.

  • Permite limitar o comprimento das instruções reconhecíveis definindo o valor do parâmetro max_digest_length com uma instrução SET GLOBAL.

    Nota

    Após modificar o valor do parâmetro max_digest_length, o cliente precisa se reconectar ao cluster para que o novo valor entre em vigor.

  • O valor padrão do parâmetro innodb_adaptive_hash_index foi alterado de ON para OFF.

2021-01-29

Correções de bugs

  • Corrige uma inconsistência de permissões entre os nós primário e somente leitura.

  • Resolve um problema em que um nó somente leitura não conseguia se conectar ao nó primário após um failover primário-secundário.

  • Ajusta uma lógica de processamento incorreta no SPM quando um plano de execução específico se torna inválido.

8.0.1.1.10

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Adiciona suporte para classificação implícita de Group By, consistente com seu uso no PolarDB for MySQL 5.7.

  • Inclui um recurso para desativar a consulta paralela quando um campo Blob estiver presente.

  • Implementa a atualização automática das informações de cache de controle de concorrência no nível de instrução em nós somente leitura.

  • Adiciona o recurso de otimização de linha de hotspot. Para obter mais informações, consulte Hotspot row optimization.

  • Suporta a otimização de replicação física de DDL. Para obter mais informações, consulte DDL physical replication optimization.

  • Passa a suportar replicação assíncrona de metadata lock. Para obter mais informações, consulte async metadata lock replication.

  • Introduz um recurso para travessia reversa rápida quando a computação é submetida a pushdown.

  • Otimiza o sistema de arquivos para acelerar a abertura de tabelas em cenários com múltiplas tabelas.

  • Reduz o tempo de failover primário-secundário em cenários com múltiplas tabelas e acelera a recuperação do novo nó primário.

2021-01-12

Correções de bugs

  • Resolve a perda de tabelas de sistema quando um nó somente leitura era promovido a nó primário.

  • Corrige um problema em que o uso de uma consulta de intervalo após ativar a consulta paralela causava uma superestimativa do número de linhas verificadas.

  • Ajusta um erro em que o resultado de uma consulta de agregação era um inteiro quando o tipo de campo era BIT.

  • Corrige um resultado incorreto retornado por uma consulta SELECT DISTINCT após o uso de um campo de enumeração.

  • Resolve um resultado anormal em uma consulta paralela usando uma condição EXISTS.

  • Corrige uma falha na reinicialização do nó somente leitura em alguns casos.

  • Solução para informações de tabela anormais no dicionário de dados. O problema ocorria quando uma tabela relacionada a chave estrangeira reabria a tabela em execução de DDL durante uma execução de DDL em um nó somente leitura.

  • Corrige uma falha na consulta de índice de texto completo causada por um sinalizador de reinicialização de nó definido incorretamente após um failover primário-secundário.

  • Resolve um bloqueio da thread de aplicação de log em um nó somente leitura causado por um metadata lock (MDL).

  • Corrige a indisponibilidade de um novo nó primário após um failover primário-secundário devido à reutilização de memória liberada.

  • Resolve a indisponibilidade de todos os nós causada por um problema de dados no polar.info.

  • Corrige um problema anormal de coluna de incremento automático em uma tabela particionada.

  • Resolve um erro de dados causado por uma sobrescrita de log Redo no nó primário.

  • Corrige a indisponibilidade do nó primário ao aguardar um metadata lock (MDL).

  • Resolve problemas relacionados ao uso de criptografia transparente de dados (TDE).

  • Corrige a indisponibilidade do cluster ao executar Lock Table com o recurso de lixeira de tabelas ativado.

  • Resolve um deadlock no nó primário durante a execução de uma DDL.

  • Corrige um problema em que o pool de threads e o controle de conexão não podiam entrar em vigor simultaneamente.

2020

8.0.1.1.9

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

Remove SPM e PLAN como palavras-chave para evitar problemas em que tabelas não pudessem ser operadas se seus nomes contivessem essas palavras.

2020-12-18

8.0.1.1.8

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O gerenciador de planos de execução adiciona um modo de múltiplos planos.

  • Adiciona a variável de sistema rds_ap_threshold para bloquear solicitações em que o otimizador estima um número excessivo de registros verificados.

  • Aumenta a eficiência da liberação de páginas sujas no nó primário.

  • Implementa um mecanismo de gravação multi-shard para Redo.

2020-12-09

Correções de bugs

  • Corrige um problema de ponteiro nulo com a chave de metadata lock (MDL) durante a execução de consulta paralela.

  • Resolve uma falha de consulta ao criar um cache de thread paralela.

  • Corrige um resultado anormal do Multi-Range Read (MRR) de consulta paralela.

8.0.1.1.7

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Aumenta a eficiência da varredura paralela para tabelas orientadas em cenários de consulta JOIN.

  • Adiciona suporte para limpar arquivos Binlog residuais mesmo quando o Binlog está desativado.

  • Implementa um mecanismo automático de verificação e reconexão para replicação física desconectada de nó Slave, evitando desconexões prolongadas da replicação física.

  • Melhora a eficiência do failover entre os nós primário e somente leitura.

  • Suporta inicialização rápida de clusters com muitas tabelas para varredura ágil de arquivos de dados de tabela.

2020-11-16

Correções de bugs

  • Corrige uma falha no cluster ao obter o tipo de trx->wait_lock.

  • Resolve um problema em que o número de threads AIO era limitado quando o Simulated AIO multi-fila estava ativado.

  • Corrige um problema em que uma consulta não podia ser encerrada diretamente se a consulta inicial falhasse ao consultar um índice.

  • Resolve um problema em que a Next Page do cursor atual apontava para uma Page inexistente durante uma Split Merge Operation (SMO) em um nó Slave.

  • Corrige um problema em que um nó somente leitura lia informações de log que já haviam sido sobrescritas pelo nó primário.

  • Resolve uma falha na limpeza de arquivos Redo causada por um intervalo de timestamp excessivamente grande no log Redo.

  • Corrige um problema em que as informações de cache de tabela no cache relevante não eram limpas ao liberar um metadata lock (MDL).

8.0.1.1.6

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Aumenta a compatibilidade entre SPM (SQL plan manager) e consulta paralela.

  • Melhora a eficiência do merge sort de consulta paralela.

  • Suporta pushdown de computação para operações de exclusão.

  • Suporta o recurso Commit Timestamp (CTS) do PolarDB.

2020-09-21

Correções de bugs

  • Corrige uma descrição incorreta de pq_optimize_switch.

  • Resolve um problema em que uma subconsulta não podia ser executada de forma estável.

8.0.1.1.5

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Define se o nó primário executa imediatamente a política de checkpoint ao estabelecer uma relação de replicação com um nó somente leitura.

  • Suporta consultas simples de intervalo e pushdown de computação.

  • O PFS (Polar file system) adiciona o recurso pfs_remount para evitar a impossibilidade de montar um arquivo PFS devido ao arquivo não estar fechado.

  • Elimina um gargalo de desempenho causado por pausas forçadas da thread Parse em nós somente leitura, melhorando a eficiência da sincronização de dados durante a replicação física.

  • Otimiza o desempenho do Early Lock Release em cenários de múltiplas conexões, aumentando o desempenho do cluster nesses cenários em até 10 vezes.

2020-08-19

Correções de bugs

  • Resolve uma indisponibilidade em um nó somente leitura após falha na conexão com o nó primário.

  • Corrige uma indisponibilidade em um nó somente leitura após um failover primário-secundário, que ocorria após o uso de um índice de texto completo e a execução de uma instrução de consulta DDL.

  • Resolve um problema em que não era possível realizar purge binlog após a execução de um comando UNDO TRUNCATE.

  • Corrige uma inconsistência de estatísticas entre os nós somente leitura e primário.

8.0.1.1.4

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporta DDL paralela para aumentar a eficiência da execução de DDL.

  • Permite ajuste dinâmico do comprimento de múltiplas filas no Simulated AIO.

  • Suporta consistência de cache Full Text Search (FTS).

  • A cláusula WHERE suporta subconsultas contendo funções de agregação. Se a subconsulta suportar varredura baseada em índice, ela também poderá suportar execução paralela.

  • Tabelas temporárias suportam verificações de modo de bloqueio assim como tabelas padrão.

2020-07-04

Correções de bugs

  • Resolve uma indisponibilidade do cluster causada por algumas DDLs ainda serem replicadas quando o nó primário era rebaixado para nó secundário.

  • Corrige uma degradação de desempenho causada pela ativação do pool de threads.

  • Resolve um deadlock causado por purge binlog.

  • Corrige vários problemas de vazamento de memória.

  • Resolve vários problemas que ocorriam em cenários de alta disponibilidade.

8.0.1.1.3

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Reforça a segurança (como gerenciamento de senhas).

  • Melhora o desempenho da Parallel Query nos seguintes cenários:

    • Aumenta o desempenho de consulta paralela em cenários GROUP BY, UNION e SELECT COUNT(*) FROM <table>.

    • Cenários em que o plano de execução usa uma tabela temporária InnoDB compartilhada em uma subconsulta paralela.

    • Cenários em que o plano usa VIEW/DERIVED TEMP TABLE.

    • A consulta paralela suporta cenários que definem tabelas temporárias, mas com as seguintes limitações:

      • Não suporta SELECT COUNT(*) em uma tabela temporária sem condição.

      • Não suporta paralelismo em uma tabela temporária Memory Engine.

  • Suporta a nova versão do formato de log de auditoria, que adiciona informações de VIP.

  • Permite controlar a proporção de espaço livre da página de índice para reduzir a probabilidade de SMO e contenção de latch, melhorando o desempenho de gravação.

  • Suporta simulated AIO multi-fila para aprimorar o desempenho de liberação e gravação.

  • Permite não registrar o conteúdo do buffer pool em arquivos core para reduzir o tamanho desses arquivos e evitar impactos nos services online.

2020-05-29

Correções de bugs

  • Corrige um problema em que o mecanismo de armazenamento TempTable relatava incorretamente um erro de falta de memória em vez de retornar ao armazenamento baseado em disco quando o limite máximo de memória para TempTable era atingido.

  • Resolve uma indisponibilidade do cluster ao usar ORDER BY em uma pesquisa de texto completo InnoDB com um parâmetro de tamanho de buffer de classificação pequeno.

  • Corrige um problema em que o Field correto não podia ser encontrado quando uma tabela temporária tinha colunas com o mesmo nome.

  • Resolve um problema em que uma consulta paralela usando a função MAX/MIN com GROUP BY e loose scan não podia ser eliminada.

  • Corrige vários problemas de failover.

  • Resolve vários problemas de consulta paralela.

  • Corrige um problema em que o uso do comando SHOW BINARY LOGS podia bloquear commits de transações.

8.0.1.1.2

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporte a um método de otimização de ordenação baseado em prefixos de string (ou seja, a ordenação ocorre primeiro pelo prefixo da string e, se os prefixos forem iguais, utiliza-se o comprimento total da string). Ao ordenar colunas de tipos de caractere longos, é possível acelerar a comparação e reduzir o tempo de ordenação ao especificar o comprimento máximo do prefixo distinto dos valores da coluna.

  • Adição de suporte para consulta paralela nos seguintes cenários:

    • Paralelismo para o modelo de estimativa de custo Range.

    • Paralelismo para tabelas temporárias (Temporary Table).

    • Paralelismo nas estratégias de Lookup e Scan da materialização Semijoin.

  • Inclusão de três tipos de rastreadores de estado de sessão que o roteamento inteligente do PolarDB pode usar para oferecer suporte ao recurso de conexões persistentes. Além disso, quando ativado, o rastreador monitora alterações em variáveis de usuário na sessão, a criação e exclusão de tabelas temporárias, além de operações de prepare e deallocation em instruções SQL.

  • Otimização do desempenho do Drop AHI durante um processo DDL para reduzir o impacto de operações DDL no desempenho do cluster.

  • Implementação do recurso de lixeira de tabelas para evitar perda de dados devido a exclusões acidentais.

  • Melhoria no desempenho do truncamento de tablespace temporário de buffer pool grande, minimizando o impacto das operações de tabela temporária no desempenho do cluster.

09-04-2020

Correções de bugs

  • Correção de um problema com ROLLUP quando uma função de agregação estava presente em uma função IF.

  • Resolução de uma falha envolvendo tipos Blob durante o processo de ordenação.

  • Correção de um problema específico em SQL contendo função de agregação no Prepare dentro de um ambiente paralelo.

  • Solução para diversos problemas relacionados a consultas paralelas.

  • Correção de um problema que permitia a limpeza excessiva de logs Redo.

  • Resolução de questões relacionadas a logs Redo em nós RO.

8.0.1.1.1

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Suporte ao uso de paralelismo em cenários onde uma subconsulta contém ROLLUP.

  • Disponibilização do recurso de controle de concorrência de instruções.

  • Adição do Hint POLARDB_INDEX.

  • Redução da latência de sincronização entre os nós primário e somente leitura.

  • Suporte a Thread Pool.

  • Compatibilidade com o plugin keyring_rds do TDE.

  • Suporte a Global Database Network (GDN).

  • Aprimoramento do sistema de transações sem bloqueio para melhorar o desempenho de leitura e escrita.

28-03-2020

Correções de bugs

  • Solução para diversos problemas relacionados a consultas paralelas.

  • Correção de um problema em que as estatísticas podiam apresentar valor zero durante um processo de DDL ONLINE.

  • Otimização do sistema de arquivos em modo usuário para acelerar a inicialização do cluster.

  • Resolução de uma possível indisponibilidade do cluster quando innodb_flush_method era definido como all_o_direct.

  • Correção de uma possível indisponibilidade do cluster ao liberar bloqueios durante o commit de uma transação.

  • Resolução de um problema em que o truncamento do log lento podia bloquear solicitações de usuários.

  • Correção de uma possível indisponibilidade do cluster relacionada a páginas compactadas em um nó RO.

  • Resolução de um problema em que o pool de threads podia desconectar incorretamente uma conexão de replicação kill.

8.0.1.1.0

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • Aprimoramento da capacidade de consulta paralela para suportar computação paralela da função ROLLUP de análise de nível empresarial.

  • Adição de capacidades ao modelo de estimativa do otimizador (como melhoria na seletividade de filtragem de condições e no modelo de estimativa de custo para consultas paralelas). O SQL executado passa a escolher com mais precisão um plano paralelo ou serial com base na Seletividade.

  • Suporte ao gerenciamento unificado de threads de trabalho paralelas alocadas no modo FIFO, evitando a exaustão de recursos do sistema causada por muitas consultas paralelas.

05-02-2020

Correções de bugs

  • Correção de uma série de problemas relacionados à memória em consultas paralelas.

  • Resolução de diversos problemas de instabilidade em consultas paralelas.

8.0.1.0.6

Categoria

Descrição

Data de lançamento

Correções de bugs

  • Correção de um problema em que o arquivo Binlog Index não era fechado quando o nó primário era rebaixado para secundário.

  • Resolução de uma indisponibilidade do cluster que ocorria quando um nó RO acessava uma página Undo limpa.

  • Correção de um problema em que uma thread em segundo plano acessava uma página de tablespace inexistente durante um failover primário-secundário em um nó RO.

  • Resolução de uma indisponibilidade do cluster causada pela gravação no log Redo após a thread de log já ter sido encerrada durante o desligamento do cluster.

01-01-2020

2019

8.0.1.0.5

Categoria

Descrição

Data de lançamento

Novos recursos e otimizações de desempenho

  • O Optimizer trace agora suporta informações relacionadas a consultas paralelas (por exemplo, é possível usar a ferramenta Optimizer trace para analisar por que o paralelismo foi ou não utilizado).

  • Adição de Hints relacionados a consultas paralelas, permitindo ativar explicitamente o paralelismo e especificar o grau de paralelismo por meio de SQL Hints.

  • Suporte a varredura paralela para INSERT..SELECT sob READ COMMITTED. É possível usar a instrução INSERT..SELECT para adicionar dados importados a outra tabela.

03-12-2019

Correções de bugs

  • Solução para diversos problemas relacionados a consultas paralelas.

  • Correção de uma indisponibilidade de nó que ocorria quando um nó secundário era promovido a primário durante um failover primário-secundário.

  • Resolução de uma falha causada pelo uso de algumas instruções DDL durante um failover primário-secundário.

  • Correção de um erro "too many connection error" causado por limitações de bloqueio.