GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è MySQL vs MariaDB vs Percona

Illustrazione di Walker Cahall

Pubblico di destinazione

Questo articolo presuppone che tu abbia almeno una familiarità passeggera con i database e parte della terminologia relativa alle loro funzionalità.

Introduzione

I database supportano ogni applicazione e ci sono molte scelte. MySQL è stata a lungo una scelta open source popolare; tuttavia, MariaDB e Percona sono due importanti fork di codice che possono sostituire MySQL con funzionalità avanzate. Questo articolo offre un ampio confronto tra i tre.

MySQL

Immagine:MySQL / concesso in licenza in base a CC BY-SA 3.0

MySQL è un sistema di gestione di database relazionali open source ampiamente conosciuto e molto popolare (spesso abbreviato RDBMS). È stato sviluppato come database affidabile e ad alta disponibilità per applicazioni basate sul Web negli anni '90. Sebbene open source, è di proprietà di Oracle, che lo offre come edizione comunitaria gratuita sotto GPL (GNU General Public License) e come versione con licenza commerciale. La versione Oracle di MySQL è un'installazione comune su molti host, una parte dei classici stack LAMP e WAMP e il database predefinito per WordPress.

La sua forza sta nella sua longevità. La base di codice è molto stabile e affidabile per il tipo di applicazioni Web per cui è stata progettata. Esiste una vasta comunità di utenti e amministratori di MySQL e, di conseguenza, un'ampia raccolta di informazioni pubblicate per MySQL, sia sul Web che sulla stampa.

I suoi punti deboli, rispetto agli altri due database, risiedono nella sua governance. Molti nella comunità open source considerano Oracle una forza di blocco alla natura open source del progetto originale. Inoltre, a causa del modello di doppia licenza, alcune applicazioni richiedono una licenza commerciale.

MySQL vs MariaDB/Percona

Quando MySQL fu acquisito da Sun e poi da Oracle, i gruppi se ne andarono per avviare i propri fork del codice MySQL. Questo ci porta a MariaDB e Percona. Entrambi sono costruiti per essere sostituti drop-in di MySQL. Le applicazioni che funzionano con MySQL dovrebbero funzionare anche con uno di questi fork. Nonostante siano concorrenti, ogni fork attinge dal codice open source dell'altro. Ad esempio, MariaDB offre il motore XtraDB di Percona. Percona ha raccolto alcune delle ottimizzazioni e dei miglioramenti del pool di thread da MariaDB. Entrambi sono migliorati rispetto a MySQL di base, inclusa la correzione delle sottoquery.

MariaDB

Immagine:MariaDB / con licenza CC BY-SA 3.0

Il fork di MariaDB tende ad espandere l'ampiezza delle capacità di MySQL ed è meno prudente nell'aggiungere nuove funzionalità rispetto a Percona. MariaDB ha spinto per fare progressi con Query Optimizer. È una scelta potenzialmente migliore se non riesci a determinare il tipo di query di cui il tuo progetto ha bisogno regolarmente. Alcune altre caratteristiche che contraddistinguono MariaDB includono le seguenti:

  • MariaDB include una gamma più ampia di motori di archiviazione rispetto a MySQL base o Percona, inclusa ora un'opzione NoSQL con Cassandra. Include anche XtraDB di Percona come opzione.
  • A partire dalla versione 10.1, MariaDB offre la crittografia del database su disco.
  • MariaDB offre funzionalità di scalabilità inclusa la replica multi-sorgente, consentendo a un singolo server di replicare da più origini.
  • L'interazione degli ID transazione globali tra MariaDB e MySQL potrebbe richiedere un'implementazione attenta se si prevede di disporre di schemi di replica complessi che uniscono le caratteristiche di MySQL. Ad esempio, è possibile replicare da MySQL 5.6 a MariaDB 10.X, ma non viceversa.

Nel complesso MariaDB è un ramo maturo di MySQL che guarda al futuro che mira a offrire nuove funzionalità e miglioramenti per il database. È appropriato per applicazioni di hosting VPS multi-server di grandi dimensioni, in particolare quelle con modelli di query mutevoli che possono sfruttare l'ottimizzatore di MariaDB.

Server Percona

Percona si è concentrata su applicazioni molto esigenti con la propria alternativa ad alte prestazioni al motore di archiviazione InnoDB chiamato XtraDB, inclusi gli strumenti di strumentazione per la messa a punto. Le loro caratteristiche tendono a migliorare le prestazioni, la disponibilità e la scalabilità per i database più grandi con il throughput più elevato. Sul loro sito Web, Percona afferma di essere più vicino al codice MySQL di base dal punto di vista della compatibilità e più conservativo di MariaDB. Altre caratteristiche che favoriscono Percona includono quanto segue:

  • Nella loro spinta verso le prestazioni, Percona offre più contatori e strumenti diagnostici per misurare le prestazioni e ottimizzare il database.
  • Percona offre miglioramenti della scalabilità per database di grandi dimensioni, incluse alcune funzionalità del prodotto Server gratuito disponibili solo nel livello Enterprise di MySQL.
  • Percona dispone anche di strumenti aggiuntivi oltre al motore DB, inclusi un cluster XtraDB e un'utilità XtraBackup.

Come MariaDB, Percona è un ramo open source maturo di MySQL. Il loro focus è più sulle prestazioni dei database più grandi e più esigenti con gli strumenti per raggiungere e mantenere tali prestazioni.

Quindi quale è effettivamente meglio?

Come nella maggior parte delle cose tecnologiche, la risposta è "dipende". Gran parte del dibattito sembra essere un argomento a due fasi piuttosto che una battaglia a tre. La prima fase è MySQL rispetto a una delle sue sostituzioni. Devi decidere se hai anche bisogno di un cambiamento. I fork migliorano il MySQL di base con miglioramenti delle prestazioni e con funzionalità e strumenti aggiuntivi. Le prestazioni diventano un affare più grande quanto più grande è il tuo database, quindi è meno probabile che i database piccoli vedano gran parte di questo vantaggio nei fork. Ma potrebbero esserci altri motivi per optare per una sostituzione, come la licenza o la flessibilità dei dati. Se decidi per un drop-in, la discussione passa a quale.

Sarebbe troppo facile guardare anche il confronto sopra e dire che a MariaDB non interessano le prestazioni o che l'ottimizzatore in Percona è scadente. Non è affatto vero. Entrambi i fork eccellono a livello di database di base. Si differenziano maggiormente quando raggiungi il bordo della busta.

Allora cosa è più importante? Se è la possibilità di archiviare tipi flessibili di dati su una serie di origini diverse, controlla prima MariaDB. Se hai un database più grande che richiede comunque prestazioni veloci, inizia la tua ricerca con Percona. Anche ancora, non ignorare completamente l'altro ramo. Alcuni dei loro strumenti, grazie alla comune radice di MySQL, possono funzionare con entrambi i rami e potrebbero essere proprio la soluzione di cui hai bisogno.

Se hai superato MySQL e vuoi raggiungere uno dei fork, ma non sei al limite delle dimensioni o della flessibilità, la decisione sembra essere di gusto. Quale azienda ti offre i servizi o gli strumenti che useresti comunque?

Non sei ancora sicuro o vuoi fare una lettura più approfondita? Dai un'occhiata ad alcuni dei seguenti confronti che le persone di MariaDB e Percona hanno messo insieme.

  • Confronto delle caratteristiche di Percona
  • Caratteristiche di MariaDB e MySQL
  • Caratteristiche di MariaDB 10

Linux
  1. MySQL vs. MariaDB:quali sono le principali differenze tra loro

  2. Come abilitare la registrazione delle query MySQL/MariaDB

  3. Come reimpostare la password di root di MySQL o MariaDB

  4. Cosa sono gli account utente riservati in MySQL

  5. Qual è lo scopo dell'utente "mysql.sys@localhost".

Foglio informativo sui comandi del database MySQL per Linux

Memorizzare Kannel DLR su MySQL/MariaDB

Come installare MySQL/MariaDB su Debian 11

Come modificare/reimpostare la password di root di MySQL o MariaDB

Come eseguire il multi-master MySQL con Percona e Keepalived

8 passaggi per installare MirthConnect con MySQL / MariaDB su Linux