Les nouveautés de MySQL

La version de MySQL 5.7 ajoute de nouvelles fonctionnalités : What's New in MySQL 5.7 :

Fonctionnalités ajoutées

  1. ALTER TABLE supporte RENAME INDEX sans copie temporaire de la table
  2. Améliorations InnoDB
  3. Triggers : plusieurs déclencheurs sont autorisés pour chaque combinaison de trigger : événement (INSERT, UPDATE, DELETE) et temps (BEFORE, AFTER)

Fonctionnalités supprimées

  1. INSERT DELAYED

La version de MySQL 5.6 ajoute de nouvelles fonctionnalités : What's New in MySQL 5.6 :

  1. De nombreuses modifications, et suppressions d'arguments obsolètes, que je vous à lire, entre autre :
  2. Logs binaires écrites et lues par le serveur MySQL sont maintenant sûr anti crash, parce que seuls les événements (ou opérations) complétés sont enregistrés et re-lisibles.
  3. Réplication MySQL plus rapide
  4. La recherche de texte intégral, permettant d'indexer et de parcourir les informations stockées dans les tables par le moteur InnoDB
  5. Augmentation de la taille maximale des fichiers (jusqu'à 2 To) dans InnoDB

La version de MySQL 5.5 ajoute de nouvelles fonctionnalités : What's New in MySQL 5.5 :

  1. Amélioration de la rapidité d'InnoDB (MySQL 5.5 modifications improve performance on SMP systems to increase scalability on multi-core systems. The changes affect InnoDB locking and memory management.)
  2. The default storage engine for new tables is InnoDB rather than MyISAM
  3. Support for additional Unicode character sets: utf16, utf32, and utf8mb4
  4. Suppression de certaines fonctionnalités
    • The LOAD TABLE ... FROM MASTER, LOAD DATA FROM MASTER and BACKUP TABLE, RESTORE TABLE SQL statements (use mysqldump or mysqlhotcopy to dump tables and mysql to reload dump files).
    • The --default-character-set and --default-collation server options (use --character-set-server and --collation-server).
    • The --log-long-format server option.

bon nombre de nouvelles fonctionnalités avec en tête, une meilleure scalabilité et un système de réplication semi-synchrone offrant une meilleure fiabilité et disponibilité des données.

à en croire un benchmark réalisé par SysBench, les équipes d'Oracle auraient réussi à améliorer les performances en lecture/écriture pour MySQL de 360% sous linux par rapport à la version 5.1, et de 1500% sous Windows.

Également, le rajout de la base : performance_schema qui permet de stocker des informations sur les actions effectuées sur le serveur (temps d'exécution, temps d'attente dus aux verrous, etc.)

La version de MySQL 5.1 ajoute de nouvelles fonctionnalités : What's New in MySQL 5.1 :

  1. Les nouveautés de Mysql 5.1
    • Row-based Replication
    • Table and Index Partitioning
    • MySQL Cluster Disk-Based Tables
    • Dynamic Pluggable Storage Engine API
    • MySQL Cluster Replication
  2. Et entre autre

Mysql 5 ajoute de nouvelles fonctionnalités : What's New in MySQL 5.0 :

  1. Les nouveautés de Mysql 5
  2. Le cluster

Mysql 4.1 ajoute de nouvelles fonctionnalités : What's New in MySQL 4.1

Optimisation de votre serveur MySQL

Comment customiser / optimiser son serveur MySQL ?

Installer Mysql 5 :

  1. Installation et configuration de MySQL 5.0

Installer plusieurs versions de Mysql :

  1. Running Multiple MySQL Servers on the Same Machine

Ressources

Étendre MySQL

UDF Repository for MySQL

Le référentiel de l'UDF pour MySQL est un projet communautaire qui vise à offrir une collection organisée de fonctions ouverte source de MySQL définies par l'utilisateur.

UDF Repository for MySQL

La bibliothèque fournit les mêmes fonctionnalités que SQL/XML, vu dans MS SQL Server et Oracle. Cependant, il utilise des fonctions normales. En utilisant des sous-requêtes les mêmes résultats que SQL/XML peuvent être générés.

L'ancien site : libmyXql: XML Library for MySQL

Et les autres

  • lib_mysqludf_json Generate JSON directly from a MySQL query
  • lib_mysqludf_log Write debug information to log files
  • ... et les autres sur les expressions régulières, chaines de caractères, coordonnées de localisation, ...

La fin de vie des produits MySQL

Expect Lifetime Support : Oracle Lifetime Support Policy

Oracle’s MySQL Releases,   Release,  GA Date Premier Support End, Extended Support End, Sustaining Support End 
MySQL Database 5.0  Oct 2005  Dec 2011  Not Available  Indefinite  
MySQL Database 5.1  Dec 2008  Dec 2013  Not Available  Indefinite  
MySQL Database 5.5  Dec 2010  Dec 2015  Dec 2018  Indefinite  
MySQL Cluster 6  Aug 2007  Mar 2013  Not Available   Indefinite 
MySQL Cluster 7   Apr 2009  Apr 2014   Not Available   Indefinite

Benchmark MySQL

Plusieurs outils ou scripts sont disponibles pour analyser et comparer les performances des différentes versions de MySQL. Par exemple :

Benchmark MySQL 5.1 vs MySQL 5.5 avec mysqlslap

Comparaison de MySQL 5.1.61-community contre MySQL 5.5.20 sur la plateforme suivante :

  • Serveur MySQL
    • Windows 7 64 bits Edition Intégrale (SP1)
    • Intel Core 2 Quad CPU Q6600 @ 2.40Ghz
    • 4 Go de RAM
  • Client MySQL (mysqlslap)
    • Linux x86_64

Lecture des resultats de mysqlslap

Benchmark
       Average number of seconds to run all queries: x.xxx seconds
       Minimum number of seconds to run all queries: x.xxx seconds
       Maximum number of seconds to run all queries: x.xxx seconds
       Number of clients running queries: x
       Average number of queries per client: xx

MyISAM (SELECT, UPDATE, INSERT, CREATE TEMPORARY TABLE)

# cat mysqlslap.mysql.51.log.csv
,mixed,40.977,34.040,54.302,1,76
,mixed,44.078,41.412,49.189,2,76
,mixed,54.718,52.997,55.802,3,76
,mixed,66.158,64.166,69.425,4,76
,mixed,78.311,77.747,79.161,5,76
,mixed,89.756,87.819,91.057,6,76
,mixed,113.674,105.475,118.295,7,76
,mixed,128.873,119.018,139.172,8,76
,mixed,132.574,124.004,139.249,9,76
,mixed,154.911,143.875,162.211,10,76
,mixed,171.687,165.180,182.875,11,76
,mixed,218.434,203.980,237.913,12,76
,mixed,225.146,208.570,247.274,13,76
,mixed,245.569,217.336,285.816,14,76
,mixed,258.178,237.158,271.750,15,76
,mixed,367.501,310.757,397.197,20,76
# cat mysqlslap.mysql.55.log.csv
,mixed,40.074,31.584,56.566,1,76
,mixed,44.047,41.926,45.329,2,76
,mixed,50.488,49.933,51.034,3,76
,mixed,64.202,59.664,70.204,4,76
,mixed,73.576,72.706,74.724,5,76
,mixed,85.771,83.513,87.585,6,76
,mixed,98.248,92.330,109.333,7,76
,mixed,112.197,108.868,114.356,8,76
,mixed,135.870,125.077,146.352,9,76
,mixed,149.609,138.727,161.874,10,76
,mixed,174.960,174.558,175.285,11,76
,mixed,184.019,173.254,190.917,12,76
,mixed,208.032,185.935,231.769,13,76
,mixed,217.077,204.044,230.292,14,76
,mixed,248.089,217.544,264.785,15,76
,mixed,360.570,344.995,376.904,20,76

Autres benchmarks