MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

O que há de novo no MariaDB 10.6

A partir de janeiro de 2022, o ClusterControl v1.9.2 introduziu suporte para a versão mais recente do MariaDB — versão 10.6. O MariaDB 10.6, lançado em julho de 2021, terá suporte pelos próximos quatro anos ou precisamente até julho de 2026.

Neste post, vamos destacar os principais recursos do MariaDB 10.6.

Atomic DDL (linguagem de definição de dados)

O primeiro recurso que abordaremos é o Atomic DDL. Por definição, “atômica” significa que a operação foi bem-sucedida e registrada nos logs binários ou foi completamente revertida. A partir do MariaDB 10.6.1, o MariaDB melhorou a legibilidade das operações do DDL, tornando a maioria delas atômicas, enquanto o restante é seguro contra falhas, mesmo se o servidor travar durante a execução de qualquer operação. Tanto o Atomic quanto o Crash-safe foram desenvolvidos para funcionar com todos os mecanismos de armazenamento, exceto o mecanismo de armazenamento S3 e o mecanismo de particionamento, que ainda estão em andamento.

Nesta versão, ALTER TABLE, RENAME TABLE, CREATE TABLE, DROP TABLE, DROP DATABASE e suas instruções DDL relacionadas agora estão prontas para o uso atômico. A lista completa de outras operações Atomic DDL pode ser encontrada aqui. O melhor da nova implementação atômica e à prova de falhas é que o servidor MariaDB se tornou muito mais estável, para não dizer confiável, mesmo em ambientes instáveis.

Sintaxe SQL

Em termos da categoria SQL Syntax, alguns novos recursos foram adicionados. O primeiro que veremos é:

SELECIONAR ... DESLOC ... BUSCAR

A cláusula OFFSET nos permitirá retornar apenas os segmentos de um conjunto de resultados que chegam após um deslocamento definido. Por outro lado, a cláusula FETCH restringe o número de linhas a serem retornadas. Seja um ROW singular ou ROWS plural, ambos podem ser usados ​​após as cláusulas OFFSET e FETCH, pois não têm impacto nos resultados.

SALTAR BLOQUEADO

Talvez alguns de nós estejam familiarizados com essa sintaxe, pois ela foi importada e adaptada do MySQL. Com SKIP LOCKED, poderíamos pular qualquer ROWS bloqueado ao realizar operações SELECT ou UPDATE. É definitivamente um recurso útil, especialmente para aplicativos que permitem que vários usuários reservem recursos limitados, como quartos de hotel, assentos de voo, ingressos para shows etc.

Índices ignorados

Ignored Indexes é similar ao recurso de “índices invisíveis” no MySQL 8. Quaisquer índices que são visíveis e mantidos mas não usados ​​pelo otimizador podem ser definidos como Ignored Indexes. Isso pode ser muito útil ao testar para ver quais superfícies se descartarmos um índice antes de de fato descartá-lo. Caso surja algum problema, podemos habilitá-lo novamente instantaneamente (marcando o índice IGNORADO/NOT IGNORADO).

JSON_TABLE

Esta função de tabela também é importada do MySQL, onde pode transformar dados ou documentos JSON em um formato relacional. Nesta versão, o MariaDB habilitou uma visualização de tabela em dados JSON armazenados no banco de dados MariaDB e, usando SQL, todas as consultas serão retornadas como uma tabela regular.

Compatibilidade Oracle

MariaDB foi a pioneira no mundo de banco de dados de código aberto que adicionou compatibilidade PL/SQL. A partir do MariaDB 10.3, muitas sintaxes e funções foram adicionadas para facilitar a migração do Oracle para o MariaDB. Quanto ao MariaDB 10.6, os seguintes são os recursos introduzidos para tornar o MariaDB mais compatível com PL/SQL:

  • Subconsultas anônimas em uma cláusula FROM (sem cláusula AS) são permitidas no modo ORACLE

  • ADD_MONTHS() adicionado

    • função para adicionar/subtrair meses de um determinado valor de data.

  • TO_CHAR() adicionado

    • suporta NUMBER, DATE, DATETIME, TIMESTAMP, etc. como parâmetros e retorna um valor TEXT formatado/convertido

  • SYS_GUID() adicionado

    • semelhante à função UUID no MariaDB

  • MENOS é mapeado para EXCEPT em UNION

  • A função ROWNUM retorna o número atual de linhas aceitas no contexto atual

Replicação, Galera e Binlog

Nesta categoria, o MariaDB introduziu binlog_expire_logs_seconds como uma forma de alias para expire_logs_days, o que significa que qualquer alteração em qualquer um deles será automaticamente refletida no outro. Além disso, binlog_expire_logs_seconds aceita uma precisão de 1/1000000 dias. Isso é excepcionalmente útil em gravações de alto volume no mestre e quando o ambiente tem espaço em disco limitado.

Além disso, MariaDB também introduziu variáveis ​​de sistema wsrep_mode. Essa variável habilita recursos WSREP que não fazem parte do comportamento padrão, como BINLOG_ROW_FORMAT_ONLY, DISALLOW_LOCAL_GTID, REQUIRED_PRIMARY_KEY, REPLICATE_ARIA, REPLICATE_MYISAM, STRICT_REPLICATION.

Esquema de sistema

O próximo recurso é sys_schema, uma coleção de exibições, funções e procedimentos. Não há dúvida de que sys_schema ajuda DBAs e desenvolvedores de várias maneiras na interpretação de dados; muitas informações e informações de diagnóstico podem ser coletadas a partir dele. O sys_schema não é usado apenas na solução de problemas de desempenho, mas também auxilia no gerenciamento eficiente dos recursos. Felizmente, isso agora está disponível no MariaDB 10.6.

Esquema de informações

O recurso recém-adicionado nesta categoria é INFORMATION_SCHEMA.KEYWORDS e INFORMATION_SCHEMA.SQL_FUNCTIONS. A tabela KEYWORDS contém cerca de 694 linhas de palavras-chave MariaDB, enquanto a tabela SQL_FUNCTIONS contém cerca de 234 linhas de funções MariaDB. Com essas duas tabelas, agora podemos obter o Esquema de Informações relacionado a elas, caso precisemos.

Encerrando

Além desses novos recursos introduzidos no MariaDB 10.6, foram feitas muitas outras melhorias que não foram discutidas neste post. Embora muitos desses recursos tenham sido retirados do MySQL, essas adições ainda são altamente benéficas para os usuários.

Como mencionado anteriormente, o ClusterControl atualmente suporta MariaDB 10.6. Com o ClusterControl, você pode atualizar facilmente para a versão de tecnologia mais recente sem estresse. Se você ainda não está familiarizado com o ClusterControl, você pode avaliá-lo gratuitamente por 30 dias – sem necessidade de CC.

Para se manter atualizado com as últimas notícias e práticas recomendadas para os bancos de dados de código aberto mais populares, não se esqueça de nos seguir no Twitter e LinkedIn e assinar nosso boletim informativo para atualizações.