Anunciado como parte do lançamento do ClusterControl 1.5, agora oferecemos suporte completo para o MariaDB versão 10.2. Esta nova versão oferece uma integração ainda maior com o Galera Cluster, a solução de HA de escolha do MariaDB, e também apresenta melhorias no SQL, como funções de janela, expressões de tabela comuns e funções JSON.
O MariaDB é o banco de dados de código aberto que mais cresce, alcançando mais de 60 milhões de desenvolvedores em todo o mundo por meio de sua inclusão em todas as principais distribuições Linux, bem como uma presença crescente nos principais provedores de nuvem do mundo. Seu uso generalizado em distribuições Linux e plataformas de nuvem, bem como sua facilidade de uso, rapidamente tornaram o MariaDB o padrão de banco de dados de código aberto para a empresa moderna.
O MariaDB Server foi listado na recente pesquisa OpenStack como a tecnologia de banco de dados número um e dois em uso hoje.
O que há de novo na versão 10.2?
O MariaDB Server 10.1 trouxe a integração padrão do Galera Cluster para permitir que seus usuários alcancem o máximo em alta disponibilidade. A Manynines foi uma das primeiras a adotar essa tecnologia de cluster e ficou empolgada em ver o MariaDB adotá-la para HA.
Aqui estão alguns dos aprimoramentos incluídos na nova versão 10.2, conforme anunciado pelo MariaDB…
- Aprimoramentos SQL, como funções de janela, expressões de tabela comuns e funções JSON, permitem novos casos de uso para o MariaDB Server
- A replicação padrão do servidor MariaDB tem otimizações adicionais
- Muitas limitações de área foram removidas, o que facilita o uso e não há necessidade de manipulação de limitações no nível do aplicativo
- MyRocks, um novo mecanismo de armazenamento desenvolvido pelo Facebook, foi introduzido, o que enriquecerá ainda mais os casos de uso do MariaDB Server (OBSERVAÇÃO:esse novo mecanismo de armazenamento também está disponível para implantações do MariaDB no ClusterControl, mas o ClusterControl não ainda não suporta monitoramento específico do MyRocks .)
Funções da janela
As funções de janela são populares em Business Intelligence (BI), onde a geração de relatórios mais complexos é necessária com base em um subconjunto de dados, como país ou métricas da equipe de vendas. Outro caso de uso comum é onde os dados baseados em séries temporais devem ser agregados com base em uma janela de tempo em vez de apenas um registro atual, como todas as linhas dentro de um determinado intervalo de tempo.
À medida que a análise está se tornando cada vez mais importante para os usuários finais, as funções de janela oferecem uma nova maneira de escrever consultas SQL analíticas com desempenho otimizado, que são fáceis de ler e manter, e eliminam a necessidade de escrever subconsultas e autojunções caras.
Expressões de tabela comuns
As consultas hierárquicas e recursivas geralmente são implementadas usando expressões de tabela comuns (CTEs). Eles são semelhantes às tabelas derivadas em uma cláusula FROM, mas tendo uma palavra-chave de identificação WITH, o otimizador pode produzir planos de consulta mais eficientes. Atuando como um conjunto de resultados temporário e nomeado automaticamente criado, que é válido apenas para o momento da consulta, pode ser usado para execução recursiva e hierárquica, além de permitir a reutilização do conjunto de dados temporário. Ter um método dedicado também ajuda a criar um código SQL mais expressivo e mais limpo.
Funções JSON
JSON (JavaScript Object Notation), um formato de troca de dados baseado em texto e independente de plataforma, é usado não apenas para trocar dados, mas também como um formato para armazenar dados não estruturados. O MariaDB Server 10.2 oferece mais de 24 funções JSON para permitir a consulta, modificação, validação e indexação de dados formatados em JSON, que são armazenados em um campo baseado em texto de um banco de dados. Como resultado, o poderoso modelo relacional do MariaDB pode ser enriquecido trabalhando com dados não estruturados, quando necessário.
Através do uso de colunas virtuais, a função JSON, JSON_VALUE e o mais novo recurso de indexação do MariaDB Server 10.2 em colunas virtuais, os valores JSON serão extraídos automaticamente da string JSON, armazenados em uma coluna virtual e indexados proporcionando o acesso mais rápido ao JSON fragmento.
Usando a função JSON JSON_VALID, o novo CHECK CONSTRAINTS no MariaDB Server 10.2 garante que apenas strings JSON do formato JSON correto possam ser adicionadas a um campo.
Reversão baseada em log binário
O utilitário mysqlbinlog aprimorado fornecido com o MariaDB Server 10.2 inclui uma nova função de rollback point-in-time, que permite que um banco de dados ou tabela reverta para um estado anterior e fornece rollback baseado em log binário de dados já confirmados. A ferramenta mysqlbinlog não está modificando diretamente nenhum dado, está gerando um “arquivo de exportação” incluindo as declarações revertidas das transações, registradas em um arquivo de log binário. O arquivo criado pode ser usado com o cliente de linha de comando ou outra ferramenta SQL para executar as instruções SQL incluídas. Dessa forma, todas as transações confirmadas até um determinado carimbo de data/hora serão revertidas.
No caso de resolver erros lógicos como adicionar, alterar ou excluir dados, até agora a única maneira possível foi usar mysqlbinlog para revisar transações e corrigir os problemas manualmente. No entanto, isso geralmente leva à inconsistência de dados porque as correções geralmente abordam apenas a instrução errada, ignorando outras dependências de dados.
Normalmente causado por erro do DBA ou do usuário, a restauração de um banco de dados enorme pode resultar em uma interrupção significativa do serviço. A reversão das últimas transações usando a reversão pontual leva apenas o tempo da extração, uma breve revisão e a execução das transações revertidas – economizando tempo, recursos e serviços valiosos.
Por que MariaDB?
Com várias opções de MySQL para escolher, por que selecionar o MariaDB como a tecnologia para alimentar seu aplicativo? Aqui estão alguns dos benefícios de selecionar o MariaDB...
- MariaDB é construído em uma arquitetura moderna que é extensível em todas as camadas:cliente, cluster, kernel e armazenamento. Essa extensibilidade oferece duas vantagens principais. Ele permite a inovação contínua da comunidade por meio de plug-ins e facilita para os clientes configurar o MariaDB para oferecer suporte a uma ampla variedade de casos de uso, de OLTP a OLAP.
- O MariaDB desenvolve funcionalidades e melhorias que fazem parte de seu próprio roadmap, independente do Oracle/MySQL. Isso permite que o MariaDB aceite e atraia inovações mais amplas da comunidade, além de adicionar novos recursos desenvolvidos internamente que facilitam a migração de sistemas proprietários para o MariaDB de código aberto.
- O MariaDB foi projetado para proteger o banco de dados em todas as camadas, tornando-o um banco de dados confiável de uso geral usado em setores como governo e bancos que exigem recursos de segurança do mais alto nível.
- O MariaDB oferece suporte para uma variedade de mecanismos de armazenamento, incluindo suporte NoSQL, oferecendo aos usuários várias opções para determinar o que funcionará melhor com seu ambiente.
- O MariaDB implantou muitas melhorias de aprimoramento de desempenho, incluindo otimizações de consulta que, em vários testes de benchmark, permitem que o MariaDB tenha um desempenho de 3 a 5% melhor do que um ambiente MySQL configurado de forma semelhante.
ClusterControl para MariaDB
O ClusterControl fornece suporte para cada uma das principais tecnologias MariaDB...
- Servidor MariaDB: O MariaDB Server é um banco de dados de uso geral projetado com uma arquitetura extensível para oferecer suporte a um amplo conjunto de casos de uso por meio de mecanismos de armazenamento conectáveis – como InnoDB, MyRocks e Spider.
- Replicação mestre/escravo assíncrona integrada
- Colunas dinâmicas que permitem que linhas diferentes armazenem dados diferentes na mesma coluna
- Criptografia integrada
- Otimização de consultas
- Compatibilidade de esquema aprimorada
- Cluster MariaDB: O MariaDB Cluster é feito para os ambientes atuais baseados em nuvem. É totalmente escalável para leitura/gravação, vem com replicação síncrona, permite topologias multimestre e não garante atrasos ou transações perdidas.
- Replicação síncrona sem atraso escravo ou transações perdidas
- Topologia multimestre ativa-ativa
- Ler e gravar em qualquer nó do cluster
- Controle de associação automático, com nós com falha removidos do cluster
- União automática de nós
- Replicação paralela em nível de linha verdadeira
- Conexões diretas do cliente, aparência nativa do MariaDB
- Escalabilidade de leitura e gravação
- MariaDB MaxScale: O MariaDB MaxScale é um proxy de banco de dados que estende a alta disponibilidade, escalabilidade e segurança do MariaDB Server e, ao mesmo tempo, simplifica o desenvolvimento de aplicativos, desacoplando-o da infraestrutura de banco de dados subjacente.
- Inclui firewall de banco de dados e proteção DoS
- Divisão de leitura-gravação
- Mascaramento de dados
- Fragmentação baseada em esquema
- Cache de consulta