Você utilizaria o banco de dados MariaDB ou o Percona Server? E se mostrarmos que eles são aprimoramentos do MySQL?
O sistema gerenciador de banco de dados (SGBD) é um fator crítico para a disponibilidade e o desempenho das diversas aplicações que dão sustentação à operação de uma empresa.
Assim, a escolha do SGBD ideal para as necessidades da empresa deve ser criteriosa, dentro de um planejamento de TI alinhado ao da empresa.
MySQL, MariaDB e Percona Server são três SGBDs relacionais, desenvolvidos dentro do conceito de sistemas de código aberto.
Neste artigo vamos conhecer um pouco do MariaDB e do Percona Server, identificando suas semelhanças e suas diferenças em relação ao MySQL.
A origem do MySQL
O MySQL foi criado na década de 1990 por três sócios, Allan Larsson, David Axmark e Michael Widenius.
Em 2008, a empresa que desenvolvia o produto foi comprada pela Sun Microsystems. Em 2009, a Oracle adquiriu a Sun.
Nesse meio tempo, o MySQL tornou-se o mais popular entre os SGBD relacionais de código aberto.
Já o MariaDB e o Percona Server nasceram como “forks” do projeto MySQL.
O que é um “fork”?
Em desenvolvimento de software, “fork” é um projeto que nasce como uma ramificação de outro projeto já existente, sem que o original tenha sido descontinuado.
Assim, os projetos que deram origem ao MariaDB e ao Percona Server nasceram como ramificações do projeto MySQL.
Antes de mais nada, essa é uma prática possível e comum no contexto dos sistemas de código aberto.
A origem do MariaDB e do Percona Server
O MariaDB foi lançado em 2009. Seu desenvolvedor é o próprio Michael Widenius, um dos criadores do MySQL.
Assim que a Sun Microsystems foi adquirida pela Oracle, o projeto MariaDB foi iniciado.
Widenius temia que a Oracle descontinuasse o projeto do SGBD de código aberto, tornando-o um software proprietário de código fechado.
Embora alguns anos já tenham se passado e a Oracle não tenha fechado o código do projeto, a comunidade de desenvolvedores de código aberto de fato tem estado descontente com os rumos que o projeto tomou.
Com o intuito de garantir a continuidade do projeto de um SGBD relacional de código aberto, o MariaDB ganhou vida.
Do mesmo modo, outro projeto fork, nascido até antes, deu origem ao Percona Server.
Percona é uma empresa da Carolina do Norte (EUA), pertencente aos sócios Peter Zaitsev e Vadim Tkachenko, dois ativos defensores dos sistemas de código aberto.
Como resultado de solicitações de usuários, o Percona Server surgiu com algumas implementações não contempladas no software original.
Outros forks
Além do MariaDB e do Percona Server, outras ramificações surgiram a partir do projeto MySQL. Por exemplo:
- Drizzle: voltado para a comunidade de infraestrutura e nuvem da Web.
- OurDelta: foi projetado para aprimorar ciclos de feedback e incorporar inovações na web. Os aprimoramentos do OurDelta foram assimilados pelo MariaDB.
- WebScaleSQL: construído em 2014 em associação com desenvolvedores do Facebook, Google, LinkedIn e Twitter, seu objetivo era eliminar as duplicidades nos esforços desenvolvidos independentemente por empresas de mídia social.
Qual SGBD escolher?
Entre o SGBD original, mais antigo e mais popular e dois de seus principais derivados, criados justamente como aprimoramentos ao original, qual a melhor opção?
A origem comum confere total compatibilidade entre os produtos, de forma que, aplicações que funcionam no MySQL funcionarão também no MariaDB ou no Percona.
Da mesma forma, as linhas de código que os desenvolvedores criaram para o MySQL permanecem válidas no MariaDB e no Percona.
Ainda em termos de compatibilidade, os desenvolvedores do MariaDB e do Percona têm mantido uma prática de compartilhamento entre si, apesar de serem concorrentes. Tudo de acordo com a filosofia do código aberto.
Assim, aprimoramentos desenvolvidos para o MariaDB têm sido incorporados ao Percona, da mesma forma que aprimoramentos do Percona têm sido aproveitados pelo MariaDB.
Um ponto importante sobre compatibilidade: se o que funcionava no MySQL continua funcionando no MariaDB e no Percona, o inverso já não é verdadeiro, afinal, ambos implementaram aprimoramentos que inexistem no SGBD original.
A seguir, relacionamos algumas características presentes em cada um dos produtos, que devem ser consideradas para a escolha do SGBD ideal para as suas necessidades.
Características e vantagens do MySQL
O MySQL é o SGBD mais popular do mundo, usado por praticamente todas as empresas atuais. Entre as suas principais características podemos citar:
- É open source;
- Trata-se de um software já muito disseminado;
- É confiável e tem, comprovadamente, alta disponibilidade, inclusive para uso na web;
- Seu código é estável e também confiável;
- Tem uma grande comunidade de usuários e de administradores;
- Existe uma grande coleção de informações publicadas a seu respeito, na web e na mídia impressa.
Essas características conferem ao MySQL uma série de vantagens que o tornam ainda mais poderoso. Por ser bastante popular, por exemplo, existe uma enorme quantidade de informações online; incluindo toda a documentação do SGBD, tutoriais, fóruns de discussão e mailing lists. Com isso, é mais fácil obter suporte, tirar dúvidas e até mesmo aprender como utilizar o MySQL.
Outra grande vantagem do MySQL é o seu código aberto. Ele está disponível para o download de qualquer pessoa que se interessar, sem qualquer licença ou autorização e, inclusive, gratuitamente. No entanto, a versão gratuita, a Community Edition, só está disponível para uso não comercial. Apenas as versões pagas do MySQL podem ser usadas comercialmente.
Além disso, o SGBD da Oracle é considerado mais fácil de programar do que as outras opções disponíveis, com funções mais simples, bastando um conhecimento geral de SQL para se trabalhar com ele de forma eficiente, e pode ser totalmente personalizado conforme as necessidades da empresa.
Já contra o MySQL têm pesado justamente a figura da Oracle como sua proprietária. A empresa é uma estranha no meio da comunidade do código aberto, que a considera um obstáculo ao pleno desenvolvimento do projeto, como era na sua versão original.
Outro ponto negativo, também trazido pela Oracle, é a adoção do licenciamento para uso comercial.
Características e vantagens do MariaDB
Já o MariaDB é completamente gratuito, tanto para uso não comercial quanto comercial, sendo considerado por muitos melhor que o MySQL. Entre as principais vantagens sobre o SGBD da Oracle estão: maior velocidade, comprovada por benchmarks; menor exigência de hardware, recursos mais avançados e fácil migração e compatibilidade. Além, claro, de ser completamente aberto. O que também traz a possibilidade de contribuição na evolução do software.
Além disso, o MariaDB também está ganhando a disputa com o MySQL na questão segurança. Isso porque a política da Oracle, de distribuir novas versões do MySQL de 2 em 2 meses, tem prejudicado as atualizações de segurança do SGBD. E, pra piorar, as notificações de lançamento não contam com uma lista de números de CVE(indicadores de vulnerabilidade).
Já a MariaDB Foundation, instituição sem fins lucrativos que administra o MariaDB, segue as melhores práticas do mercado, liberando atualizações de segurança mais frequentemente, de maneira mais integrada e com uma lista de indicadores CVE.
Dessa forma, o MariaDB pode ser considerado uma evolução do MySQL, trazendo diversos aprimoramentos do projeto original. Entre eles estão:
- Oferecer um otimizador de consulta mais eficiente que o do projeto original;
- Contemplar uma grande variedade de mecanismos de armazenamento;
- Adotar a criptografia para os bancos de dados em disco;
- Oferecer recursos de escalabilidade, como replicação de várias fontes.
Por estes e outros motivos, diversas grandes empresas têm migrado do MySQL para o MariaDB. Entre elas a gigante Google, que decidiu abandonar completamente o SGBD mais popular da Oracle e adotar o seu fork.
MariaDB é bastante apropriado para grandes aplicativos de hospedagem em nuvem com vários servidores.
Características e vantagens do Percona Server
O Percona Server também é completamente compatível com o MySQL, contando, inclusive, com versões correspondentes às do SGBD original. Ele também conta com uma série de ferramentas que visam prover uma melhor performance que o MySQL. Dentre estas, se destaca o XtraDB, uma versão melhorada do InnoDB, mecanismo de armazenamento do MySQL, que permite um maior grau de ajuste e escalabilidade.
Baseado no XtraDB, o Percona também trouxe outra ferramenta que o coloca em vantagem sobre o MySQL, o XtraDB Cluster. Este software permite a criação, gerenciamento e monitoramento de vários clusters de servidores, oferecendo uma solução aos requisitos de escalabilidade destes sistemas.
Além disso, o MariaDB também:
- É completamente compatível com as principais provedoras de soluções cloud, como AWS, Google Cloud e Microsoft Azure, podendo ser completamente implementado na nuvem ou como uma solução híbrida;
- Possui uma série de recursos, como autenticação externa completamente habilitada, que estão disponíveis apenas na versão paga do MySQL;
- Fornece recursos de segurança avançados.
E oferece aprimoramentos em questões de desempenho, disponibilidade e escalabilidade, como:
- Indicadores e diagnósticos para medir desempenho e ajustar o banco de dados;
- Recursos de escalabilidade que o SGBD da Oracle só disponibiliza na versão Enterprise, não gratuita.
- Ferramentas auxiliares.
O Percona Server mostra-se bastante adequado para aplicações com bancos de dados que exigem alto desempenho.
Hora da escolha
No fim, o fator mais importante para a escolha, como sempre, é a adequação às necessidades. E abaixo, você confere um comparativo entre as principais necessidades supridas pelos três SGBDs.
MySQL | Percona Server | MariaDB | |
---|---|---|---|
Licença | Open Source e gratuito para uso não comercial | Open Source e completamente gratuito | Open Source e completamente gratuito |
Segurança | Recursos avançados de encriptação, MySQL Enterprise Firewall, ProxySQL data masking, MySQL Enterprise Audit Plugin e gerenciamento de senhas | Recursos avançados de encriptação, ProxySQL Firewall, ProxySQL data masking, Percona Audit Plugin (OSS) e gerenciamento de senhas | Recursos avançados de encriptação, MariaDB MaxScale Firewall, MariaDB MaxScale data masking, MariaDB Audit Plugin (OSS) e gerenciamento de senhas |
Performance | Todos os três SGBDs relacionais não diferem muito em relação à performance | ||
Analytics | Sem recursos de Analytics próprios | ClickHouse | MariaDB ColumnStore |
Backup | mysqlbackup | Xtrabackup | Xtrabackup ou Mariabackup |
Particionamento | Padrão | Padrão | Padrão, mas com mecanismo extra |
Escalabilidade | MySQL Enterprise Threadpool, MySQL Group Replication, | Threadpool open source, MySQL Group Replication e Percona XtraDB Cluster | Threadpool open source e MariaDB Enterprise Cluster (Baseado no Galera Cluster) |
Principais mecanismos de armazenamento | InnoDB(default), XtraDB, Federated | XtraDB, InnoDB(default), Memory, TokuDB | XtraDB, InnoDB, LevelDB, Aria Storage Engine |
Versão atual | MySQL 8.0 | Percona Server for MySQL 8.0..13-4 | MariaDB 10.3.13-GA |
Como aprimoramentos do projeto original, MariaDB e Percona Server mostram-se mais preparados para aplicações mais exigentes, sendo também boas opções para receber migrações do MySQL.
Numa comparação direta entre MariaDB e Percona Server, este último é considerado mais próximo ao SGBD original.
A característica mais marcante do Percona Server é o seu alto desempenho, enquanto a do MariaDB é a adição de recursos mais avançados.
De toda forma, são três produtos que continuam a evoluir, com grandes comunidades de desenvolvedores na retaguarda.
Em julho/2018, o MySQL lançou sua versão 8.0.12. Em setembro foi a vez do lançamento do Percona Server 5.7.23-23. Em outubro, chegou ao mercado o MariaDB 10.3.10.
É preciso ficar atento às novidades que chegam.
Clientes que possuem solução de Data Center Virtual ou Servidor Dedicado na Host One, podem escolher qual SGDB querem utilizar em seus servidores e a equipe Host One irá instalar e configurar tudo, sem custo extra. Fale com nossos especialistas!