Qual è la differenza tra MariaDB e MySQL?


82

Qual è la differenza tra MariaDB e MySQL? Non ho molta familiarità con entrambi. Sono principalmente uno sviluppatore front-end per la maggior parte.

Sono sintatticamente simili? Dove differiscono queste due lingue di query?

Wikipedia menziona solo la differenza tra le licenze:

MariaDB è un ramo sviluppato dalla comunità del database MySQL, l'impulso è il mantenimento da parte della comunità del suo stato gratuito sotto GPL, al contrario di ogni incertezza sullo stato della licenza MySQL sotto la sua attuale proprietà da parte di Oracle.


Questo potrebbe essere utile: hackr.io/blog/mariadb-vs-mysql
Saurabh Hooda

Risposte:


95

MariaDB è una sostituzione drop-in binaria compatibile con le versioni precedenti di MySQL . Ciò significa che:

  • I file di definizione dei dati e delle tabelle (.frm) sono binari compatibili.
  • Tutte le API, i protocolli e le strutture client sono identici.
  • Tutti i nomi di file, i file binari, i percorsi, le porte, i socket e così via devono essere uguali.
  • Tutti i connettori MySQL funzionano invariati con MariaDB.
  • Il pacchetto mysql-client funziona anche con il server MariaDB.

Negli scenari pratici più comuni, MariaDB versione 5.xy funzionerà esattamente come MySQL 5.xy, MariaDB segue la versione di MySQL, ovvero il suo numero di versione viene utilizzato per indicare con quale versione di MySQL è compatibile.

MariaDB nasce come fork di MySQL da Michael "Monty" Widenius, uno degli sviluppatori originali di MySQL e co-fondatore di MySQL Ab. La Fondazione MariaDB funge da custode di MariaDB.

La motivazione principale alla base di MariaDB è stata quella di fornire una versione filo interdentale di MySQL, nel caso in cui Oracle fosse completamente aziendale con MySQL. Vale la pena notare che Monty era vocale contro l'acquisizione di MySQL (tramite l'acquisizione di Sun) da parte di Oracle.

Sebbene MariaDB dovrebbe essere compatibile con MySQL, per un motivo o per l'altro ci sono alcuni problemi di compatibilità e funzionalità diverse :

  • MariaDB include tutti i più diffusi motori open source,
  • MariaDB rivendica numerosi miglioramenti della velocità rispetto a MySQL e
  • ci sono alcune nuove estensioni del filo interdentale che mancano a MySQL

    Infine, il nome deriva dalla figlia di Monty, Maria (l'altra è My), poiché MySQL è ora un marchio registrato di Oracle Corporation.


1
Grazie per la spiegazione molto completa. Esattamente quello che stavo cercando.
chrisjlee,

5
MariaDB è esplicitamente non SQL-99 completo, come declinata nella pagina molto questa risposta collegamenti a. Ad esempio, non supporta affatto le affermazioni e i CTE non sono ancora riusciti a renderlo stabile. La storia è più o meno la stessa per MySQL.
Air

Credo che i collegamenti al punto montyprogram dot siano deceduti, ma non ho idea di dove si possano trovare equivalenti per questi collegamenti online.
Hay,

MariaDB supporta InnoDB giusto? perché è scritto così?
Paulson Peter,

1
@PaulsonPeter Sì, MariaDB supporta InnoDB. Non sono sicuro di quale sia la tua seconda domanda.
yannis,

15

È un fork - due progetti separati che partono dalla stessa base di codice originale ma si muovono in direzioni separate. Ciò è accaduto abbastanza frequentemente con i progetti open source in cui Oracle ha acquistato le società sponsor.

Per quanto ne so, MariaDB è mantenuta e migliorata dagli sviluppatori MySQL originali e MySQL è mantenuta e migliorata da Oracle. Dipende da chi vuoi fare quel lavoro.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.