Ir para conteúdo
  • Cadastre-se

MariaDB vs MySQL Resumo


Henrique S

Posts recomendados

MariaDB vs MySQL: Um resumo de tecnologias de banco de dados

mariadb-vs-mysql-1024x512.jpg

 

Hoje vamos dar uma olhada em algumas das diferenças entre MariaDB e MySQL, duas tecnologias de banco de dados semelhantes, mas diferentes, usadas para alimentar milhões de sites em todo o mundo.

 

  • Diferenças entre MariaDB e MySQL
  • Mesmo que MariaDB é um fork do MySQL, esses dois sistemas de gerenciamento de banco de dados ainda são bastante diferentes:
  • O MariaDB é totalmente licenciado pela GPL, enquanto o MySQL adota uma abordagem de licença dupla.
  • Cada thread de identificador agrupa de uma maneira diferente.
  • O MariaDB suporta muitos mecanismos de armazenamento diferentes.
  • Em muitos cenários, o MariaDB oferece melhor desempenho.

O que é MySQL
MySQL é um banco de dados relacional (RDBMS) que viu a luz do dia pela primeira vez em 1995,
 Criado por Michael Monty Widenius e David Axmark.
 Ele foi criado quando o mercado era dominado pelas soluções proprietárias (e caras) da Microsoft e da Oracle.

MySQL-old-page-1.jpg

 

 

MySQL é hoje uma marca arquetípica. Seu papel foi fundamental na construção da internet como a conhecemos hoje. Este artigo in Linux Journal lança alguma luz sobre seus primeiros dias.
Desbloqueie 4 meses de desconto em todos os planos anuais do WordPress
→ Desbloquear mais
Por Menos
Com sua adoção precoce de licenciamento duplo - e usando GNU GPL para sua versão gratuita - o MySQL abriu o caminho para muitos outros fornecedores de software que vieram mais tarde.

O conteúdo está oculto, favor efetuar login ou se cadastrar!
 Sobre o licenciamento duplo:

... uma vez que o MySQL é um produto de infraestrutura que é facilmente incorporável em outros produtos, poderíamos vender licenças para aqueles que queriam incorporar o MySQL em seu produto, mas não queriam tornar seu produto de código aberto.

 

Os aplicativos Web implantados no servidor, como parte da pilha LAMP, geralmente não incorporam o MySQL e distribuem seu código. Isso significava que qualquer pessoa poderia usar livremente o software para seus próprios produtos da web.

Menos de uma década após seu lançamento público, O MySQL estava dominando o mercado de bancos de dados relacionais open source.

O Google Trends mostra que o interesse global de pesquisa na web no MySQL atingiu o pico entre 2004 e 2005:

 

Google-trends-mysql-1.png

 

- Interesse no MySQL ao longo do tempo

 

Algumas das empresas notáveis que usam o MySQL incluem:

  • LinkedIn, um relatório de 2011 menciona até "60 milhões de consultas por segundo e quase 4 milhões de alterações de linha por segundo" e o MySQL lida com "praticamente todas as interações do usuário: curtidas, compartilhamentos, atualizações de status, alertas, solicitações".
  • Netflix parte de faturamento de sua plataforma
  • Linkedin
  • Booking.com
  • Airbnb
  • e muitos outros.

 

Mais um fator que contribuiu para a ascensão e adoção do MySQL vale a pena mencionar é phpMyAdmin.

PhpMyAdmin é uma ferramenta de administração de banco de dados baseada na web que remonta a 1998, que fez seu caminho bastante cedo para os consoles de gerenciamento de provedores de hospedagem compartilhada, incluindo cPainel. É uma ferramenta escrito em PHP o que facilitou a administração do MySQL em servidores LAMP. Importar, exportar, compor consultas complexas, excluir e criar tabelas, realizar pesquisas complexas são apenas algumas das coisas que o phpMyAdmin tornou possível sem que os usuários tenham que usar o terminal Linux.

 

WordPress e MySQL

 

 

Um dos fatores por trás da popularidade do MySQL é, sem dúvida, o WordPress, que hoje alimenta cerca de 60% dos sistemas CMS ou 34% de toda a web.
WordPress foi criado em 2003 por Matt Mullenweg e Mike Little, como um fork de outro projeto. Foi escrito em PHP, estava usando MySQL como seu banco de dados, e quando apareceu, sua adoção pegou fogo.

WordPress rapidamente se tornou sinônimo com o conceito de software de código aberto e assim como sua pilha de servidor subjacente. DisplayWP tem um bom gráfico da versão mínima necessária do MySQL para cada versão do WordPress.

Um dos fatores que impulsionou a adoção do MySQL foi o lado GPL de seu licenciamento. Como é compatível com Linux, passou a ser incluído por padrão em distribuições Linux. Hoje ele vem incluído por padrão com o Ubuntu.

Breve visão geral do MySQL e do modelo de banco de dados relacional

 

 

 

O MySQL foi concebido como um RDBMS (Relational Database Management System). O modelo de banco de dados relacional remonta à década de 1970, conforme descrito por "Os Doze Mandamentos de Codd". Resumidamente, esse modelo estrutura os dados em tabelas que consistem em colunas e linhas. Cada linha é identificada exclusivamente por uma chave (Chave Primária para usar o jargão SQL).

Essas chaves primárias podem ser usadas como estacas de um tipo que são usadas por outras tabelas para definir uma relação com a linha específica. Assim, a coluna CHAVE ESTRANGEIRA em uma tabela de banco de dados relacional fará referência a uma coluna CHAVE PRIMÁRIA em outra tabela, definindo uma relação entre linhas em tabelas diferentes.

Como O SQL essencial explica, "A chave primária consiste em uma ou mais colunas cujos dados contidos nela são usados para identificar exclusivamente cada linha na tabela." Data em colunas de chave primária deve ser exclusivo e não pode ser vazio ou NULL. Em um banco de dados relacional "a tabela tem apenas uma chave primária, e sua definição é obrigatória".
Ao mesmo tempo, "chave estrangeira é um conjunto de uma ou mais colunas em uma tabela que se refere à chave primária em outra tabela. Não há nenhum código especial, configurações ou definições de tabela que você precise colocar para "designar" oficialmente uma chave estrangeira."

MySQL-relational-database-model.png

- Modelo de banco de dados relacional no MySQL

 

Dessa forma, com bancos de dados relacionais, é possível modelar os dados de maneiras sofisticadas e definir conexões entre vários dados. No nosso exemplo simples acima, temos duas tabelas, com linhas que podem ser relacionadas entre si, por exemplo. cada pessoa possui um carro.

Podemos consultar esses dados de acordo com a lógica que precisamos, podemos filtrar o conjunto de resultados de acordo com diferentes conjuntos de critérios e podemos construir nossa consulta de uma maneira muito mais complexa do que descrevemos acima.

Por essa razão, bancos de dados relacionais — e bancos de dados em geral — usam linguagens específicas de domínio, entre as quais o SQL, que significa Linguagem de Consulta Estruturada, é o prevalente, se não o único, utilizado pelo RDBMS.

 

Aquisição pela Sun

 

Em 2008, a MySQL AB, a empresa por trás do MySQL, foi adquirida pela Sun Microsystems. Esta empresa criou JAVA, Solaris Unix OS e foi um contribuinte significativo para diferentes tecnologias de computador. Como Business Wire relatou na época:

(NASDAQ:JAVA) anunciou hoje que entrou em um acordo definitivo para adquirir o MySQL AB, um ícone de código aberto e desenvolvedor de um dos bancos de dados de código aberto de crescimento mais rápido do mundo por aproximadamente US$ 1 bilhão em consideração total"

 

Em breve provará que essa aquisição não foi suficiente para evitar a queda da Sun, mas pinta um quadro de quão grande era o MySQL naqueles dias.

 

Oráculo

A Oracle Corporation é fornecedora do maior banco de dados de código fechado até hoje, o banco de dados Oracle.

Era um concorrente direto do MySQL e praticamente a antítese do modelo de software livre e de código aberto GPL que o MySQL estava se tornando naquela época.

Quando a Oracle comprou a Sun e o MySQL com ela em 2010 (vencendo a IBM por isso), o FOSS O mundo viu isso como algo tão "sinistro" quanto um ataque Borg em Star Trek. Um usuário se lembra do evento no Quora:

 

O MySQL era uma grave ameaça para a Oracle – na época, o banco de dados Oracle representava algo em torno de 80% de toda a receita (e dado o esqueleto que a equipe precisava para mantê-lo, ainda mais dos lucros).

O MySQL estava fazendo incursões sérias – grandes empresas da Fortune 50 com licenças de site que custavam milhões estavam mudando bancos de dados (especialmente os somente leitura) do Oracle para o MySQL porque a sobrecarga administrativa era muito menor. Eu sei, eu ajudei a fazer alguns desses.

Muitos na comunidade MySQL queriam adicionar recursos que tornariam o uso até mesmo de uma versão gratuita do Oracle obsoleto. O MySQL estava definitivamente indo por esse caminho. As ferramentas estavam amadurecendo e Larry estava com medo.

Assim, a Oracle comprou o MySQL para garantir que teria um controle sobre a marca, dispersar a comunidade e salvar seu carro-chefe das massas não lavadas.

Esta foi uma conclusão lógica, porque o MySQL, naquela época, tornou-se tão popular que pode ter sido visto como uma ameaça real ao core business da Oracle. Como Ankush Thakur da Geekflare coloque-o, o MySQL se tornou tão popular que, em pouco tempo, os desenvolvedores esqueceram que SQL e MySQL eram duas coisas diferentes.

 

Antes mesmo da aquisição acontecer, no final de 2009, Monty Widenius, que deixou a equipe do MySQL naquele ano para estabelecer sua própria empresa de bifurcação e banco de dados, publicou um apelo dramático em seu blog (vamos citar apenas o começo):

 

Ajuda para salvar o MySQL

Eu, Michael "Monty" Widenius, o criador do MySQL, estou pedindo a você urgentemente para ajudar a salvar o MySQL das garras da Oracle. Sem a sua ajuda imediata, a Oracle pode começar a possuir o MySQL a qualquer dia agora. Ao escrever para a Comissão Europeia (CE) você pode apoiar esta causa e ajudar a garantir o desenvolvimento futuro do produto MySQL como um projeto Open Source.

 

 

A aquisição, no entanto, foi concluída um mês depois, para desespero de muitos na comunidade de código aberto. Widenius já havia saído do Sol, formou o Monty Program AB, e bifurcou o MySQL, lançando as bases para o MariaDB. Tudo isso enquanto levava muitos desenvolvedores MySQL com ele.

Até hoje, as pessoas ainda questionam a legitimidade dos medos de Monty. Especialmente, já que o pior cenário não aconteceu: a Oracle não adquiriu o MySQL apenas para matá-lo.

Alguns argumentam que o MySQL foi comprado pela Oracle como nada mais do que uma "vítima colateral" da aquisição da Sun. Em 2009, quem estava de olho no mercado de banco de dados tinha motivos para se preocupar.

Os avisos estavam lá. O desenvolvedor do principal mecanismo de armazenamento do MySQL, InnoDB, uma empresa da Finlândia, foi adquirida pela Oracle em 2005. Mais tarde, eles foram totalmente fundidos na Oracle, encerrando a empresa original. Em 2006, a Oracle comprou os criadores de Berkeley DB, provedor de outro mecanismo de armazenamento BDB menos importante. Eles estavam circulando.

 

O que é MariaDB

 

MariaDB teve seu primeiro lançamento em outubro de 2009, com a versão 5.1.38 Beta, baseada no MySQL 5.1.38. Era um garfo destinado a "para garantir que a base de código MySQL seria livre para sempre".

Na época da falsificação, o medo mais comum era que a aquisição fosse uma aquisição hostil com o objetivo de matar o MySQL. Esta preocupação, pelo menos em parte, revelou-se infundada.

Novamente em 2009, Monty Program AB e Percona, uma empresa que fornece serviços premium MySQL, estabeleceu a Open Database Alliance. Seu objetivo era "unificar todo o desenvolvimento e serviços relacionados ao MySQL, fornecendo uma solução para a fragmentação e incerteza enfrentadas pelas comunidades, empresas e especialistas técnicos envolvidos com o MySQL".

A ideia foi "para se tornar o centro da indústria para o banco de dados de código aberto MySQL, incluindo MySQL e código derivado, binários, treinamento, suporte e outros aprimoramentos para a comunidade MySQL e ecossistema de parceiros"

Olhando para trás: é possível que essas medidas tenham evitado um cenário pior para o famoso banco de dados.

MariaDB vs MySQL: Compatibilidade

 

 

Todo o objetivo do fork do MariaDB do MySQL (em homenagem à filha de Widenius) era garantir o futuro acesso ao MySQL e seu desenvolvimento posterior. É por isso que o MariaDB foi concebido como um substituição binária completa — um substituto "drop-in", por assim dizer — permitindo que todos os usuários do MySQL troquem um pelo outro em seus sistemas.

MySQL é uma aplicação cliente-servidor, e tanto seu programa de servidor mysqld, seu cliente mysql, e programas auxiliares, como mysqldump, mantêm o mesmo nome com MariaDB.

Substituir o MySQL pelo MariaDB torna-se um processo contínuo para a maioria dos aplicativos e propósitos, especialmente o WordPress. Software existente, a partir de ferramentas CMS populares para aplicativos como phpMyAdmin, basta trabalhar fora da caixa, e os dados reais podem ser exportados / importados de um para outro sem quaisquer alterações.


MariaDB's objetivo declarado é manter a compatibilidade com o MySQL. De acordo com Site do MariaDB,

  • Os arquivos de definição de dados e tabela são compatíveis.
  • todas as APIs e protocolos de cliente são compatíveis.
  • Nomes de arquivos, binários e caminhos são os mesmos no MySQL e no MariaDB.
  • Portas e soquetes são os mesmos.
  • Todos os conectores MySQL — PHP, Perl, Python, Java e outros — funcionam com MariaDB.
  • O pacote do cliente MySQL funciona de forma intercambiável com o MariaDB, assim como com o MySQL.

As mesclagens mensais são realizadas para garantir a compatibilidade e obter novos recursos e correções de bugs da Oracle.

MariaDB vs MySQL: As razões por trás do forking

Havia várias razões por trás do lançamento do MariaDB. Os temores de que a Oracle simplesmente mataria seu crescente concorrente para proteger seu principal produto mais lucrativo certamente foi um dos maiores. Os usuários teriam perdido um produto fantástico e gratuito!

Outras razões estavam relacionadas a garantir que o MySQL teria permanecido livre e de código aberto. Hoje, o MariaDB é totalmente licenciado pela GPL com todo o seu conjunto de recursos, enquanto o MySQL mantém uma abordagem de licença dupla, com recursos premium licenciados sob propriedade, licença paga:

"O MySQL Enterprise Edition inclui o conjunto mais abrangente de recursos avançados, ferramentas de gerenciamento e suporte técnico para alcançar os mais altos níveis de escalabilidade, segurança, confiabilidade e tempo de atividade do MySQL. Ele reduz o risco, o custo e a complexidade no desenvolvimento, implantação e gerenciamento de aplicativos MySQL críticos para os negócios."

Se compararmos os dois aqui, o MariaDB tem clara vantagem fornecida pela licença GPL em que é lançado. Devido à base de código proprietária, a Oracle não pode aproveitar legalmente o código MariaDB e mesclá-lo em seu banco de dados.

Widenius prometido: "Quando a Oracle lançar uma extensão de código fechado para MySQL, também lançaremos uma de código aberto."

Assuntos da Comunidade

 

Outra razão por trás da bifurcação foi manter o projeto "aberto" no sentido de ser um projeto voltado para a comunidade (como WordPress), cuja direção e desenvolvimento são abertos, assim como sua licença. Se olharmos para o log de confirmação, é fácil concluir que a maior parte do código MySQL vem de desenvolvedores internos. Desenvolvedores Oracle agradecer as contribuições ocasionais e notáveis da comunidade, por exemplo, mas isso está longe da abertura do MariaDB e longe do que o MySQL costumava ser.

Para colocar as coisas em perspectiva, Repositório do servidor MariaDB no momento em que este artigo foi escrito tem mais de 186 mil commits, 370+ branches e 200 contribuidores. MySQL, Por outro lado, tem mais de 148 mil compromissados, 9 filiais e 72 contribuidores.

A discussão sobre o desenvolvimento do MariaDB, sua direção, votação sobre os recursos, etc. é feito em um Lista de discussão disponível publicamente:

maria-developers-team-1.png

 

 

Além deste, há também Maria Discutir lista de correio.
Maria Capitães são uma equipe de desenvolvedores confiáveis para os quais os desenvolvedores podem enviar patches. Como diz a página da equipe no Launchpad:

Os capitães são desenvolvedores confiáveis com acesso de gravação às principais árvores do MariaDB. Se você quiser ter um patch na árvore, envie-o para a lista de maria-developers e um ou mais dos capitães trabalharão com você para que o patch seja revisado, aprovado e, finalmente, empurrado para a árvore MariaDB apropriada."

 

 

Houve algumas ocasiões onde o processo de desenvolvimento animado do MariaDB provou sua vantagem sobre o fechado da Oracle.

No final de 2012, a fundação MariaDB foi formada para supervisionar o desenvolvimento do banco de dados.

Logo após o fork, muitos desenvolvedores originais do MySQL pularam do barco e se juntaram ao projeto MariaDB. Fornecedores de Linux como Red Hat, CentOS, Arch Linux, Debian, OpenSuse, Slackware, Fedora mudaram para MariaDB como o RDBMS padrão, bem como distribuições BSD, FreeBSD e OpenBSD, enquanto o Ubuntu inclui MariaDB. A lista completa pode ser encontrada aqui.

Empresas como Alibaba Cloud, Tencent, IBM, Microsoft Booking.com se tornaram patrocinadores platina.

Para a Kinsta, como a melhor aplicação, base de dadose hospedagem gerenciada WordPress, é interessante mencionar que entre Conselho de administração da Fundação MariaDB são pessoas da Automattic, um sinal claro de que os criadores do WordPress abraçaram o MariaDB.

Nos anos seguintes à separação, o MariaDB teve um desenvolvimento animado, tanto que devido a todo o conjunto de novos recursos introduzidos em 2012, o MariaDB saltou do número da versão 5.*, compatível com MySQL, para 10.0, querendo refletir o salto de características que havia alcançado.

Por razões de desempenho, a Wikimedia Foundation anunciou em 2013 que era mudar a Wikipédia para MariaDB. O mesmo aconteceu com Google, e sua lista de usuários agora inclui Deutsche Bank, DBS Bank, Nasdaq, Verizon, Craigslist e outros.

Entre os usuários do MySQL, temos GitHub, US Navy, NASA, Tesla, Netflix, WeChat, Facebook, Zendesk, Twitter, Zappos, YouTube, Spotify.

Desde o seu primeiro lançamento, o interesse no sucessor do MySQL vinha crescendo constantemente, como mostra o Google Search Trends:

google-trends-mariadb.png

MariaDB vs MySQL: Principais diferenças

Embora o MariaDB possa ter começado como totalmente compatível com o MySQL, podemos esperar que seus caminhos divirjam mais no futuro.

mariadb-vs-mysql.png

 

Em seu último post no blog, Widenius parabéns Oracle sobre seu trabalho na versão 8.0 do MySQL, destacando algumas diferenças e ressalvas como:

Pool de threads: semelhante ao problema Servidor Nginx resolve em comparação com Apache, o MySQL estava atribuindo threads a cada conexão do cliente, e isso, que poderia ser comparado a inicializar um programa inteiro em um PC, era simplesmente ineficiente. MariaDB introduziu sua própria solução para isso na versão 5.5

Invisível Colunas são o recurso exclusivo do MariaDB da 10.3.3. Eles não retornam resultados em uma instrução SELECT *, nem precisam ser atribuídos valores em uma instrução INSERT.

MariaDB apresenta Microssegundos em seus tipos de dados temporais.

Mecanismos de armazenamento: Usos do MariaDB incluem XtraDB, InnoDB, MariaDB ColumnStore, Aria, Archive, Blackhole, Cassandra Storage Engine, Connect, CSV, FederatedX, Memory storage engine, Merge, Mroonga, MyISAM, MyRocks, QQGraph, Sequence Storage Engine, SphinxSE, Spider, TokuDB. ColumnsStore é interessante em termos de desempenho, pois possibilita o dimensionamento linear para lidar com petabytes de dados. Mais sobre isso em seu blog.

Mecanismos de armazenamento MySQL are InnoDB, MyISAM, Memória, CSV, Arquivo, Blackhole, Mesclar, Federado, Exemplo.

Exibições de banco de dados são um recurso em que o MariaDB introduz otimizações significativas consultando apenas as tabelas necessárias.

Alguns recursos que o MySQL introduz são: Tipo de dados nativo JSON, Shell do MySQL no MySQL 8.0 versão — que permite scripts javascript e python — e não funciona com MariaDB, Plugin de autenticação baseado em SHA-256, melhorando a segurança ao longo mysql_native_password.

Aqui você pode encontrar o lista completa das diferenças entre MariaDB vs MySQL e as vantagens do primeiro quando comparado com o segundo.

  • MariaDB vs MySQL: qual é a melhor escolha? Conheça a história por trás dessas tecnologias de banco de dados em nosso resumo mais recente! 📜

Resumo

 

O MySQL está sob o guarda-chuva corporativo do maior fornecedor de banco de dados comercial do mundo. Com tantos engenheiros em tempo integral trabalhando ininterruptamente para desenvolver novos recursos premium, já temos alguns pontos em que eles divergem. O MariaDB, por outro lado, costuma recuperar o atraso quando se trata de adições premium, mas isso nem sempre é imediato e não há garantias.

Dito isso, porém, há muitos cenários em que o MariaDB oferece melhor desempenho. Adicione a isso patches e atualizações mais ágeis, um futuro de código aberto mais estável e um pouco mais de otimismo e você verá por que no Kinsta não somos apenas fãs, mas também usamos o MariaDB como parte de nosso Pilha de servidores orientada por desempenho..

 

 

 

 

 

 

 

 

Editado por Henrique S
Link para o comentário
Compartilhar em outros sites


São vários comparativos pela internet! 

deixarei aqui alguns sites caso queiram estudar os comparativos.

O conteúdo está oculto, favor efetuar login ou se cadastrar!

O conteúdo está oculto, favor efetuar login ou se cadastrar!

O conteúdo está oculto, favor efetuar login ou se cadastrar!

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Tópico atualizado 21/06/2023 Adicionado links.

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...




×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.