Les différences de fonctionnalités entre MariaDB et MySQL
Voir également La compatibilité entre MariaDB et MySQL
Plus de moteurs de stockage
En plus des moteurs standard MyISAM, Blackhole, CSV, MEMORY, Archive et MERGE les suivants sont ajoutés aux sources et paquets binaires de MariaDB :
- Aria
- XtraDB (replacement direct pour InnoDB)
- FederatedX (remplacement direct pour Federated)
- OQGRAPH (dans MariaDB 5.2, MariaDB 5.3 et MariaDB 10.0 ; désactivé seulement dans MariaDB 5.5) — nouveau dans 5.2
- SphinxSE — nouveau dans 5.2
- IBMDB2I. Oracle l'a retiré dans MySQL 5.1.55 mais le code à été gardé dans MariaDB jusqu'en version 5.5
- TokuDB dans MariaDB 5.5 et MariaDB 10.0
- Cassandra dans MariaDB 10.0
- Nous travaillons sur l'ajout d'autres moteurs de stockage NoSQL dans MariaDB.
- CONNECT dans MariaDB 10.0
- SEQUENCE dans MariaDB 10.0
- Spider dans MariaDB 10.0
- PBXT (Dans MariaDB 5.1, 5.2 et 5.3. Désactivé dans 5.5)
Améliorations de performance
- De nombreuses améliorations de l'optimiseur dans MariaDB 5.3. Les sous-requêtes sont désormais utilisables ! La liste complète de ces améliorations et une comparaison avec MySQL se trouve ici. Un test de performances est disponible ici.
- Réplication plus rapide et plus sure : Commits groupés pour le binary log. Cela rend plus de 2x plus rapide de nombreuses configurations utilisant la réplication et faisant beaucoup de modifications de données.
- Réplication parallèle. — nouveau dans 10.0
- Améliorations pour le sous-système d'entrées/sorties asynchrone d'InnoDB sous Windows.
- Les indexes pour le moteur MEMORY(HEAP) sont plus rapides. D'après un test simple, 24% plus rapide sur les INSERT pour des indexes entiers et 60% plus rapide pour les indexes sur une colonne en CHAR(20).
- Le cache de clés segmenté pour MyISAM. Peux accélérer les tables MyISAM jusqu'à 4x. — nouveau dans 5.2
- Taille de hachage ajustable pour MyISAM et Aria. Peut grandement améliorer le temps d'arrêt (passer d'heures à minutes) lorsque beaucoup de tables MyISAM/Aria sont utilisées avec des clés délayées. — nouveau dans 10.0.13
- CHECKSUM TABLE est plus rapide.
- Les performances de conversion de jeu de caractères ont été améliorées (voire même supprimées lorsque inutiles).
Le gain de vitesse moyen est de 1 à 5% (d'après
sql-bench
) mais peut être supérieur pour des gros jeux de résultats avec tous les caractères compris entre 0x00 et 0x7f. - Pool de threads dans MariaDB 5.1 et encore plus avancé dans MariaDB 5.5. Permettant de faire tourner MariaDB avec plus de 200.000 connections et avec un gain de vitesse notable lorsque de nombreuses connexions sont utilisées simultanément.
- Certaines améliorations au code DBUG afin de rendre son exécution plus rapide lorsque debug est compilé mais non utilisé.
- L'utilisation du moteur de stockage Aria permet d'effectuer plus rapidement des requêtes complexes (requêtes utilisant normalement des tables temporaires sur disque). Le moteur de stockage Aria est utilisé pour les tables temporaires internes, ce qui devrait offrir des gains de performance lorsque des SELECT complexes sont effectués. Aria est habituellement plus rapide pour les tables temporaires comparé à MyISAM car Aria met en cache en mémoire les données des enregistrements et n'a normalement pas a écrire d'enregistrements temporaires sur disque.
- Le jeu de tests est plus étendu et est désormais bien plus rapide alors que plus de choses sont vérifiées.
Extensions & nouvelles fonctionnalités
Un grand nombre de nouvelles fonctionnalités ont été rajoutées a MariaDB.
Si un patch ou une fonctionnalité est utile, sûr et stable — tout est mis en oeuvre pour l'inclure dans MariaDB.
Les fonctionnalités les plus notables sont:
- Microsecondes dans MariaDB — nouveau dans 5.3
- Précisions à la microseconde dans le Processlist
- Élimination de tables
- Colonnes virtuelles — nouveau dans 5.2
- Statistiques utilisateur étendues — nouveau dans 5.2
- La possibilité de KILL toutes les requêtes d'un utilisateur — nouveau dans 5.3
- La possibilité de KILL QUERY ID - terminer une requête par id_de_requête, laissant la connexion intacte — nouveau dans 10.0.5
- Authentification enfichable — nouveau dans 5.2
- CREATE TABLE spécifique au moteur de stockage — nouveau dans 5.2
- Amélioration de la table INFORMATION SCHEMA.PLUGINS — nouveau dans 5.2
- Commit groupé pour le binary log. Cela rend la réplications vraiment plus rapide ! — nouveau dans 5.3
- Rajout de l'option
mysqlbinlog afin de changer la base utilisée — nouveau dans 5.2--
rewrite-db - Rapport de progression pour
ALTER TABLE
etLOAD DATA INFILE
. — nouveau dans 5.3 - Jointures et sous-requêtes plus rapides. — nouveau dans 5.3
- HandlerSocket et appels HANDLER plus rapides. — nouveau dans 5.3
- Support des Colonnes dynamiques. — nouveau dans 5.3
- Fonctionalité GIS — nouveau dans 5.3
- Réplication Multi-source. — nouveau dans 10.0
- Identifiant de transaction global (GTID). — nouveau dans 10.0
- SHOW EXPLAIN renvoie le plan de EXPLAIN pour une requêtes tournant dans un autre thread. — nouveau dans 10.0
- Roles. — nouveau dans 10.0
- Expressions régulières PCRE. — nouveau dans 10.0
- DELETE ... RETURNING. — nouveau dans 10.0
- Voir également une liste exhaustive des differences au niveau des variables système entre MariaDB 5.5 et MySQL 5.5 ainsi que des différences au niveau des variables système entre MariaDB 10.0 et MySQL 5.6.
Pour une liste complète, veuillez lire fonctionnalités pour chaque version.
Tests plus rigoureux
- Un plus grand nombre de tests dans les plans de tests.
- Des bugs dans les tests ont étés corrigés.
- Des builds de test compilés avec différentes options de compilation afin de tester plus rigoureusement les fonctionnalités.
- Suppression de tests invalides (ex: ne pas tester la fonctionnalité ''X'' si cette fonctionnalité n'à pas été compilée sur le build testé).
Moins d'alertes et de bugs
- Les bugs sont une mauvaise chose, en corriger le plus possible et tenter de ne pas en rajouter de nouveaux.
- Les alertes lors de la compilation sont également une mauvaise chose, en éliminer autant que possible.
Véritablement Open Source
- Tout le code dans MariaDB est distribué sous licence GPL, LPGL ou BSD.
- MariaDB ne possède pas de modules ayant les sources fermées tel que ceux pouvant être trouvés dans MySQL Enterprise Edition. De plus, toutes les fonctionnalités non open source de MySQL 5.5 Enterprise Edition sont disponibles dans la version open source de MariaDB.
- Les librairies client de MariaDB (pour C, pour Java (JDBC), pour Windows (ODBC)) sont distribuées sous license LGPL afin de permettre leur utilisation dans des logiciels propriétaires. Les librairies client MySQL sont distribuées sous licence GPL, ce qui ne permet pas leur utilisation dans des logiciels propriétaires.
- MariaDB inclus des plans de tests pour tous les bugs corrigés. Oracle ne fournis plus de plans e tests pour les nouveaux bugs corrigés dans MySQL 5.5.
- Tous les bugs et plans de développement de MariaDB sont publics.
- MariaDB est developpé par la communauté en respectant vraiment l'esprit de l'open source.
Liens connexes
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.