O Que É o MariaDB e Porque É Popular

Introdução ao MariaDB
O MariaDB é uma base de dados relacional de código aberto que surgiu em 2009 como um fork do MySQL. Foi criado por Michael "Monty" Widenius, o criador original do MySQL, depois de a Oracle ter adquirido a Sun Microsystems (proprietária do MySQL). O Monty receava que a Oracle pudesse alterar o modelo de licenciamento do MySQL ou abrandar o desenvolvimento, por isso iniciou o MariaDB como uma alternativa orientada pela comunidade que garante manter-se gratuito e de código aberto.
Desde então, o MariaDB cresceu de um simples fork para uma base de dados autónoma com inúmeras melhorias. É utilizado por gigantes como a Google, a Wikipédia, a Mozilla Foundation e a Deutsche Telekom. A maioria das distribuições Linux (Fedora, Red Hat, Debian, Ubuntu, Arch Linux) substituiu o MySQL pelo MariaDB como base de dados predefinida. No setor do alojamento, o MariaDB tornou-se o padrão nos principais painéis de alojamento e servidores Plesk.
MariaDB vs MySQL - principais diferenças
Compatibilidade
O MariaDB foi concebido como um "substituto direto" (drop-in replacement) do MySQL - as aplicações que utilizam MySQL podem migrar para o MariaDB sem alterações de código. O MariaDB utiliza os mesmos protocolos de cliente, os mesmos comandos SQL, os mesmos ficheiros de configuração e as mesmas ferramentas de gestão (o cliente de linha de comandos mysql, o mysqldump para backup). Até à versão 10.5, o MariaDB mantinha compatibilidade binária total com o MySQL. A partir das versões mais recentes, existem algumas diferenças em funcionalidades avançadas, mas para 99% das aplicações web (incluindo o WordPress) a compatibilidade é total.
Motores de armazenamento
O MariaDB suporta todos os motores de armazenamento do MySQL e ainda outros adicionais. O Aria é a versão melhorada do motor MyISAM do MariaDB com suporte para recuperação de falhas - se o servidor falhar, as tabelas Aria recuperam automaticamente sem necessidade de reparação. O ColumnStore é um motor otimizado para consultas analíticas sobre grandes conjuntos de dados (OLAP). O Spider permite tabelas distribuídas por vários servidores. O MyRocks (baseado no RocksDB do Facebook) oferece melhor compressão e desempenho de escrita para discos SSD. O InnoDB continua a ser o motor predefinido também no MariaDB, mas com otimizações adicionais.
Desempenho
O MariaDB demonstra geralmente melhor desempenho do que o MySQL na maioria dos cenários. O thread pool (gratuito no MariaDB, pago no MySQL Enterprise) melhora significativamente o desempenho sob carga elevada ao gerir de forma mais eficiente um grande número de ligações simultâneas. O otimizador de consultas do MariaDB utiliza estratégias mais avançadas para operações JOIN, subconsultas e tabelas com vários índices. O InnoDB do MariaDB tem melhorias na gestão do buffer pool e na escrita de logs que resultam em operações de escrita mais rápidas.
Licenciamento
O MariaDB utiliza a licença GPLv2 e a MariaDB Foundation garante que se manterá sempre de código aberto. O MySQL tem licenciamento duplo - a Community Edition é GPLv2, mas a Enterprise Edition com funcionalidades avançadas é comercial. Algumas funcionalidades gratuitas no MariaDB (thread pool, plugin de auditoria, encriptação em repouso) estão disponíveis apenas na versão paga MySQL Enterprise. Para empresas que pretendem uma garantia de estatuto de base de dados de código aberto, o MariaDB é uma escolha mais segura.
Funcionalidades avançadas do MariaDB
Encriptação em repouso
O MariaDB suporta gratuitamente a encriptação transparente de dados em repouso, enquanto no MySQL esta funcionalidade só está disponível na versão Enterprise. A encriptação abrange ficheiros de tablespace (InnoDB), ficheiros de log (redo log, undo log) e o log binário. Isto é importante para a conformidade com o RGPD e outros regulamentos que exigem a proteção de dados em repouso. A configuração exige apenas a definição de um plugin de gestão de chaves e a ativação da encriptação na configuração.
Galera Cluster
O MariaDB Galera Cluster é um sistema de replicação multi-master síncrona que permite leituras e escritas em qualquer nó do cluster. Todos os nós têm dados idênticos em qualquer momento, o que elimina o problema do atraso de replicação. O Galera deteta automaticamente a falha de um nó e redireciona o tráfego para os nós restantes. Isto é ideal para aplicações que exigem alta disponibilidade e resistência a falhas sem comprometer a consistência dos dados.
Temporal Tables
O MariaDB suporta System-Versioned Tables (tabelas temporais) que armazenam automaticamente o histórico de todas as alterações de uma tabela. Cada linha tem um período de validade e pode consultar a base de dados sobre "como estavam os dados em qualquer momento do passado". Isto é extremamente útil para trilhos de auditoria, requisitos de conformidade, depuração de dados e funcionalidade de desfazer. Em vez de implementar triggers e tabelas de histórico por conta própria, o MariaDB fá-lo de forma transparente ao nível do motor.
Suporte a JSON
O MariaDB suporta o tipo de dados JSON e funções para trabalhar com documentos JSON. Embora o MySQL também tenha suporte a JSON, a abordagem do MariaDB é diferente - no MariaDB, JSON é um alias para LONGTEXT com validação JSON, enquanto o MySQL utiliza um formato binário. Para a maioria das aplicações web a diferença é negligenciável, mas a abordagem do MariaDB simplifica a compatibilidade com ferramentas que esperam um formato de texto. As funções JSON (JSON_EXTRACT, JSON_SET, JSON_ARRAY) estão disponíveis em ambas as bases de dados.
MariaDB e WordPress
Compatibilidade total
O WordPress suporta oficialmente o MariaDB desde a versão 10.1 (página de requisitos do WordPress.org). Na prática, o WordPress funciona no MariaDB de forma tão fiável como no MySQL porque utiliza operações SQL padrão que são idênticas em ambas as bases de dados. O WooCommerce, o BuddyPress, o bbPress e todos os plugins populares funcionam sem problemas no MariaDB. Muitos fornecedores de alojamento WordPress (incluindo grandes players como a SiteGround, a Cloudways e a A2 Hosting) utilizam o MariaDB em vez do MySQL.
Desempenho com o WordPress
Os sites WordPress em MariaDB demonstram melhor desempenho em vários cenários. As consultas WP_Query complexas com múltiplas condições meta_query utilizam o otimizador do MariaDB que lida melhor com subconsultas. As lojas WooCommerce com um grande número de produtos e variações beneficiam de melhores estratégias de JOIN. Os sites com muitos utilizadores em simultâneo (membros, fórum, e-commerce) beneficiam da funcionalidade thread pool que evita o esgotamento de ligações sob carga.
Versão recomendada
Para sites WordPress, recomenda-se o MariaDB 10.6 LTS (Long Term Support) ou mais recente. As versões LTS recebem atualizações de segurança durante um mínimo de 5 anos, o que é importante para sites de produção. O MariaDB 10.11 é a versão LTS mais recente com melhorias de desempenho e segurança. Evite versões não-LTS em servidores de produção porque têm um período de suporte mais curto.
Migrar do MySQL para o MariaDB
O processo de migração
Migrar do MySQL para o MariaDB é um processo simples. Crie um backup completo da base de dados MySQL utilizando o mysqldump. Pare o serviço MySQL. Instale o MariaDB (na maioria das distribuições Linux: apt install mariadb-server ou yum install mariadb-server). A instalação do MariaDB reconhece automaticamente o diretório de dados e a configuração do MySQL. Execute o mysql_upgrade para atualizar as tabelas de sistema. Inicie o MariaDB e verifique se a aplicação funciona normalmente. Todo o processo demora normalmente menos de 30 minutos para um servidor web típico.
Problemas potenciais
A migração é geralmente indolor, mas existem alguns problemas potenciais. Se utilizar funcionalidades específicas do MySQL que o MariaDB não suporta (raro em aplicações web), será necessária a modificação do código. Diferenças nos valores de configuração predefinidos podem exigir o ajuste do ficheiro my.cnf. O MySQL 8.0 utiliza o caching_sha2_password como plugin de autenticação predefinido, enquanto o MariaDB utiliza o mysql_native_password - verifique a compatibilidade do cliente. Os ficheiros de backup criados com o mysqldump do MySQL 8.0 podem exigir pequenas alterações antes da importação para o MariaDB.
Voltar ao MySQL
Se por qualquer razão pretender voltar ao MySQL, o processo é semelhante: backup com mysqldump a partir do MariaDB, instalação do MySQL, importação do backup. No entanto, se tiver utilizado funcionalidades específicas do MariaDB (motor Aria, tabelas temporais, extensões SQL específicas), essas funcionalidades não funcionarão no MySQL e será necessária modificação.
Otimização do MariaDB para alojamento web
Definições principais
Para um servidor de alojamento web com sites WordPress, as definições mais importantes são o InnoDB buffer pool size (definir para 50-70% da RAM disponível num servidor dedicado, menos no partilhado), max_connections (depende do número de sites e do tráfego, normalmente 150-300), query_cache_type e query_cache_size (úteis para o WordPress mas atenção ao overhead de invalidação), tmp_table_size e max_heap_table_size (aumentar se tiver muitas consultas complexas), e innodb_log_file_size (ficheiros de log maiores melhoram o desempenho de escrita mas tornam a recuperação de falhas mais lenta).
Monitorização
A monitorização regular da base de dados ajuda a identificar problemas antes que afetem os utilizadores. O MySQLTuner é um script Perl que analisa a configuração e sugere otimizações. O MariaDB Enterprise Monitor e a alternativa de código aberto PMM (Percona Monitoring and Management) fornecem métricas detalhadas sobre o desempenho das consultas, a utilização de recursos e a replicação. Os comandos SHOW GLOBAL STATUS e SHOW PROCESSLIST dão uma visão do estado atual da base de dados.
Perguntas frequentes sobre o MariaDB
- O MariaDB é gratuito? Sim, o MariaDB Community Server é completamente gratuito e de código aberto (GPLv2). Existe também o MariaDB Enterprise com suporte comercial e ferramentas adicionais.
- Posso usar o phpMyAdmin com o MariaDB? Sim, o phpMyAdmin funciona de forma idêntica com o MariaDB e com o MySQL. Todas as operações (criar bases de dados, importação/exportação, gestão de utilizadores) funcionam da mesma forma.
- O MariaDB é mais seguro do que o MySQL? O MariaDB tem algumas funcionalidades de segurança gratuitas (encriptação em repouso, plugin de auditoria) que no MySQL só estão disponíveis na versão Enterprise. Ambas as bases de dados são seguras quando corretamente configuradas.
- Que fornecedores de alojamento utilizam o MariaDB? A SiteGround, a Cloudways, a A2 Hosting, a InterServer e a maioria dos fornecedores de alojamento com cPanel utilizam o MariaDB. A BeoHosting também utiliza o MariaDB em todos os servidores.
- O MariaDB suporta replicação? Sim, o MariaDB suporta replicação master-slave (compatível com o MySQL), o Galera Cluster para replicação síncrona multi-master, e replicação semissíncrona.
Conclusão
O MariaDB é uma base de dados madura, estável e de elevado desempenho que se tornou o padrão de facto no setor do alojamento. A compatibilidade total com o MySQL, as funcionalidades empresariais gratuitas, o melhor desempenho sob carga e a garantia de estatuto de código aberto tornam-no uma excelente escolha para aplicações web de todas as dimensões. Na nossa plataforma de alojamento utilizamos o MariaDB em todos os servidores porque oferece a melhor relação entre desempenho, fiabilidade e segurança para o WordPress e outras aplicações web dos nossos clientes.
Equipa BeoHosting
10+ anos de experiência — Especialistas em alojamento web e infraestrutura
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Última atualização: