0
http://dasini.net/blog/                          Olivier DASINI                             présente  Les nouveautés de My...
MySQL 5.1 – Fonctionnalités●   Le partitionnement●   Le programmateur dévènements●   La journalisation par les données (ro...
http://dasini.net/blog/       MySQL 5.1 – Le partitionnement   ●   Fragmenter une table en fonction des données       quel...
http://dasini.net/blog/       MySQL 5.1 – Le partitionnement   CREATE TABLE ... ENGINE = <engine>       PARTITION BY <type...
http://dasini.net/blog/       MySQL 5.1 – Le partitionnement   -- Partitionnement par intervalle   CREATE TABLE City_part_...
http://dasini.net/blog/      MySQL 5.1 – Le partitionnement   -- Partitionnement par key   CREATE TABLE City_part_key (   ...
http://dasini.net/blog/       MySQL 5.1 – Le partitionnement   -- Partitionnement par liste   CREATE TABLE Country_part_li...
http://dasini.net/blog/         MySQL 5.1 – Les évènements   ●Planificateur de tâches (CRON-like) embarqué   dans MySQL 5....
http://dasini.net/blog/        MySQL 5.1 – Les évènements   CREATE EVENT nom_evenement ON SCHEDULE      <moment> DO <code_...
http://dasini.net/blog/        MySQL 5.1 – Les évènements   -- Créer une vue matérialisée rafraîchie toutes les 10 minutes...
http://dasini.net/blog/           MySQL 5.1 – Row based login   ●   Jusquà MySQL 5.0.x: statement based login       seulem...
http://dasini.net/blog/         MySQL 5.1 – Row based login   Trois options de journalisation :   ●   Statement : journali...
http://dasini.net/blog/        MySQL 5.1 – Row based login   -- Modification du mode de journalisation   mysql> SHOW VARIA...
http://dasini.net/blog/           MySQL 5.1 – MySQL Cluster   ●   Jusquà MySQL 5.0.x : Données et index quen mémoire.   ● ...
http://dasini.net/blog/         MySQL 5.1 – MySQL Cluster   LOGFILE GROUP : permet gérer les undo log et le crash-recovery...
http://dasini.net/blog/         MySQL 5.1 – MySQL Cluster   TABLESPACE : pour stocker les données.   -- Création dun table...
http://dasini.net/blog/         MySQL 5.1 – MySQL Cluster   -- Table au format NDBCluster avec données sur disque   CREATE...
http://dasini.net/blog/   MySQL 5.1 – Table de journalisation    ●   general log: journaliser lactivité du serveur    ● sl...
http://dasini.net/blog/   MySQL 5.1 – Table de journalisation    Activable à chaud    SET GLOBAL general_log = ON;    SET ...
http://dasini.net/blog/   MySQL 5.1 – Table de journalisation    SELECT * FROM mysql.general_log WHERE argument like    se...
http://dasini.net/blog/ MySQL 5.1 – Moteur de stockage CSV    ● Stocker les données dans un fichier texte au format    CSV...
http://dasini.net/blog/ MySQL 5.1 – Moteur de stockage CSV    -- Création dune table au format CSV    CREATE TABLE t_csv (...
http://dasini.net/blog/                MySQL 5.1 – XML /XPath    ●   Support basique de XML avec deux fonctions:        ● ...
http://dasini.net/blog/             MySQL 5.1 – XML /XPath    SELECT EXTRACTVALUE    (texte,/profil/consultant[contains(@c...
http://dasini.net/blog/               MySQL 5.1 – mysqlslap    ●Permet deffectuer des tests de stress et de charge    sur ...
http://dasini.net/blog/             MySQL 5.1 – mysqlslap    --Tests de performances avec des tables MyISAM et    innoDB  ...
http://dasini.net/blog/               MySQL 5.1 – mysqlslap    Benchmark     Running for engine myisam     Average number ...
http://dasini.net/blog/                          Olivier DASINI                           vous a présenté              Les...
Upcoming SlideShare
Loading in...5
×

Les nouveautés de MySQL 5.1

2,550

Published on

Numéro un pour les applications en ligne, MySQL se positionne maintenant sur le secteur des applications d’entrepôts de données et d’informatique décisionnelle…

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,550
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Les nouveautés de MySQL 5.1"

  1. 1. http://dasini.net/blog/ Olivier DASINI présente Les nouveautés de MySQL 5.1 olivier@dasini.net http://dasini.net/blog/
  2. 2. MySQL 5.1 – Fonctionnalités● Le partitionnement● Le programmateur dévènements● La journalisation par les données (row based)● MySQL Cluster : support des données sur disque● Les tables de journalisation● Le moteur de stockage CSV● Le support de XML/XPath● mysqlslap
  3. 3. http://dasini.net/blog/ MySQL 5.1 – Le partitionnement ● Fragmenter une table en fonction des données quelle contient pour: ● Améliorer les performances lors de la recherche (pruning) ● Faciliter certaines tâches de maintenance ● Stocker les données et les index sur différents disques Les nouveautés de MySQL 5.1 3 Olivier DASINI - http://dasini.net/blog - 2009
  4. 4. http://dasini.net/blog/ MySQL 5.1 – Le partitionnement CREATE TABLE ... ENGINE = <engine> PARTITION BY <type> ( <expression> ) <engine> = MyIsam | InnoDB | Archive | Falcon | NDBCluster | Memory <type> = RANGE | LIST | HASH | KEY ● 4 types de partitionnement: ● RANGE (par intervalle) ● LIST (par liste) ● HASH ou KEY (par hachage) Les nouveautés de MySQL 5.1 4 Olivier DASINI - http://dasini.net/blog - 2009
  5. 5. http://dasini.net/blog/ MySQL 5.1 – Le partitionnement -- Partitionnement par intervalle CREATE TABLE City_part_range ( ID int(11) NOT NULL AUTO_INCREMENT, Population int(11) NOT NULL DEFAULT 0, KEY ID (ID) ) ENGINE=MyISAM PARTITION BY RANGE (population) ( PARTITION p1 VALUES LESS THAN (1000), PARTITION p2 VALUES LESS THAN (5000), PARTITION p3 VALUES LESS THAN (10000), PARTITION p5 VALUES LESS THAN MAXVALUE ); Les nouveautés de MySQL 5.1 5 Olivier DASINI - http://dasini.net/blog - 2009
  6. 6. http://dasini.net/blog/ MySQL 5.1 – Le partitionnement -- Partitionnement par key CREATE TABLE City_part_key ( ID int(11) NOT NULL AUTO_INCREMENT, Name char(35) NOT NULL DEFAULT , CountryCode char(3) NOT NULL DEFAULT , District char(20) NOT NULL DEFAULT , Population int(11) NOT NULL DEFAULT 0, PRIMARY KEY (ID) ) ENGINE=InnoDB PARTITION BY KEY () PARTITIONS 6; Les nouveautés de MySQL 5.1 6 Olivier DASINI - http://dasini.net/blog - 2009
  7. 7. http://dasini.net/blog/ MySQL 5.1 – Le partitionnement -- Partitionnement par liste CREATE TABLE Country_part_list ( Code char(3) NOT NULL DEFAULT , Continent tinyint UNSIGNED DEFAULT 1, KEY (Code) ) ENGINE=MEMORY PARTITION BY LIST(Continent) ( PARTITION pCateg1 VALUES IN (1), PARTITION pCateg2 VALUES IN (4), PARTITION pCateg3 VALUES IN (2,6), PARTITION pCateg4 VALUES IN (3,5,7)); Les nouveautés de MySQL 5.1 7 Olivier DASINI - http://dasini.net/blog - 2009
  8. 8. http://dasini.net/blog/ MySQL 5.1 – Les évènements ●Planificateur de tâches (CRON-like) embarqué dans MySQL 5.1 ●Exécute des requêtes, en fonction de la date et de lheure ● De façon récurrente (EVERY) ou unique (AT) Les nouveautés de MySQL 5.1 8 Olivier DASINI - http://dasini.net/blog - 2009
  9. 9. http://dasini.net/blog/ MySQL 5.1 – Les évènements CREATE EVENT nom_evenement ON SCHEDULE <moment> DO <code_sql> Peut être lancé une seule fois (AT) ou de manière répétitive (EVERY): <moment> = AT | EVERY Lévènement est constitué dun ensemble de requêtes: <code_sql> = requêtes sql 9 Les nouveautés de MySQL 5.1 Olivier DASINI - http://dasini.net/blog - 2009
  10. 10. http://dasini.net/blog/ MySQL 5.1 – Les évènements -- Créer une vue matérialisée rafraîchie toutes les 10 minutes DELIMITER // CREATE EVENT vue_materialisee ON SCHEDULE EVERY 10 MINUTE DO BEGIN TRUNCATE TABLE _event.City_fra; INSERT INTO _event.City_fra SELECT * FROM world.City WHERE CountryCode=FRA ORDER BY name; END// DELIMITER ; Les nouveautés de MySQL 5.1 10 Olivier DASINI - http://dasini.net/blog - 2009
  11. 11. http://dasini.net/blog/ MySQL 5.1 – Row based login ● Jusquà MySQL 5.0.x: statement based login seulement ● Enregistrement de la requête dans le log binaire ● MySQL 5.1: row based login possible: ● Enregistrement du résultat de la requête Les nouveautés de MySQL 5.1 11 Olivier DASINI - http://dasini.net/blog - 2009
  12. 12. http://dasini.net/blog/ MySQL 5.1 – Row based login Trois options de journalisation : ● Statement : journalise la requête telle-quelle ● Row : journalise le résultat de la requête ● Mixed : MySQL choisit entre statement et row en fonction du contexte. Les nouveautés de MySQL 5.1 12 Olivier DASINI - http://dasini.net/blog - 2009
  13. 13. http://dasini.net/blog/ MySQL 5.1 – Row based login -- Modification du mode de journalisation mysql> SHOW VARIABLES LIKE binlog_format; +---------------+-----------+ | Variable_name | Value | +---------------+-----------+ | binlog_format | STATEMENT | +---------------+-----------+ mysql> SET SESSION binlog_format=ROW; mysql> SHOW VARIABLES LIKE binlog_format; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ Les nouveautés de MySQL 5.1 13 Olivier DASINI - http://dasini.net/blog - 2009
  14. 14. http://dasini.net/blog/ MySQL 5.1 – MySQL Cluster ● Jusquà MySQL 5.0.x : Données et index quen mémoire. ● MySQL 5.1: Possible de mettre les données sur disque. Les nouveautés de MySQL 5.1 14 Olivier DASINI - http://dasini.net/blog - 2009
  15. 15. http://dasini.net/blog/ MySQL 5.1 – MySQL Cluster LOGFILE GROUP : permet gérer les undo log et le crash-recovery -- Création dun logfile group CREATE LOGFILE GROUP lg_1 ADD UNDOFILE undo_1.dat INITIAL_SIZE 16M UNDO_BUFFER_SIZE 2M ENGINE NDB; ALTER LOGFILE GROUP lg_1 ADD UNDOFILE undo_2.dat INITIAL_SIZE 12M ENGINE NDB; Les nouveautés de MySQL 5.1 15 Olivier DASINI - http://dasini.net/blog - 2009
  16. 16. http://dasini.net/blog/ MySQL 5.1 – MySQL Cluster TABLESPACE : pour stocker les données. -- Création dun tablespace CREATE TABLESPACE ts_1 ADD DATAFILE data_1.dat USE LOGFILE GROUP lg_1 INITIAL_SIZE 32M ENGINE NDB; ALTER TABLESPACE ts_1 ADD DATAFILE data_2.dat INITIAL_SIZE 48M ENGINE NDB; Les nouveautés de MySQL 5.1 16 Olivier DASINI - http://dasini.net/blog - 2009
  17. 17. http://dasini.net/blog/ MySQL 5.1 – MySQL Cluster -- Table au format NDBCluster avec données sur disque CREATE TABLE City ( ID int(11) NOT NULL AUTO_INCREMENT, Name char(35) NOT NULL DEFAULT , Population int(11) NOT NULL DEFAULT 0, PRIMARY KEY (ID) ) TABLESPACE ts_1 STORAGE DISK ENGINE=NDB; Les nouveautés de MySQL 5.1 17 Olivier DASINI - http://dasini.net/blog - 2009
  18. 18. http://dasini.net/blog/ MySQL 5.1 – Table de journalisation ● general log: journaliser lactivité du serveur ● slow query log: journaliser seulement les requêtes lentes ● Journaliser dans un fichier ou dans un table Les nouveautés de MySQL 5.1 18 Olivier DASINI - http://dasini.net/blog - 2009
  19. 19. http://dasini.net/blog/ MySQL 5.1 – Table de journalisation Activable à chaud SET GLOBAL general_log = ON; SET GLOBAL slow_query_log = ON; Choix du format de journalisation SET GLOBAL log_output = TABLE; SET GLOBAL log_output = FILE; SET GLOBAL log_output = TABLE,FILE; SET GLOBAL log_output = NONE; Les nouveautés de MySQL 5.1 19 Olivier DASINI - http://dasini.net/blog - 2009
  20. 20. http://dasini.net/blog/ MySQL 5.1 – Table de journalisation SELECT * FROM mysql.general_log WHERE argument like select%from%select%G *************************** 1. row *************************** event_time: 2009-03-01 18:49:49 user_host: root[root] @ localhost [127.0.0.1] thread_id: 12 server_id: 3306 command_type: Query argument: select * from city where countrycode in (select code from country where continent=europe) group by countrycode *************************** 2. row *************************** ... Les nouveautés de MySQL 5.1 20 Olivier DASINI - http://dasini.net/blog - 2009
  21. 21. http://dasini.net/blog/ MySQL 5.1 – Moteur de stockage CSV ● Stocker les données dans un fichier texte au format CSV ● Editable avec un tableur ou éditeur de textes ● Import / export par simple « copier/coller » Les nouveautés de MySQL 5.1 21 Olivier DASINI - http://dasini.net/blog - 2009
  22. 22. http://dasini.net/blog/ MySQL 5.1 – Moteur de stockage CSV -- Création dune table au format CSV CREATE TABLE t_csv ( id int, nom CHAR(50), prenom CHAR(50) ) ENGINE=CSV; Les nouveautés de MySQL 5.1 22 Olivier DASINI - http://dasini.net/blog - 2009
  23. 23. http://dasini.net/blog/ MySQL 5.1 – XML /XPath ● Support basique de XML avec deux fonctions: ● ExtractValue : extraire les valeurs des différentes balises ● UpdateXML : modifier la sortie dun document XML Les nouveautés de MySQL 5.1 23 Olivier DASINI - http://dasini.net/blog - 2009
  24. 24. http://dasini.net/blog/ MySQL 5.1 – XML /XPath SELECT EXTRACTVALUE (texte,/profil/consultant[contains(@categorie,"MySQL")]/con sultant) AS Expert_MySQL FROM consultant_xml; +---------------------+ | Expert_MySQL | +---------------------+ | Olivier DASINI | +---------------------+ Les nouveautés de MySQL 5.1 24 Olivier DASINI - http://dasini.net/blog - 2009
  25. 25. http://dasini.net/blog/ MySQL 5.1 – mysqlslap ●Permet deffectuer des tests de stress et de charge sur votre serveur MySQL ●Envoie des requêtes au serveur MySQL en créant plusieurs connexions simultanées ●Un rapport de diagnostic est crée sur la sortie standard. ● Possibilité de lécrire dans un fichier au format CSV Les nouveautés de MySQL 5.1 25 Olivier DASINI - http://dasini.net/blog - 2009
  26. 26. http://dasini.net/blog/ MySQL 5.1 – mysqlslap --Tests de performances avec des tables MyISAM et innoDB mysqlslap --user=daz --password --concurrency=1,100 --iterations=10 –number-of-queries=1000 --engine=myisam,innodb --auto-generate-sql --number-int-cols=2 --number-char-cols=3 --auto-generate-sql-load-type=mixed Les nouveautés de MySQL 5.1 26 Olivier DASINI - http://dasini.net/blog - 2009
  27. 27. http://dasini.net/blog/ MySQL 5.1 – mysqlslap Benchmark Running for engine myisam Average number of seconds to run all queries: 1.576 seconds Minimum number of seconds to run all queries: 1.539 seconds Maximum number of seconds to run all queries: 1.631 seconds Number of clients running queries: 1 Average number of queries per client: 1000 Benchmark Running for engine myisam Average number of seconds to run all queries: 1.792 seconds Minimum number of seconds to run all queries: 1.543 seconds Maximum number of seconds to run all queries: 2.107 seconds Number of clients running queries: 100 Average number of queries per client: 10 Benchmark Running for engine innodb Average number of seconds to run all queries: 2.477 seconds ... Les nouveautés de MySQL 5.1 27 Olivier DASINI - http://dasini.net/blog - 2009
  28. 28. http://dasini.net/blog/ Olivier DASINI vous a présenté Les nouveautés de MySQL 5.1 http://dasini.net/blog/ olivier@dasini.net 28
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×