Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MySQL et MariaDB dans le web‎

1,795 views

Published on

Présentation effectuée à l'OSDC & Open World Forum 2013 - Track Code par Christophe Villeneuve

  • Be the first to comment

  • Be the first to like this

MySQL et MariaDB dans le web‎

  1. 1. MySQL & MariaDB dans le web Christophe Villeneuve @hellosct1
  2. 2. Christophe Villeneuve Qui ?
  3. 3. Le 5 octobre 2013 ✔ Histoire ✔ Un choix ✔ En mode avancé ✔ En pratique Sommaire
  4. 4. Le 5 octobre 2013 ✔ Fondé par ✔ Monty Widenius ✔ David Axmark ✔ 1983 – 1ère idée ✔ Fondé en 1995  ✔ 2007 Préparation pour Nasdaq ✔ 2008 Rachat par Sun ✔ 2009 Sun racheté par Oracle ✔ Promesse de Oracle sur 5 ans (fin 2009) L'origine Dates importantes Histoire de début
  5. 5. Le 5 octobre 2013 ✔ N° 1 dans le monde ✔ 50k Download (depuis 2003) ✔ + 13M installation active ✔ MySQL Oracle ✔ Drizzle ✔ Percona ✔ MariaDB ✔ De nos jours... MySQL Forks Et maintenant
  6. 6. Le 5 octobre 2013 Présentation des forks
  7. 7. Le 5 octobre 2013 ✔ 1983 ✔ 1995 Création de MySQL ✔ 1999 MySQL 3.23 ✔ 2000 InnoDB ✔ 2003 MySQL 3.23 GA ✔ 2004 MySQL 4.1 GA ✔ 2005 Oracle avec InnoDB ✔ 2005 MySQL 5.0 GA ✔ 2008 MySQL 5.1GA(Sun) ✔ 2010 MySQL 5.5 GA (Oracle) ✔ 2011 Modules de codes source fermé ✔ 2013 MySQL 5.6 GA ✔ ??? MySQL 5.7 Les grandes dates de MySQL
  8. 8. Le 5 octobre 2013 ✔ Mi 2008 début ✔ Mars 2011 1ère version GA ✔ Version redessinée de MySQL 6.0 ✔ Basé sur Micro-kernel + simple & + léger ✔ En ligne de commande ✔ BDD du coté serveur ✔ GPL v2 Drizzle les points forts
  9. 9. Le 5 octobre 2013 ✔ Dec 2008 : 1ère released ✔ 2010 Percona 5.5 ✔ Juin 2013 Percona 5.6 ✔ XtraDB au lieu de InnoDB ✔ Plus d'instrumentation ✔ Nombreux outils ✔ Amélioration Restart ✔ Performance ✔ Statistiques  Les étapes de Percona Server
  10. 10. Le 5 octobre 2013 ✔ Communauté d'amis ✔ 100 % Open source et compatible MySQL ✔ Plateforme d'innovation ✔ Des commiteurs ✔ Dec 2008 Création de Monty  Program   → Monty Widenius ✔ MariaDB 5.1 (Fev 2010) ✔ MariaDB 5.2 (Nov 2010) ✔ MariaDB 5.3 (Avril 2012) ✔ MariaDB 5.5 (Avril 2012) ✔ MariaDB 10.0a (Nov 2012)  1er semestre 2013 ✔ 2013 Fondation ✔ MariaDB 10.0.1  (fin 2013)Galera people Compression Multimaster Replication MariaDB : un jeune projet... MATURE
  11. 11. Le 5 octobre 2013 ✔ 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 Repère des versions
  12. 12. Le 5 octobre 2013 ✔ 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é En un mot... MariaDB vs MySQL
  13. 13. Le 5 octobre 2013 Mode avancé
  14. 14. Le 5 octobre 2013 ✔ PHP (driver natif) → BSD licence ✔ Python ✔ Perl ✔ Ruby ✔ .NET avec MyODBC ✔ JDBC (basé sur drizzle driver) ✔ C ✔ Oracle connector (licence GPL) Tous sont LGPL → Aucune licence commerciale Connecteurs
  15. 15. Le 5 octobre 2013 Cassandra SE ✔ A partir de MariaDB 5.3 ✔ NoSQL / NewSQL ✔ Données non structurées ✔ Réplication rapide ✔ Assurer l'intégration des données SQL / NoSQL ✔ Mapping possible Storages engines 1/4
  16. 16. Le 5 octobre 2013 ➢ Cassandra ➢ TokuDB ✔  (R)Tokutek & MariaDB ✔  Natif MariaDB 5.5 & 10.0 ✔ Tech : Utilise l'arbre fractal ✔  Amélioration indexation ✔  Amélioration des requêtes ✔ Schéma de vitesse ✔ Compression ✔ Réplication ✔ Souple Storages engine 2/4
  17. 17. Le 5 octobre 2013 ➢ Cassandra ➢ TokuDB ➢ Connect ✔ MariaDB 10.0 ✔ Lecture / Ecriture / MAJ ✔ TXT ✔ DBF ✔ .INI ✔ .XML ✔ ODBC ✔ Locale ou distant ✔ Possible de faire le sien Storages engine 3/4
  18. 18. Le 5 octobre 2013 ➢ Cassandra ➢ TokuDB ➢ Connect A partir de 5.1 ✔ PBXT(Désactiver 5.5) ✔ XtraDB (old innoDB) ✔ FederatedX ✔ Aria (old MyISAM) Storages engine 4/4
  19. 19. Le 5 octobre 2013 ➢ Cassandra ➢ TokuDB ➢ Connect A partir de 5.1 ✔ OQGraph (moteur info) ✔ SphinxSE (=search) A partir de 5.2 Storages engines 4/4
  20. 20. Le 5 octobre 2013 ✔ 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 Colonnes Dynamiques
  21. 21. Le 5 octobre 2013 CREATE TABLE t1 ( ID int auto_increment primary key, Type_id int, Prix decimal(7,2), extra blob ); COLUMN_CREATE( column_nr, value [as type], [ column_nr, value [as type] ], ...) 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; Coloris / Taille / Matériel / Vide / hard / optionID / Type_id / Prix Création d'une colonne dynamique
  22. 22. Le 5 octobre 2013 Exemple plus réaliste
  23. 23. Le 5 octobre 2013 SELECT ... FROM table1 WHERE table1_col IN ( SELECT table2_col FROM table2 WHERE table2_subq) AND table1_where; Optimizer_switch='semijoin=on' Materialization=on / off in_to_exists = on/off tmp_table_size max_heap_table_size Optimizer_switch='semijoin=on' Materialization=on / off in_to_exists = on/off tmp_table_size max_heap_table_size Subquery... MariaDB 5.3 + MySQL 5.6
  24. 24. Le 5 octobre 2013 ✔ 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 MariaDB 10.0
  25. 25. Le 5 octobre 2013http://blog.mariadb.org/mariadb-5-3-optimizer-benchmark/ Performance
  26. 26. Le 5 octobre 2013 En pratique
  27. 27. Le 5 octobre 2013 ✔ EasyPHP ✔ Xampp ✔ WampServer ✔ PHPserver ✔ WampMSS Environnement embarqué
  28. 28. Le 5 octobre 2013 ✔ DL MariaDB (http://mariadb.org) ✔ Installer dans 1 dossier MySQL ✔ Déplacer les BDD sauvegardées data ✔ Lancer Wampserver Exemple 1 : wampserver
  29. 29. Le 5 octobre 2013 ✔ DL PHPServer http://www.treshaut.net/viewtopic.php?t=28&p=71 ✔ Installation Exemple 2 : PHPServer
  30. 30. Le 5 octobre 2013 Exemple 2 : PHPServer avec phpMyAdmin
  31. 31. Le 5 octobre 2013 ✔ sudo apt-get install mariadb-server mariadb-client ✔ Vous retrouvez : ✔ /etc/mysql/my.cnf ✔ > mysql ✔ Au final Exemple 3 : Linux
  32. 32. Le 5 octobre 2013 ✔ MySQLdump ✔ XtraBackup ✔ mysqlhotcopy (MyISAM) ✔ XtraBackup manager (PHP) ✔ ... ✔ MySQL Workbench ✔ SkySQL visual Editor (SQLYog) ✔ HeidiSQL ✔ PhpMyAdmin ✔ Toad For MySQL ✔ ... Backup Pour vos requêtes Outils
  33. 33. GO MariaDB
  34. 34. Le 5 octobre 2013 Apprentissage
  35. 35. Le 5 octobre 2013 ✔ Distributions ✔ OpenSUSE 12.3 ✔ Gentoo ✔ FreeBSD ✔ Homebrew ✔ Slackware ✔ ArchLinux ✔ Fédora 7.0 ✔ ... ✔ Dec 2012 Wikipedia ✔ 2013 ✔ Blog de Mozilla ✔ Google Developer Ceux qui ont déjà sauté...
  36. 36. Le 5 octobre 2013 Merci

×