Versão estável do MariaDB 10.6

Após um ano de desenvolvimento e três lançamentos preliminares, foi publicada a primeira versão estável do novo branch do DBMS MariaDB 10.6, dentro do qual está sendo desenvolvido um branch do MySQL que mantém compatibilidade com versões anteriores e se distingue pela integração de mecanismos de armazenamento adicionais e capacidades avançadas. O apoio à nova sucursal será prestado durante 5 anos, até julho de 2026.

O desenvolvimento do MariaDB é supervisionado pela Fundação MariaDB independente, seguindo um processo de desenvolvimento completamente aberto e transparente, independente de fornecedores individuais. MariaDB é fornecido como substituto do MySQL em muitas distribuições Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) e foi implementado em grandes projetos como Wikipedia, Google Cloud SQL e Nimbuzz.

Principais melhorias no MariaDB 10.6:

  • A execução atômica das expressões “CREATE TABLE|VIEW|SEQUENCE|TRIGGER”, “ALTER TABLE|SEQUENCE”, “RENAME TABLE|TABLES”, “DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE” é garantida (ou a expressão é completamente concluído ou tudo retorna ao seu estado original). No caso de operações “DROP TABLE” que eliminam várias tabelas de uma só vez, a atomicidade é garantida ao nível de cada tabela individual. O objetivo da mudança é garantir a integridade em caso de falha do servidor durante uma operação. Anteriormente, após uma falha, tabelas e arquivos temporários poderiam permanecer, a sincronização de tabelas em mecanismos de armazenamento e arquivos frm poderia ser interrompida e tabelas individuais poderiam permanecer sem nome quando várias tabelas fossem renomeadas de uma só vez. A integridade é garantida pela manutenção de um log de recuperação de estado, cujo caminho pode ser determinado através da nova opção “—log-ddl-recovery=file” (ddl-recovery.log por padrão).
  • Foi implementada a construção “SELECT ... OFFSET ... FETCH” definida no padrão SQL 2008, permitindo exibir um determinado número de linhas a partir de um deslocamento especificado, com a possibilidade de utilizar o parâmetro “WITH TIES” para anexe outro próximo valor. Por exemplo, a expressão “SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES” difere da construção “SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1” ao gerar mais um elemento na cauda (em vez de 3 4 linhas serão produzidas).
  • Para o mecanismo InnoDB, foi implementada a sintaxe “SELECT ... SKIP LOCKED”, que permite excluir linhas para as quais um bloqueio não pode ser definido (“LOCK IN SHARE MODE” ou “FOR UPDATE”).
  • A capacidade de ignorar índices foi implementada (no MySQL 8, esta funcionalidade é chamada de “índices invisíveis”). A marcação de um índice para ignorar é feita usando o sinalizador IGNORED na instrução ALTER TABLE, após o qual o índice permanece visível e atualizado, mas não é usado pelo otimizador.
  • Adicionada função JSON_TABLE() para converter dados JSON em formato relacional. Por exemplo, um documento JSON pode ser transformado para uso no contexto de uma tabela, que pode ser especificada dentro de um bloco FROM em uma instrução SELECT.
  • Compatibilidade aprimorada com Oracle DBMS: Adicionado suporte para subconsultas anônimas dentro do bloco FROM. A construção MINUS foi implementada (equivalente a EXCEPT). Adicionadas funções ADD_MONTHS(), TO_CHAR(), SYS_GUID() e ROWNUM().
  • No mecanismo InnoDB, a inserção em tabelas vazias foi acelerada. O formato de string COMPRESSED é definido como modo somente leitura por padrão. O esquema SYS_TABLESPACES substituiu SYS_DATAFILES e reflete diretamente o estado no sistema de arquivos. O suporte de gravação lenta é fornecido para o espaço de tabela temporário. O suporte para o antigo algoritmo de checksum, que foi mantido para compatibilidade com o MariaDB 5.5, foi descontinuado.
  • No sistema de replicação, o tamanho do valor do parâmetro master_host foi aumentado de 60 para 255 caracteres e master_user para 128. A variável binlog_expire_logs_seconds foi adicionada para configurar o tempo de expiração do log binário em segundos (anteriormente, o tempo de reinicialização era determinado apenas em dias através da variável expire_logs_days).
  • O mecanismo de replicação multimestre síncrona Galera implementa a variável wsrep_mode para configurar os parâmetros da API WSREP (Write Set REPlication). Conversão permitida do Galera de comunicações não criptografadas para TLS sem parar o cluster.
  • Foi implementado o esquema sys-schema, que contém uma coleção de visualizações, funções e procedimentos para analisar operações de banco de dados.
  • Adicionadas tabelas de serviço para analisar o desempenho da replicação.
  • As visualizações INFORMATION_SCHEMA.KEYWORDS e INFORMATION_SCHEMA.SQL_FUNCTIONS foram incluídas no conjunto de tabelas de informações, exibindo uma lista de palavras-chave e funções disponíveis.
  • Os repositórios TokuDB e CassandraSE foram removidos.
  • A codificação utf8 foi movida da representação de quatro bytes utf8mb4 (U+0000..U+10FFFF) para a representação utf8mb3 de três bytes (abrange o intervalo Unicode U+0000..U+FFFF).
  • Adicionado suporte para ativação de soquete no systemd.
  • O plug-in GSSAPI adicionou suporte para nomes de grupos e SIDs do Active Directory.
  • Adicionada verificação da presença do arquivo de configuração $MARIADB_HOME/my.cnf além de $MYSQL_HOME/my.cnf.
  • Novas variáveis ​​de sistema binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode e Innodb_buffer_pool_pages_lru_freed foram implementadas.

Fonte: opennet.ru

Adicionar um comentário