Limportance des Forks de MySQL        Christophe Villeneuve            17 avril 2013
Sommaire ✔     Histoire ✔     Un choix ✔     En mode avancé ✔     En pratique      nAcademy – 17 Avril 2013
Histoire du début     Lorigine                       Dates importantes ✔     Fondé par                   ✔                ...
Et maintenant ✔     De nos jours... MySQL           Forks ✔     N° 1 dans le monde          ✔                             ...
Présentation des Forks    nAcademy – 17 Avril 2013
nAcademy – 17 Avril 2013
Les grandes dates de MySQL ✔     1983                        ✔                                     2008 MySQL 5.1GA(Sun) ✔...
Que trouve-t-on dans MySQL 5.6 ? ✔         Optimisation                          ✔                                        ...
nAcademy – 17 Avril 2013
Drizzle les points forts ✔     Mi 2008 début               ✔                                     Version redessinée de    ...
nAcademy – 17 Avril 2013
Les étapes Percona Server ✔     Dec 2008 : 1ère released    ✔                                     XtraDB au lieu de InnoDB...
nAcademy – 17 Avril 2013
MariaDB : Un jeune projet... MATURE ✔     Communauté damis                         ✔                                      ...
Repère des versions ✔     MariaDB 5.1 → MySQL 5.1 ✔     MariaDB 5.2 → MariaDB 5.1 ✔     MariaDB 5.3 → MariaDB 5.2 ✔     Ma...
nAcademy – 17 Avril 2013
Comparaison 1/3   nAcademy – 17 Avril 2013   © Monty Widenius
Comparaison 2/3   nAcademy – 17 Avril 2013   © Monty Widenius
Comparaison 3/3   nAcademy – 17 Avril 2013   © Monty Widenius
En un mot... MariaDB vs MySQL ✔     Plus de storages ✔     Vitesse     ✔          Innodb, replication, stockage... ✔     N...
Mode avancé   nAcademy – 17 Avril 2013
Connecteurs ✔     PHP (driver natif) → BSD licence ✔     Python ✔     Ruby ✔     .NET avec MyODBC ✔     JDBC (basé sur dri...
Storages engines 1/4                               ✔                                   A partir de MariaDB 5.3 Cassandra S...
Storages engines 2/4 ➢     Cassandra                    ✔                                      (R)Tokutek & MariaDB ➢     ...
Storages engines 3/4 ➢     Cassandra                    ✔                                      MariaDB 10.0 ➢   TokuDB    ...
Storages engines 4/4 ➢     Cassandra ➢   TokuDB                                  ✔                                      PB...
Storages engines 4/4 ➢     Cassandra ➢   TokuDB                                  ✔                                      OQ...
Colonnes dynamiques ✔     Pont entre les BDD relationnelles et non     relationnelles ✔     Toutes les colonnes stockées d...
Création dune colonne dynamiqueCREATE TABLE t1 (                                 COLUMN_CREATE(    ID int                 ...
Exemple plus réaliste    nAcademy – 17 Avril 2013
Subquery... MariaDB 5.3+ / MySQL 5.6   SELECT ...   FROM table1   WHERE table1_col IN (                               SELE...
MariaDB 10.0 ✔     Moteur de table (storages engines) natif ✔     Réplication multisource ✔     NOW() à la place de DATETI...
Performance   nAcademy – 17 Avril 2013   http://blog.mariadb.org/mariadb-5-3-optimizer-benchmark/
En pratique    nAcademy – 17 Avril 2013
Environnement embarqué ✔     EasyPHP ✔     Xampp ✔     WampServer ✔     PHPserver ✔     WampMSS      nAcademy – 17 Avril 2...
Exemple 1 : Wampserver ✔     DL MariaDB (http://mariadb.org) ✔     Installer dans 1 dossier MySQL ✔     Déplacer les BDD s...
Exemple 2 : PHPServer ✔     DL PHPServer     http://www.treshaut.net/viewtopic.php?t=28&p=71 ✔     Installation      nAcad...
Exemple 2 : PHPServer avec phpMyAdmin   nAcademy – 17 Avril 2013
Exemple 3 : Linux ✔     sudo apt-get install mariadb-server mariadb-client ✔     Vous retrouvez :          ✔              ...
Outils     Backup                           Pour vos requêtes ✔     MySQLdump                    ✔                        ...
GO         MariaDBnAcademy – 17 Avril 2013
Apprentissage   nAcademy – 17 Avril 2013
Ceux qui ont sauté... ✔     Distributions               ✔                                     Dec 2012 Wikipedia          ...
Questions ?    nAcademy – 17 Avril 2013
Prochain SlideShare
Chargement dans…5
×

L Importance des forks de MySQL

2 469 vues

Publié le

Présentation à la nAcademy (Avril 2013) : L'importance des forks de MySQL par Christophe Villeneuve

0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 469
Sur SlideShare
0
Issues des intégrations
0
Intégrations
811
Actions
Partages
0
Téléchargements
19
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

L Importance des forks de MySQL

  1. 1. Limportance des Forks de MySQL Christophe Villeneuve 17 avril 2013
  2. 2. Sommaire ✔ Histoire ✔ Un choix ✔ En mode avancé ✔ En pratique nAcademy – 17 Avril 2013
  3. 3. Histoire du début Lorigine Dates importantes ✔ Fondé par ✔ 1983 – 1ère idée ✔ Monty Widenius ✔ Fondé en 1995 ✔ David Axmark ✔ 2007 Préparation pour Nasdaq ✔ 2008 Rachat par Sun ✔ 2009 Sun racheté par Oracle ✔ Promesse de Oracle sur 5 ans (fin 2009) nAcademy – 17 Avril 2013
  4. 4. Et maintenant ✔ De nos jours... MySQL Forks ✔ N° 1 dans le monde ✔ MySQL Oracle ✔ 50k Download (depuis ✔ Drizzle 2003) ✔ Percona ✔ + 13M installation active ✔ MariaDB nAcademy – 17 Avril 2013
  5. 5. Présentation des Forks nAcademy – 17 Avril 2013
  6. 6. nAcademy – 17 Avril 2013
  7. 7. Les grandes dates de MySQL ✔ 1983 ✔ 2008 MySQL 5.1GA(Sun) ✔ 1995 Création de MySQL ✔ 2010 MySQL 5.5 GA (Oracle) ✔ 1999 MySQL 3.23 ✔ 2011 Modules de codes ✔ 2000 InnoDB source fermé ✔ 2003 MySQL 3.23 GA ✔ 2013 MySQL 5.6 GA ✔ 2004 MySQL 4.1 GA ✔ ??? MySQL 5.7 ✔ 2005 Oracle avec InnoDB ✔ 2005 MySQL 5.0 GA nAcademy – 17 Avril 2013
  8. 8. Que trouve-t-on dans MySQL 5.6 ? ✔ Optimisation ✔ Sous requêtes (Subquery) ✔ Exécution requêtes ✔ In-to-exists ✔ Plus disponibilité ✔ Semi-join ✔ Performance schéma ✔ Materialization Amélioration Amélioration ✔ ✔ ✔ Lecture de lignes avec intervalle ✔ Mode séquentielle au lieu aléatoire ✔ PERFORMANCE_SCHEMA ✔ Index Condition Pushdown (ICP) ✔ Amélioration des petites LIMIT ✔ Information_schema ✔ Fonctionnalité ✔ Scalability ✔ MemcacheD API innodb ✔ Support des Logs ✔ SHA 256 authentification ✔ Microsecond Time précision ✔ Data dictionary cache ✔ Interface NoSQL ✔ Group commit nAcademy – 17 Avril 2013
  9. 9. nAcademy – 17 Avril 2013
  10. 10. Drizzle les points forts ✔ Mi 2008 début ✔ Version redessinée de MySQL 6.0 ✔ Mars 2011 1ère version GA ✔ Basé sur Micro-kernel + simple & + léger ✔ En ligne de commande ✔ BDD du coté serveur ✔ GPL v2 nAcademy – 17 Avril 2013
  11. 11. nAcademy – 17 Avril 2013
  12. 12. Les étapes Percona Server ✔ Dec 2008 : 1ère released ✔ XtraDB au lieu de InnoDB ✔ 2010 Percona 5.5 ✔ Plus dinstrumentation ✔ Juin 2013 Percona 5.6 ✔ Nombreux outils ✔ Amélioration Restart ✔ Performance ✔ Statistiques nAcademy – 17 Avril 2013
  13. 13. nAcademy – 17 Avril 2013
  14. 14. MariaDB : Un jeune projet... MATURE ✔ Communauté damis ✔ Dec 2008 Création de Monty Program ✔ 100 % Open source et compatible MySQL → Monty Widenius ✔ Plateforme dinnovation ✔ MariaDB 5.1 (Fev 2010) ✔ Des commiteurs ✔ MariaDB 5.2 (Nov 2010) ✔ MariaDB 5.3 (Avril 2012) ✔ MariaDB 5.5 (Avril 2012) ✔ MariaDB 10.0a (Nov Compression Multimaster Replication 2012) 1er semestre 2013 ✔ 2013 FondationGalera people nAcademy – 17 Avril 2013
  15. 15. Repère des versions ✔ MariaDB 5.1 → MySQL 5.1 ✔ MariaDB 5.2 → MariaDB 5.1 ✔ MariaDB 5.3 → MariaDB 5.2 ✔ MariaDB 5.5 → MariaDB 5.3 + MySQL 5.5 ✔ MariaDB 10.0 → MariaDB 5.5 + MySQL 5.6 ✔ MariaDB 5.6 → MariaDB 5.5 + MySQL 5.6 Fin 2013 ✔ MariaDB 10.0.1 → MariaDB 5.6 + MariaDB 10.0 nAcademy – 17 Avril 2013
  16. 16. nAcademy – 17 Avril 2013
  17. 17. Comparaison 1/3 nAcademy – 17 Avril 2013 © Monty Widenius
  18. 18. Comparaison 2/3 nAcademy – 17 Avril 2013 © Monty Widenius
  19. 19. Comparaison 3/3 nAcademy – 17 Avril 2013 © Monty Widenius
  20. 20. En un mot... MariaDB vs MySQL ✔ Plus de storages ✔ Vitesse ✔ Innodb, replication, stockage... ✔ Nombreuses extensions et fonctionnalités ✔ Colonnes virtuelles, colonne dynamique, multi... ✔ Plus de tests ✔ Tests correctifs, réactivités... ✔ Code source ouvert ✔ Développé par la communauté nAcademy – 17 Avril 2013
  21. 21. Mode avancé nAcademy – 17 Avril 2013
  22. 22. Connecteurs ✔ PHP (driver natif) → BSD licence ✔ Python ✔ Ruby ✔ .NET avec MyODBC ✔ JDBC (basé sur drizzle driver) ✔ C ✔ Oracle connector (licence GPL) Tous sont LGPL → Aucune licence commerciale nAcademy – 17 Avril 2013
  23. 23. Storages engines 1/4 ✔ A partir de MariaDB 5.3 Cassandra SE ✔ NoSQL / NewSQL ✔ Données non structurées ✔ Réplication rapide ✔ Assurer lintégration des données SQL / NoSQL ✔ Mapping possible nAcademy – 17 Avril 2013
  24. 24. Storages engines 2/4 ➢ Cassandra ✔ (R)Tokutek & MariaDB ➢ TokuDB ✔ Natif MariaDB 5.5 & 10.0 Tech : Utilise larbre fractal ✔ ✔ Amélioration indexation ✔ Amélioration des requêtes ✔ Schéma de vitesse ✔ Compression ✔ Réplication ✔ Souple nAcademy – 17 Avril 2013
  25. 25. Storages engines 3/4 ➢ Cassandra ✔ MariaDB 10.0 ➢ TokuDB ✔ Lecture / Ecriture / MAJ ➢ Connect TXT ✔ ✔ DBF ✔ .INI ✔ .XML ✔ ODBC ✔ Locale ou distant ✔ Possible de faire le sien nAcademy – 17 Avril 2013
  26. 26. Storages engines 4/4 ➢ Cassandra ➢ TokuDB ✔ PBXT (Désactiver 5.5) ✔ XtraDB (old innoDB) ➢ Connect ✔ FederatedX A partir de 5.1 ✔ Aria (old MyISAM) nAcademy – 17 Avril 2013
  27. 27. Storages engines 4/4 ➢ Cassandra ➢ TokuDB ✔ OQGraph (moteur info) ✔ SphinxSE (=search) ➢ Connect A partir de 5.1 A partir de 5.2 nAcademy – 17 Avril 2013
  28. 28. Colonnes dynamiques ✔ Pont entre les BDD relationnelles et non relationnelles ✔ Toutes les colonnes stockées dans un « blob » ✔ Possibilité de le manipuler ✔ Possibilité de créer des index Virtuels nAcademy – 17 Avril 2013
  29. 29. Création dune colonne dynamiqueCREATE TABLE t1 ( COLUMN_CREATE( ID int column_nr, auto_increment value [as type], primary key, [ Type_id int, column_nr, Prix decimal(7,2), value [as type] extra blob ],); ...)INSERT into t1 values (NULL, 1 , 10, COLUMN_CREATE(1, bleu, 2 , M));INSERT into t1 values (NULL, 2 , 400, COLUMN_CREATE(3, RAM, 5 , 800));UPDATE t1 SET extra = COLUMN_ADD(extra, 6 , 2048) WHERE id=2; ID / Type_id / Prix Coloris / Taille / Matériel / Vide / hard / option nAcademy – 17 Avril 2013
  30. 30. Exemple plus réaliste nAcademy – 17 Avril 2013
  31. 31. Subquery... MariaDB 5.3+ / MySQL 5.6 SELECT ... FROM table1 WHERE table1_col IN ( SELECT table2_col FROM table2 WHERE table2_subq) AND table1_where; Optimizer_switch=semijoin=on Optimizer_switch=semijoin=on Materialization=on / /off Materialization=on off in_to_exists = on/off in_to_exists = on/off tmp_table_size tmp_table_size max_heap_table_size max_heap_table_size nAcademy – 17 Avril 2013
  32. 32. MariaDB 10.0 ✔ Moteur de table (storages engines) natif ✔ Réplication multisource ✔ NOW() à la place de DATETIME ✔ Amélioration des informations erreurs ✔ Amélioration schéma de performance ✔ InnoDB ✔ Replication ✔ Statistics & Monitoring ✔ Optimizer ✔ Performance nAcademy – 17 Avril 2013
  33. 33. Performance nAcademy – 17 Avril 2013 http://blog.mariadb.org/mariadb-5-3-optimizer-benchmark/
  34. 34. En pratique nAcademy – 17 Avril 2013
  35. 35. Environnement embarqué ✔ EasyPHP ✔ Xampp ✔ WampServer ✔ PHPserver ✔ WampMSS nAcademy – 17 Avril 2013
  36. 36. Exemple 1 : Wampserver ✔ DL MariaDB (http://mariadb.org) ✔ Installer dans 1 dossier MySQL ✔ Déplacer les BDD sauvegardées data ✔ Lancer Wampserver nAcademy – 17 Avril 2013
  37. 37. Exemple 2 : PHPServer ✔ DL PHPServer http://www.treshaut.net/viewtopic.php?t=28&p=71 ✔ Installation nAcademy – 17 Avril 2013
  38. 38. Exemple 2 : PHPServer avec phpMyAdmin nAcademy – 17 Avril 2013
  39. 39. Exemple 3 : Linux ✔ sudo apt-get install mariadb-server mariadb-client ✔ Vous retrouvez : ✔ /etc/mysql/my.cnf ✔ > mysql ✔ Au final nAcademy – 17 Avril 2013
  40. 40. Outils Backup Pour vos requêtes ✔ MySQLdump ✔ MySQL Workbench ✔ XtraBackup ✔ SkySQL visual Editor (SQLYog) ✔ mysqlhotcopy (MyISAM) ✔ HeidiSQL ✔ XtraBackup manager (PHP) ✔ PhpMyAdmin ✔ ... ✔ Toad For MySQL ✔ ... nAcademy – 17 Avril 2013
  41. 41. GO MariaDBnAcademy – 17 Avril 2013
  42. 42. Apprentissage nAcademy – 17 Avril 2013
  43. 43. Ceux qui ont sauté... ✔ Distributions ✔ Dec 2012 Wikipedia ✔ OpenSUSE 12.3 ✔ 2013 ✔ Gentoo ✔ Blog de Mozilla ✔ FreeBSD ✔ Google Developer ✔ Homebrew ✔ Slackware ✔ ArchLinux ✔ Fédora 7.0 ✔ ... nAcademy – 17 Avril 2013
  44. 44. Questions ? nAcademy – 17 Avril 2013

×