O MariaDB Server 10.5 é uma versão nova, nova e estável do MariaDB que foi lançada em 24 de junho de 2020. Vamos dar uma olhada nos recursos que ele nos trará.
Privilégios mais granulares
Com o MariaDB 10.5 algumas mudanças em relação aos privilégios estão chegando. Principalmente, o privilégio SUPER foi dividido em vários novos privilégios que permitem definir um controle mais granular sobre quais ações são permitidas para determinados usuários e quais não são. Abaixo está a lista dos novos privilégios que estão disponíveis no MariaDB 10.5:
- ADMINISTRADOR DE BINLOG
- REPETIÇÃO DO BINLOG
- ADMINISTRADOR DE CONEXÃO
- ADMIN FEDERADO
- READ_ONLY ADMIN
- ADMINISTRADOR MESTRE DE REPLICAÇÃO
- ADM ESCRAVO DE REPLICAÇÃO
- DEFINIR USUÁRIO
Melhorias no desempenho do InnoDB
O MariaDB 10.5 vem com uma lista de melhorias de desempenho para o InnoDB. O que é importante saber é que o MariaDB 10.5 incorporou o InnoDB do MariaDB 10.4. Haverá modificações e melhorias de desempenho, mas o núcleo do InnoDB é o mesmo do MariaDB 10.4. Isso é muito interessante para ver como o caminho que o MariaDB escolheu trará em termos de desempenho. Por um lado, manter a versão antiga permite ciclos de lançamento mais rápidos para o MariaDB - portar o InnoDB totalmente novo para o MariaDB seria um grande desafio e, sejamos honestos, pode não ser realmente viável de realizar. Por favor, tenha em mente que o MariaDB se torna cada vez mais incompatível com o upstream. Já faz um tempo desde a última compilação em que você poderia apenas trocar binários e tudo funcionaria sem problemas.
MariaDB desenvolveu seu conjunto de recursos como criptografia ou compactação, tornando essas implementações incompatíveis. Por outro lado, o novo InnoDB mostrou um desempenho significativamente melhor que o MariaDB 10.4. Muitas linhas de código foram escritas (e muitas linhas de código foram removidas) para torná-lo mais escalável do que a versão anterior. Será muito interessante ver se o MariaDB 10.5 será capaz de superar seus concorrentes.
Não entraremos em detalhes, pois é isso que você pode encontrar no site do MariaDB, gostaríamos de mencionar algumas das alterações. Os logs de redo do InnoDB viram algum trabalho tornando-os mais eficientes. O buffer pool do InnoDB também foi aprimorado na medida em que a opção de criar vários pools de buffer foi removida, pois não era mais necessária - os desafios de desempenho que pretendia corrigir já haviam sido corrigidos na versão 10.5, tornando essa opção desnecessária.
O que também é importante ter em mente é que o InnoDB na versão 10.5 será, devido às mudanças, incompatível com o InnoDB na versão 10.4. A atualização será apenas unidirecional, você deve planejar seu processo de atualização de acordo.
Suporte completo de GTID para Galera Cluster
O Galera Cluster virá no MariaDB 10.5 com suporte total a GTID. Isso deve tornar a combinação do Galera Cluster e da replicação assíncrona mais simples e menos problemática.
Mais metadados para replicação e logs binários
Falando sobre replicação, o MariaDB 10.5 melhorou os metadados de log binário. Ele vem com mais informações sobre os dados que estão sendo replicados:
- Assinatura de colunas numéricas
- Conjunto de caracteres de colunas de caracteres e colunas binárias
- Nome da coluna
- Valor da string das colunas SET
- Valor da string de colunas ENUM
- Chave primária
- Conjunto de caracteres de colunas SET e colunas ENUM
- Tipo de geometria
Isso deve ajudar a evitar problemas de replicação se houver esquemas diferentes no mestre e no escravo.
Sintaxe
Várias mudanças na sintaxe SQL foram introduzidas no MariaDB 10.5. INTERSECT nos permite escrever uma consulta que resultará em linhas que são retornadas por duas instruções SELECT. No MariaDB 10.5 foi adicionado INTERSECT ALL, que permite retornar um conjunto de resultados com valores duplicados. Da mesma forma, EXCEPT foi aprimorado para permitir EXCEPT ALL.
Algumas alterações foram feitas na sintaxe ALTER - agora você pode renomear colunas com ALTER TABLE … RENAME COLUMN. Também é possível renomear o índice usando a sintaxe ALTER TABLE … RENAME KEY. O que é muito importante, tanto ALTER TABLE quanto RENAME TABLE receberam suporte para IF EXISTS, com certeza ajudará em termos de manipulação de replicação.
Atualizações do esquema de desempenho para corresponder ao MySQL 5.7
As tabelas de Esquema de Desempenho foram atualizadas para que fiquem no mesmo nível do Esquema de Desempenho do MySQL 5.7. Isso significa mudanças na instrumentação relacionadas à memória, bloqueio de metadados, instruções preparadas, procedimentos armazenados, bloqueio, transações e variáveis de usuário.
Binários denominados mariadb
Por último, mas não menos importante, os binários foram alterados de 'mysql' para 'mariadb'. A antiga convenção de nomenclatura, no entanto, ainda pode ser usada para manter a compatibilidade com scripts e ferramentas existentes.
Além disso, várias outras mudanças foram introduzidas. Função de agregação de array e objeto JSON, instrumentação aprimorada para o pool de conexões, melhorias no otimizador de consultas ou migração para nova versão da biblioteca para expressões regulares. A integração com o S3 também foi introduzida - você pode ler dados de buckets do S3 de dentro do MariaDB 10.5.
Estamos ansiosos para ver como essa nova versão do MariaDB ficará em ambientes de produção. Se você estiver interessado em tentar, as instruções de migração estão disponíveis no site do MariaDB