GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que MySQL vs MariaDB vs Percona

Illustration de Walker Cahall

Audience cible

Cet article suppose que vous avez au moins une connaissance passagère des bases de données et de la terminologie relative à leurs fonctionnalités.

Présentation

Les bases de données sauvegardent chaque application, et il existe de nombreux choix. MySQL est depuis longtemps un choix open source populaire; cependant, MariaDB et Percona sont deux fourches de code majeures qui peuvent remplacer MySQL avec des fonctionnalités améliorées. Cet article propose une large comparaison des trois.

MySQL

Image :MySQL / sous licence CC BY-SA 3.0

MySQL est un système de gestion de bases de données relationnelles open source largement connu et très populaire (souvent abrégé RDBMS). Il a été développé comme une base de données fiable et à haute disponibilité pour les applications Web dans les années 1990. Bien qu'open source, il appartient à Oracle, qui le propose en tant qu'édition communautaire gratuite sous licence GPL (GNU General Public License) et en tant que version sous licence commerciale. La version Oracle de MySQL est une installation courante sur de nombreux hôtes, une partie des piles classiques LAMP et WAMP, et la base de données par défaut pour WordPress.

Sa force réside dans sa longévité. La base de code est très stable et fiable pour le type d'applications Web pour lesquelles elle a été conçue. Il existe une grande communauté d'utilisateurs et d'administrateurs MySQL et, par conséquent, une grande collection d'informations publiées pour MySQL, à la fois sur le Web et sur papier.

Ses faiblesses, par rapport aux deux autres bases de données, résident dans sa gouvernance. De nombreux membres de la communauté open source considèrent Oracle comme une force bloquant la nature open source du projet d'origine. De plus, en raison du modèle de double licence, certaines applications nécessitent une licence commerciale.

MySQL contre MariaDB/Percona

Lorsque MySQL a été racheté par Sun puis Oracle, des groupes sont partis pour lancer leurs propres forks du code MySQL. Cela nous amène à MariaDB et Percona. Les deux sont conçus pour être des remplacements directs de MySQL. Les applications qui fonctionnent avec MySQL doivent également fonctionner avec l'un ou l'autre de ces forks. Bien qu'ils soient concurrents, chaque fork s'inspire du code open source de l'autre. Par exemple, MariaDB propose le moteur XtraDB de Percona. Percona a récupéré certaines des optimisations et améliorations du pool de threads de MariaDB. Les deux se sont améliorés par rapport à MySQL de base, notamment en corrigeant les sous-requêtes.

MariaDB

Image :MariaDB / Sous licence CC BY-SA 3.0

Le fork MariaDB tend à élargir l'étendue des capacités de MySQL et est moins prudent quant à l'ajout de nouvelles fonctionnalités que Percona. MariaDB a poussé à faire des progrès avec l'optimiseur de requêtes. C'est un choix potentiellement meilleur si vous ne pouvez pas déterminer le type de requêtes dont votre projet a besoin régulièrement. Voici quelques autres fonctionnalités qui distinguent MariaDB :

  • MariaDB inclut une plus grande gamme de moteurs de stockage que MySQL base ou Percona, y compris désormais une option NoSQL avec Cassandra. Il inclut également XtraDB de Percona en option.
  • Depuis la version 10.1, MariaDB propose un chiffrement de base de données sur disque.
  • MariaDB offre des fonctionnalités d'évolutivité, notamment la réplication multi-sources, permettant à un seul serveur de se répliquer à partir de plusieurs sources.
  • L'interaction des ID de transaction globale entre MariaDB et MySQL peut nécessiter une mise en œuvre minutieuse si vous prévoyez d'avoir un schéma de réplication complexe reliant les versions MySQL. Par exemple, il est possible de répliquer de MySQL 5.6 vers MariaDB 10.X, mais pas l'inverse.

Dans l'ensemble, MariaDB est une branche mature et tournée vers l'avenir de MySQL qui vise à offrir de nouvelles fonctionnalités et avancées pour la base de données. Il convient aux grandes applications d'hébergement VPS multi-serveurs, en particulier celles dont les modèles de requête changent et qui peuvent tirer parti de l'optimiseur de MariaDB.

Serveur Percona

Percona s'est concentré sur des applications très exigeantes avec sa propre alternative haute performance au moteur de stockage InnoDB appelée XtraDB, y compris des outils d'instrumentation pour l'ajuster. Leurs fonctionnalités tendent à améliorer les performances, la disponibilité et l'évolutivité des bases de données les plus volumineuses avec le débit le plus élevé. Sur leur site Web, Percona prétend être plus proche du code MySQL de base du point de vue de la compatibilité et plus conservateur que MariaDB. Les autres fonctionnalités favorisant Percona sont les suivantes :

  • Dans sa quête de performances, Percona propose davantage de compteurs et de diagnostics pour mesurer les performances et optimiser la base de données.
  • Percona propose des améliorations d'évolutivité pour les bases de données volumineuses, y compris certaines fonctionnalités de leur produit Server gratuit qui ne sont disponibles qu'au niveau Enterprise de MySQL.
  • Percona dispose également d'outils supplémentaires au-delà du moteur de base de données, notamment un cluster XtraDB et un utilitaire XtraBackup.

Comme MariaDB, Percona est une branche open source mature de MySQL. Ils se concentrent davantage sur les performances des bases de données les plus volumineuses et les plus exigeantes, avec les outils permettant d'atteindre et de maintenir ces performances.

Alors, lequel est le meilleur ?

Comme dans la plupart des choses en technologie, la réponse est "ça dépend". Une grande partie du débat semble être un argument en deux étapes plutôt qu'une bataille à trois. La première étape est MySQL par rapport à l'un de ses remplaçants. Vous devez décider si vous avez même besoin d'un changement. Les fourches améliorent la base MySQL avec des améliorations de performances et avec des fonctionnalités et des outils supplémentaires. Les performances deviennent d'autant plus importantes que votre base de données est grande, de sorte que les petites bases de données sont moins susceptibles de voir une grande partie de cet avantage dans les fourches. Mais il pourrait y avoir d'autres raisons de se diriger vers un remplacement, comme les licences ou la flexibilité des données. Si vous optez pour une halte-accueil, la discussion porte sur laquelle.

Il serait trop facile de regarder même la comparaison ci-dessus et de dire que MariaDB ne se soucie pas des performances ou que l'optimiseur de Percona est inférieur à la moyenne. Ce n'est pas du tout vrai. Les deux fourches excellent au niveau de la base de données de base. Ils se différencient davantage lorsque vous atteignez le bord de l'enveloppe.

Alors quoi de plus important ? S'il s'agit de la possibilité de stocker des types de données flexibles sur un certain nombre de sources différentes, consultez d'abord MariaDB. Si vous avez une base de données plus importante qui nécessite toujours des performances rapides, commencez votre recherche avec Percona. Même encore, n'ignorez pas complètement l'autre branche. Certains de leurs outils, en raison de la racine MySQL commune, peuvent fonctionner avec l'une ou l'autre branche et pourraient être la solution dont vous avez besoin.

Si vous êtes devenu trop grand pour MySQL et que vous souhaitez accéder à l'une des fourches, mais que vous n'êtes pas à la pointe de la taille ou de la flexibilité, la décision semble être de bon goût. Quelle entreprise vous propose les services ou les outils que vous utiliseriez de toute façon ?

Vous n'êtes toujours pas sûr ou vous souhaitez approfondir votre lecture ? Jetez un œil à certaines des comparaisons suivantes que les gens de MariaDB et de Percona ont mises en place.

  • Comparaison des fonctionnalités Percona
  • Fonctionnalités MariaDB et MySQL
  • Fonctionnalités de MariaDB 10

Linux
  1. Installer MariaDB ou MySQL sur Linux

  2. Comment installer Percona Server sur CentOS 7

  3. MySQL vs MariaDB :quelles sont les principales différences entre eux

  4. Comment activer la journalisation des requêtes MySQL/MariaDB

  5. Comment réinitialiser le mot de passe racine MySQL ou MariaDB

Aide-mémoire des commandes de base de données MySQL pour Linux

Stocker Kannel DLR sur MySQL/MariaDB

Comment installer MySQL/MariaDB sur Debian 11

Comment changer/réinitialiser le mot de passe racine MySQL ou MariaDB

Comment multi-maître MySQL avec Percona et Keepalived

8 étapes pour installer MirthConnect avec MySQL / MariaDB sur Linux