Qual é a diferença entre MariaDB e MySQL?

82

Qual é a diferença entre MariaDB e MySQL? Eu não estou muito familiarizado com os dois. Sou basicamente um desenvolvedor front-end na maior parte.

Eles são sintaticamente semelhantes? Onde essas duas linguagens de consulta diferem?

A Wikipedia menciona apenas a diferença entre o licenciamento:

O MariaDB é um ramo desenvolvido pela comunidade do banco de dados MySQL, o ímpeto é a manutenção da comunidade de seu status livre sob a GPL, em oposição a qualquer incerteza do status da licença do MySQL sob sua propriedade atual pela Oracle.

chrisjlee
fonte
Isso pode ser útil: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Respostas:

95

O MariaDB é um substituto drop-in binário compatível com versões anteriores do MySQL . O que isso significa é:

  • Os arquivos de arquivos de definição de tabela e dados (.frm) são compatíveis com binários.
  • Todas as APIs, protocolos e estruturas do cliente são idênticos.
  • Todos os nomes de arquivos, binários, caminhos, portas, soquetes e etc ... devem ser os mesmos.
  • Todos os conectores MySQL funcionam inalterados com o MariaDB.
  • O pacote mysql-client também funciona com o servidor MariaDB.

Nos cenários práticos mais comuns, o MariaDB versão 5.xy funcionará exatamente como o MySQL 5.xy, o MariaDB segue a versão do MySQL, ou seja, seu número de versão é usado para indicar com qual versão do MySQL é compatível.

O MariaDB surgiu como um fork do MySQL por Michael "Monty" Widenius, um dos desenvolvedores originais do MySQL e co-fundador do MySQL Ab. A Fundação MariaDB atua como custodiante do MariaDB.

A principal motivação por trás do MariaDB era fornecer uma versão floss do MySQL, caso a Oracle fosse corporativa com o MySQL. Vale a pena notar que Monty foi vocal contra a aquisição do MySQL (através da aquisição da Sun) pela Oracle.

Embora o MariaDB deva ser compatível com o MySQL, por um motivo ou outro, existem alguns problemas de compatibilidade e recursos diferentes :

  • O MariaDB inclui todos os mecanismos populares de código aberto,
  • O MariaDB reivindica várias melhorias na velocidade do MySQL e
  • existem algumas novas extensões de fio dental que o MySQL não possui

    Finalmente, o nome vem da filha de Monty, Maria (a outra é Minha), já que MySQL é agora uma marca registrada da Oracle Corporation.

yannis
fonte
1
Obrigado pela explicação muito abrangente. Exatamente o que eu estava procurando.
precisa
5
MariaDB é explicitamente não SQL-99 completa, como negadas na própria página esta resposta links para. Por exemplo, ele não suporta afirmações e os CTEs ainda não foram lançados. A história é a mesma para o MySQL.
Air
Acredito que os links para o montyprogram dot com apodreceram, mas não tenho idéia de onde os equivalentes para esses links podem ser encontrados online.
Hay
MariaDB suporta InnoDB certo? por que está escrito assim?
Paulson Peter
1
@PaulsonPeter Sim, o MariaDB suporta o InnoDB. Não sabe ao certo qual é a sua segunda pergunta.
yannis
15

É uma bifurcação - dois projetos separados, começando na mesma base de código original, mas movendo-se em direções separadas. Isso aconteceu com bastante frequência nos projetos de código aberto em que a Oracle comprou as empresas patrocinadoras.

No meu entender, o MariaDB é mantido e aprimorado pelos desenvolvedores originais do MySQL, e o MySQL é mantido e aprimorado pela Oracle. Depende de quem você quer fazer esse trabalho.


fonte