MariaDB 13 amplia compatibilidade com Oracle e melhora experiência do desenvolvedor e observabilidade
O MariaDB Community Server 13.0 atingiu a Disponibilidade Geral (GA) e agora é oficialmente estável. A versão traz uma série de novos recursos, depreciações e melhorias de desempenho, incluindo suporte ampliado a SQL procedural e novas capacidades de DML.
Mais perto do Oracle PL/SQL
Para facilitar a migração de aplicações corporativas baseadas em Oracle PL/SQL, o MariaDB 13 introduz suporte nativo aos tipos REF CURSOR e RECORD em parâmetros de rotinas e valores de retorno de funções.
O suporte a REF CURSOR fraco e forte aproxima o tratamento de cursores do MariaDB ao do Oracle PL/SQL. Esses cursores podem ser abertos, lidos (fetch) e fechados, e podem ser usados como variáveis locais, parâmetros de rotinas de pacotes ou tipos de retorno de funções de pacotes.
O suporte a RECORD foi ampliado para permitir seu uso como parâmetro de rotina armazenada ou tipo de retorno de função armazenada, além de variáveis locais. O RECORD também pode ser usado com REF CURSORs para trabalhar com dados de linha estruturados.
Nem REF CURSOR nem RECORD são atualmente suportados como parâmetro ou tipo de retorno para rotinas globais (não pertencentes a pacotes).
Novidades no DML
O MariaDB 13 também traz uma forma mais direta de trabalhar com dados modificados por comandos UPDATE, que agora podem retornar o conjunto de linhas modificadas usando a cláusula RETURNING. Combinada com OLD_VALUE(), ela permite recuperar valores antigos e novos em uma única ida ao banco de dados. Antes disponível apenas para INSERT e DELETE, a cláusula RETURNING está atualmente limitada a comandos de tabela única.
Otimização de consultas
Outra área de melhoria é a otimização de consultas, construída sobre o framework de hints do otimizador introduzido no MariaDB 12, tornando as dicas mais fáceis de usar em consultas complexas. O framework agora atribui automaticamente um nome de bloco de consulta a Views, CTEs e tabelas derivadas, permitindo que as dicas as atinjam sem o uso explícito de QB_NAME(). Além disso, os localizadores QB_NAME oferecem uma forma de especificar um caminho para blocos de consulta profundamente aninhados quando eles não podem ser alcançados apenas pelo nome.
Observabilidade e administração
Na parte de observabilidade e administração, o MariaDB 13 facilita a inspeção e a automação da configuração e dos metadados do servidor:
init_rpl_role, que especifica o papel de replicação por meio de uma opção de inicialização, agora é exposto como variável de sistema, permitindo verificar o papel de replicação do servidor diretamente comSHOW VARIABLESou@@init_rpl_role.- Para tornar opções de índice e coluna específicas de cada mecanismo de armazenamento acessíveis programaticamente, as tabelas
I_S.STATISTICSeI_S.COLUMNSagora incluem uma colunaCREATE_OPTIONS, expondo informações antes disponíveis apenas viaSHOW CREATE TABLE. - A tabela
I_S.SYSTEM_VARIABLESagora inclui colunas que indicam se uma variável de sistema está obsoleta.
Versão rolling, não LTS
O MariaDB é uma versão rolling, voltada a levar os recursos mais recentes rapidamente aos usuários, e não a ser o alvo de estabilidade de longo prazo (LTS). A próxima versão LTS planejada é o MariaDB 13.3.
Fonte: baseado na análise de Sergio De Simone, publicada pela InfoQ.
Conecte-se
Acompanhe meu conteúdo nas redes sociais ou entre em contato por e-mail.