SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
www.fromdual.com




           MySQL
       New Features 5.6

DOAG Konferenz 2012, Nürnberg


          Oli Sennhauser
   Senior MySQL Consultant, FromDual GmbH

    oli.sennhauser@fromdual.com


                                                    1 / 20
Über FromDual GmbH                            www.fromdual.com



●   FromDual bietet neutral und unabhängig:
    ●   Beratung für MySQL und Galera
    ●   Support für MySQL und Galera
    ●   Remote-DBA Dienstleistungen
    ●   MySQL Schulungen
●   Partner der Open Database Alliance (ODBA.org)
●   Oracle Silver Partner (OPN)

                     www.fromdual.com


                                                      2 / 20
Inhalt                            www.fromdual.com




   MySQL 5.6 New Features
   ●
       InnoDB
   ●
       Replikation
   ●
       Partitionen
   ●
       Optimizer
   ●
       Performance Schema (P_S)
   ●
       Verschiedenes...




                                          3 / 20
NF 5.6 / InnoDB (1)                                                                              www.fromdual.com



●   Fulltext Indices auf InnoDB Tabellen:
     CREATE TABLE `test` (
       `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
       `data` varchar(64) DEFAULT NULL,
       PRIMARY KEY (`id`),
       FULLTEXT KEY `data` (`data`)
     ) ENGINE=InnoDB;

     EXPLAIN SELECT * FROM test WHERE MATCH (data) AGAINST ('updated');
     +­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­+­­­­­­­­­+­­­­­­+­­­­­­+­­­­­­­­­­­­­+
     | id | select_type | table | type     | possible_keys | key  | key_len | ref  | rows | Extra       |
     +­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­+­­­­­­­­­+­­­­­­+­­­­­­+­­­­­­­­­­­­­+
     |  1 | SIMPLE      | test  | fulltext | data          | data | 0       | NULL |    1 | Using where |
     +­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­+­­­­­­­­­+­­­­­­+­­­­­­+­­­­­­­­­­­­­+


●   Sphinx und Solr/Lucene obsolet?
●   MyISAM obsolet!

                                                                                                            4 / 20
NF 5.6 / InnoDB (2)                             www.fromdual.com




●   Exportieren von Tablespaces:
    mysql> ALTER TABLE test DISCARD TABLESPACE;
    shell> scp test.ibd root@remote:/var/lib/mysql/test
    mysql> ALTER TABLE test IMPORT TABLESPACE;


●   MyISAM definitiv obsolete! (Wer braucht GIS
    Indexes?)
●   Neuer Default:
       innodb_file_per_table = on


                                                        5 / 20
NF 5.6 / InnoDB (3)                                                                   www.fromdual.com




●   InnoDB INFORMATION_SCHEMA Tabellen
    ●    INNODB_BUFFER_*
    ●    INNODB_FT_*
    ●    INNODB_METRICS
    ●    INNODB_SYS_*
        SELECT name, subsystem, count, comment
          FROM INFORMATION_SCHEMA.innodb_metrics WHERE name LIKE '%rseg%';
        +­­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
        | name                  | subsystem   | count | comment                                |
        +­­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
        | trx_rseg_history_len  | transaction |   654 | Length of the TRX_RSEG_HISTORY list    |
        | trx_rseg_current_size | transaction |     0 | Current rollback segment size in pages |
        +­­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+


●   InnoDB Monitor ist jetzt überflüssig!
                                                                                                   6 / 20
NF 5.6 / InnoDB Performance                               www.fromdual.com



●   Page Cleaner Thread (vorher im Master Thread)
●   innodb_purge_threads kann jetzt > 1 sein
●   Kernel Mutex aufgeteilt → verbesserte Concurrency
●   Konkurrenzierendes Lesen währen Sekundäre Indexes gebaut
    werden
●   Schnellere warm-up Phase:
    ●   innodb_buffer_pool_dump_at_shutdown
●   InnoDB REDO Log Grösse bis 512 Gbyte
●   InnoDB Thread Scheduling besser bei > 16 Threads
●   UNDO Log → Separater TS (random I/O → SSD!)
●   Verbesserte Concurrency beim Erweitern von TS Files
    (innodb_file_per_table)

                                                                  7 / 20
NF 5.6 / InnoDB                                                                     www.fromdual.com



●   InnoDB und Optimizer:
    ●   Persistente Optimizer Statistiken
    ●   Steuerung des Statistik Sammelns (ex. Random Dives)
SET GLOBAL innodb_analyze_is_persistent = 1;
ANALYZE TABLE valuemaps;
SELECT * FROM mysql.innodb_table_stats;
+­­­­­­­­­­­­­­­+­­­­­­­­­­­­+­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­+
| database_name | table_name | n_rows | clustered_index_size | sum_of_other_index_sizes |
+­­­­­­­­­­­­­­­+­­­­­­­­­­­­+­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­+
| zabbix        | valuemaps  |      7 |                    1 |                        1 |
+­­­­­­­­­­­­­­­+­­­­­­­­­­­­+­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­+


●   Deadlocks gehen jetzt ins Error Log
    ●   innodb_print_all_deadlocks
●   InnoDB Page Size kann jetzt sein: 16k, 8k, 4k (OLTP)
    ●   innodb_page_size

                                                                                            8 / 20
NF 5.6 / Replikation (1)                          www.fromdual.com



●   Globally Unique Server ID

        cat $datadir/auto.cnf
        [auto]
        server-uuid=db731167-2b4c-11e1-928c-bcaec586ca65

●   Transaktions Basierte Replikation (TBR?)
    ●   Global Transaction Identifiers (GTID)
    ●   Keine M/S Inkonsistenzen mehr möglich (RBR)!?!
    ●   Noch etwas wenig geschmeidig / komplizierter
        :-(


                                                          9 / 20
NF 5.6 / Replikation (2)                            www.fromdual.com



●   Crash safe Binary Logs
    ●   Vollständige Events/Trx werden geloggt (Master und
        Slave)
    ●   Event-Länge + CRC32 Checksumme
●   Slave Log Tabellen: master.info und relay­
    log.info zusätzlich in (MyISAM :-( ) Tabellen
    ●   slave_master_info + slave_relay_log_info
    ●   → Umwandeln in InnoDB!

    master­info­repository        = TABLE
    relay­log­info­repository     = TABLE

                                                             10 / 20
NF 5.6 / Replikation (3)                        www.fromdual.com




●   Row Image Control
    ●   RBR
    ●   Verringert: Plattenplatz, Netzwerk Ressourcen,
        Speicher

         binlog_row_image = {full | minimal | noblob}

●   Delayed Replikation
    ●   Früher mk­slave­delay (Maatkit)
         CHANGE MASTER TO MASTER_DELAY = n;

                                                        11 / 20
NF 5.6 / Replikation (4)                                  www.fromdual.com



●   Parallele Event Ausführung (multi-Threaded
    Slave)
    ●   slave_parallel_workers = <n>
    ●   Parallelisieren pro Schema
    ●   Gut für Hoster mit Traffic auf vielen Schemata!

         slave_parallel_workers = <n>

●   Slave kann auf ein Netzwerk Interface gebunden
    werden:
        MASTER_BIND='eth1'

                                                                  12 / 20
NF 5.6 / Replikation (5)                    www.fromdual.com




●   Remote Binary Log Shipping:
      mysqlbinlog ­­read­from­remote­server 
      ­­raw bin­log.000001 > bin­
      log.000001.dup
●   Timestamp in SHOW SLAVE STATUS:
     SHOW SLAVE STATUSG
     ...
          Last_IO_Error_Timestamp: 120130 16:59:12
          Last_SQL_Error_Timestamp:



                                                    13 / 20
NF 5.6 / Partitionen                           www.fromdual.com



●   Explizite Wahl der Partition:
     SELECT *
       FROM sales PARTITION (p2010, p2011)
      WHERE sum < 100;

        → Achtung: Implizite WHERE Klausel!
●   Austauschen von Partitionen mit Tabelle:
     ALTER TABLE sales_hist
     EXCHANGE PARTITION p2011
     WITH TABLE sales;

    ●   ETL, DWH

                                                       14 / 20
NF 5.6 / Optimizer                                                www.fromdual.com



●   Query Execution Plan (QEP) für DML Statements!
●   Optimizer Trace!
●   Batched Key Access (BKA) → verbesserte JOIN Performance
●   Multi-Range Read (MRR)
       → Optimierter Range Scan auf sekundären Indices
●   Index Condition Pushdown (ICP)
       → WHERE wird in der Storage Engine ausgewertet
●   Optimierung von Derived Tables (in FROM Klausel)
       → Materialsierung wird später ausgeführt und Index auf Derived Table
       erstellt
●   ORDER BY auf nicht indexierte Spalten
       → sort_buffer Sort Merge Passes werden vermieden

                                                                          15 / 20
NF 5.6 / Performance Schema                              www.fromdual.com



●   MySQL hat mit 5.5 das P_S eingeführt
    ●   Die Idee dahinter: Miss alles!
    ●   Hat Einfluss auf Gesamtperformance (5 – 10 %)!
●   Neue Messpunkte in 5.6 für:
    ●   Table read und write (row-level accesses)
    ●   Stages und Statements (stage = State)
    ●   Connections, Sockets
    ●   Table Lock Wait Events
    ●   Table und Index I/O Wait Events
●   Filter nach
    ●   Thread
    ●   Objekt


                                                                 16 / 20
www.fromdual.com




+------+------------------+-----------------+------------+-------------------+
| user | event_name       | tmp_disk_tables | tmp_tables | sort_merge_passes |
+------+------------------+-----------------+------------+-------------------+
| root | select           |               0 |          1 |                 0 |
| root | show_databases   |               0 |          4 |                 0 |
| root | show_tables      |               0 |         20 |                 0 |
| root | show_fields      |               2 |          2 |                 0 |
| root | show_variables   |               0 |         91 |                 0 |
+------+------------------+-----------------+------------+-------------------+




+------------+------------+--------------+-------------+--------------+
| table_name | timer_read | timer_insert | timer_upate | timer_delete |
+------------+------------+--------------+-------------+--------------+
| leads      |     0.0259 |       0.0000 |      0.0000 |       0.0000 |
| src        |     1.8537 |       0.0000 |      0.0000 |       0.0000 |
| test       |     0.3186 |       2.0249 |      1.3156 |       0.0006 |
+------------+------------+--------------+-------------+--------------+




                                                                                 17 / 20
NF 5.6 / Verschiedenes                         www.fromdual.com




●   Bruchteile von Sekunden
    ●     Bis Mikrosekunden (0.000001 s)
●   GET DIAGNOSTICS
    ●     Für Fehlersuche in Stored Programs
●   Authentisierung über Plugin (Socket)
●   Memcached Plug-in
●   ...


                                                       18 / 20
NF 5.6 / Zusammenfassung                       www.fromdual.com




●   +400 Bugs gefixed!
●   Code wurde aufgeräumt
●   Und viele, viele weitere kleine Neuigkeiten...
●   Achtung: Auch einige Inkompatibilitäten!
      → vor Upgrade gut testen! Wir helfen gerne...




                                                       19 / 20
Q&A                                                    www.fromdual.com




                               Fragen ?

                            Diskussion?

         Wir haben Zeit für ein persönliches Gespräch...

●   FromDual bietet neutral und unabhängig:
    ●   MySQL Beratung
    ●   Remote-DBA MySQL
    ●   Support für MySQL und Galera
    ●   MySQL Schulung
                              www.fromdual.com/presentations
                                                               20 / 20

Weitere ähnliche Inhalte

Was ist angesagt?

DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationFromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLFromDual GmbH
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFromDual GmbH
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sFromDual GmbH
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLFromDual GmbH
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLFromDual GmbH
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSRalf Ernst
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 

Was ist angesagt? (20)

DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL Replication
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
MySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQLMySQL Cluster with Galera Cluster for MySQL
MySQL Cluster with Galera Cluster for MySQL
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL Replication
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA's
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
 
Hazelcast
HazelcastHazelcast
Hazelcast
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 

Andere mochten auch

OpenExpo: MySQL, Where are you going?
OpenExpo: MySQL, Where are you going?OpenExpo: MySQL, Where are you going?
OpenExpo: MySQL, Where are you going?FromDual GmbH
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsFromDual GmbH
 
FOSDEM 2012: New Features in MySQL 5.6
FOSDEM 2012: New Features in MySQL 5.6FOSDEM 2012: New Features in MySQL 5.6
FOSDEM 2012: New Features in MySQL 5.6FromDual GmbH
 
MySQL configuration - The most important Variables
MySQL configuration - The most important VariablesMySQL configuration - The most important Variables
MySQL configuration - The most important VariablesFromDual GmbH
 

Andere mochten auch (6)

OpenExpo: MySQL, Where are you going?
OpenExpo: MySQL, Where are you going?OpenExpo: MySQL, Where are you going?
OpenExpo: MySQL, Where are you going?
 
NoSQL with MySQL
NoSQL with MySQLNoSQL with MySQL
NoSQL with MySQL
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Froscon 2012 DWH
Froscon 2012 DWHFroscon 2012 DWH
Froscon 2012 DWH
 
FOSDEM 2012: New Features in MySQL 5.6
FOSDEM 2012: New Features in MySQL 5.6FOSDEM 2012: New Features in MySQL 5.6
FOSDEM 2012: New Features in MySQL 5.6
 
MySQL configuration - The most important Variables
MySQL configuration - The most important VariablesMySQL configuration - The most important Variables
MySQL configuration - The most important Variables
 

Ähnlich wie MySQL - New Features 5.6

Data Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLData Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLFromDual GmbH
 
20121008 io-performance
20121008 io-performance20121008 io-performance
20121008 io-performanceWerner Fischer
 
Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12Stefan Frömken
 
OSMC 2010 | Merlin - status quo by Wolfgang Barth
OSMC 2010 | Merlin - status quo by Wolfgang BarthOSMC 2010 | Merlin - status quo by Wolfgang Barth
OSMC 2010 | Merlin - status quo by Wolfgang BarthNETWAYS
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerMarkus Flechtner
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ulrike Schwinn
 
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...inovex GmbH
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Torsten Kleiber
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?FromDual GmbH
 
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Lars Platzdasch
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilan Wilhelm
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilian Wilhelm
 

Ähnlich wie MySQL - New Features 5.6 (17)

Data Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLData Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQL
 
20121008 io-performance
20121008 io-performance20121008 io-performance
20121008 io-performance
 
Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12
 
OSMC 2010 | Merlin - status quo by Wolfgang Barth
OSMC 2010 | Merlin - status quo by Wolfgang BarthOSMC 2010 | Merlin - status quo by Wolfgang Barth
OSMC 2010 | Merlin - status quo by Wolfgang Barth
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
Datenbank-Hausputz für Einsteiger
Datenbank-Hausputz für EinsteigerDatenbank-Hausputz für Einsteiger
Datenbank-Hausputz für Einsteiger
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)Ausgewählte PL/SQL Packages (1)
Ausgewählte PL/SQL Packages (1)
 
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von M...
 
Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020Our way to 19c - DOAG 2020
Our way to 19c - DOAG 2020
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
Optimizing SQL Server 2012 Deep dive for SharePoint 2013 Lars Platzdasch SQL ...
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 

Mehr von FromDual GmbH

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...FromDual GmbH
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?FromDual GmbH
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopFromDual GmbH
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New FeaturesFromDual GmbH
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaFromDual GmbH
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015FromDual GmbH
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprintsFromDual GmbH
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLFromDual GmbH
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterFromDual GmbH
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014FromDual GmbH
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexingFromDual GmbH
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 

Mehr von FromDual GmbH (17)

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New Features
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schema
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprints
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQL
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera Cluster
 
HA with Galera
HA with GaleraHA with Galera
HA with Galera
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexing
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 

MySQL - New Features 5.6

  • 1. www.fromdual.com MySQL New Features 5.6 DOAG Konferenz 2012, Nürnberg Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 20
  • 2. Über FromDual GmbH www.fromdual.com ● FromDual bietet neutral und unabhängig: ● Beratung für MySQL und Galera ● Support für MySQL und Galera ● Remote-DBA Dienstleistungen ● MySQL Schulungen ● Partner der Open Database Alliance (ODBA.org) ● Oracle Silver Partner (OPN) www.fromdual.com 2 / 20
  • 3. Inhalt www.fromdual.com MySQL 5.6 New Features ● InnoDB ● Replikation ● Partitionen ● Optimizer ● Performance Schema (P_S) ● Verschiedenes... 3 / 20
  • 4. NF 5.6 / InnoDB (1) www.fromdual.com ● Fulltext Indices auf InnoDB Tabellen: CREATE TABLE `test` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   `data` varchar(64) DEFAULT NULL,   PRIMARY KEY (`id`),   FULLTEXT KEY `data` (`data`) ) ENGINE=InnoDB; EXPLAIN SELECT * FROM test WHERE MATCH (data) AGAINST ('updated'); +­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­+­­­­­­­­­+­­­­­­+­­­­­­+­­­­­­­­­­­­­+ | id | select_type | table | type     | possible_keys | key  | key_len | ref  | rows | Extra       | +­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­+­­­­­­­­­+­­­­­­+­­­­­­+­­­­­­­­­­­­­+ |  1 | SIMPLE      | test  | fulltext | data          | data | 0       | NULL |    1 | Using where | +­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­+­­­­­­­­­­­­­­­+­­­­­­+­­­­­­­­­+­­­­­­+­­­­­­+­­­­­­­­­­­­­+ ● Sphinx und Solr/Lucene obsolet? ● MyISAM obsolet! 4 / 20
  • 5. NF 5.6 / InnoDB (2) www.fromdual.com ● Exportieren von Tablespaces: mysql> ALTER TABLE test DISCARD TABLESPACE; shell> scp test.ibd root@remote:/var/lib/mysql/test mysql> ALTER TABLE test IMPORT TABLESPACE; ● MyISAM definitiv obsolete! (Wer braucht GIS Indexes?) ● Neuer Default: innodb_file_per_table = on 5 / 20
  • 6. NF 5.6 / InnoDB (3) www.fromdual.com ● InnoDB INFORMATION_SCHEMA Tabellen ● INNODB_BUFFER_* ● INNODB_FT_* ● INNODB_METRICS ● INNODB_SYS_* SELECT name, subsystem, count, comment   FROM INFORMATION_SCHEMA.innodb_metrics WHERE name LIKE '%rseg%'; +­­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+ | name                  | subsystem   | count | comment                                | +­­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+ | trx_rseg_history_len  | transaction |   654 | Length of the TRX_RSEG_HISTORY list    | | trx_rseg_current_size | transaction |     0 | Current rollback segment size in pages | +­­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­+­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+ ● InnoDB Monitor ist jetzt überflüssig! 6 / 20
  • 7. NF 5.6 / InnoDB Performance www.fromdual.com ● Page Cleaner Thread (vorher im Master Thread) ● innodb_purge_threads kann jetzt > 1 sein ● Kernel Mutex aufgeteilt → verbesserte Concurrency ● Konkurrenzierendes Lesen währen Sekundäre Indexes gebaut werden ● Schnellere warm-up Phase: ● innodb_buffer_pool_dump_at_shutdown ● InnoDB REDO Log Grösse bis 512 Gbyte ● InnoDB Thread Scheduling besser bei > 16 Threads ● UNDO Log → Separater TS (random I/O → SSD!) ● Verbesserte Concurrency beim Erweitern von TS Files (innodb_file_per_table) 7 / 20
  • 8. NF 5.6 / InnoDB www.fromdual.com ● InnoDB und Optimizer: ● Persistente Optimizer Statistiken ● Steuerung des Statistik Sammelns (ex. Random Dives) SET GLOBAL innodb_analyze_is_persistent = 1; ANALYZE TABLE valuemaps; SELECT * FROM mysql.innodb_table_stats; +­­­­­­­­­­­­­­­+­­­­­­­­­­­­+­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­+ | database_name | table_name | n_rows | clustered_index_size | sum_of_other_index_sizes | +­­­­­­­­­­­­­­­+­­­­­­­­­­­­+­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­+ | zabbix        | valuemaps  |      7 |                    1 |                        1 | +­­­­­­­­­­­­­­­+­­­­­­­­­­­­+­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­+­­­­­­­­­­­­­­­­­­­­­­­­­­+ ● Deadlocks gehen jetzt ins Error Log ● innodb_print_all_deadlocks ● InnoDB Page Size kann jetzt sein: 16k, 8k, 4k (OLTP) ● innodb_page_size 8 / 20
  • 9. NF 5.6 / Replikation (1) www.fromdual.com ● Globally Unique Server ID cat $datadir/auto.cnf [auto] server-uuid=db731167-2b4c-11e1-928c-bcaec586ca65 ● Transaktions Basierte Replikation (TBR?) ● Global Transaction Identifiers (GTID) ● Keine M/S Inkonsistenzen mehr möglich (RBR)!?! ● Noch etwas wenig geschmeidig / komplizierter :-( 9 / 20
  • 10. NF 5.6 / Replikation (2) www.fromdual.com ● Crash safe Binary Logs ● Vollständige Events/Trx werden geloggt (Master und Slave) ● Event-Länge + CRC32 Checksumme ● Slave Log Tabellen: master.info und relay­ log.info zusätzlich in (MyISAM :-( ) Tabellen ● slave_master_info + slave_relay_log_info ● → Umwandeln in InnoDB! master­info­repository        = TABLE relay­log­info­repository     = TABLE 10 / 20
  • 11. NF 5.6 / Replikation (3) www.fromdual.com ● Row Image Control ● RBR ● Verringert: Plattenplatz, Netzwerk Ressourcen, Speicher binlog_row_image = {full | minimal | noblob} ● Delayed Replikation ● Früher mk­slave­delay (Maatkit) CHANGE MASTER TO MASTER_DELAY = n; 11 / 20
  • 12. NF 5.6 / Replikation (4) www.fromdual.com ● Parallele Event Ausführung (multi-Threaded Slave) ● slave_parallel_workers = <n> ● Parallelisieren pro Schema ● Gut für Hoster mit Traffic auf vielen Schemata! slave_parallel_workers = <n> ● Slave kann auf ein Netzwerk Interface gebunden werden: MASTER_BIND='eth1' 12 / 20
  • 13. NF 5.6 / Replikation (5) www.fromdual.com ● Remote Binary Log Shipping: mysqlbinlog ­­read­from­remote­server  ­­raw bin­log.000001 > bin­ log.000001.dup ● Timestamp in SHOW SLAVE STATUS: SHOW SLAVE STATUSG ... Last_IO_Error_Timestamp: 120130 16:59:12 Last_SQL_Error_Timestamp: 13 / 20
  • 14. NF 5.6 / Partitionen www.fromdual.com ● Explizite Wahl der Partition: SELECT *   FROM sales PARTITION (p2010, p2011)  WHERE sum < 100; → Achtung: Implizite WHERE Klausel! ● Austauschen von Partitionen mit Tabelle: ALTER TABLE sales_hist EXCHANGE PARTITION p2011 WITH TABLE sales; ● ETL, DWH 14 / 20
  • 15. NF 5.6 / Optimizer www.fromdual.com ● Query Execution Plan (QEP) für DML Statements! ● Optimizer Trace! ● Batched Key Access (BKA) → verbesserte JOIN Performance ● Multi-Range Read (MRR) → Optimierter Range Scan auf sekundären Indices ● Index Condition Pushdown (ICP) → WHERE wird in der Storage Engine ausgewertet ● Optimierung von Derived Tables (in FROM Klausel) → Materialsierung wird später ausgeführt und Index auf Derived Table erstellt ● ORDER BY auf nicht indexierte Spalten → sort_buffer Sort Merge Passes werden vermieden 15 / 20
  • 16. NF 5.6 / Performance Schema www.fromdual.com ● MySQL hat mit 5.5 das P_S eingeführt ● Die Idee dahinter: Miss alles! ● Hat Einfluss auf Gesamtperformance (5 – 10 %)! ● Neue Messpunkte in 5.6 für: ● Table read und write (row-level accesses) ● Stages und Statements (stage = State) ● Connections, Sockets ● Table Lock Wait Events ● Table und Index I/O Wait Events ● Filter nach ● Thread ● Objekt 16 / 20
  • 17. www.fromdual.com +------+------------------+-----------------+------------+-------------------+ | user | event_name | tmp_disk_tables | tmp_tables | sort_merge_passes | +------+------------------+-----------------+------------+-------------------+ | root | select | 0 | 1 | 0 | | root | show_databases | 0 | 4 | 0 | | root | show_tables | 0 | 20 | 0 | | root | show_fields | 2 | 2 | 0 | | root | show_variables | 0 | 91 | 0 | +------+------------------+-----------------+------------+-------------------+ +------------+------------+--------------+-------------+--------------+ | table_name | timer_read | timer_insert | timer_upate | timer_delete | +------------+------------+--------------+-------------+--------------+ | leads | 0.0259 | 0.0000 | 0.0000 | 0.0000 | | src | 1.8537 | 0.0000 | 0.0000 | 0.0000 | | test | 0.3186 | 2.0249 | 1.3156 | 0.0006 | +------------+------------+--------------+-------------+--------------+ 17 / 20
  • 18. NF 5.6 / Verschiedenes www.fromdual.com ● Bruchteile von Sekunden ● Bis Mikrosekunden (0.000001 s) ● GET DIAGNOSTICS ● Für Fehlersuche in Stored Programs ● Authentisierung über Plugin (Socket) ● Memcached Plug-in ● ... 18 / 20
  • 19. NF 5.6 / Zusammenfassung www.fromdual.com ● +400 Bugs gefixed! ● Code wurde aufgeräumt ● Und viele, viele weitere kleine Neuigkeiten... ● Achtung: Auch einige Inkompatibilitäten! → vor Upgrade gut testen! Wir helfen gerne... 19 / 20
  • 20. Q&A www.fromdual.com Fragen ? Diskussion? Wir haben Zeit für ein persönliches Gespräch... ● FromDual bietet neutral und unabhängig: ● MySQL Beratung ● Remote-DBA MySQL ● Support für MySQL und Galera ● MySQL Schulung www.fromdual.com/presentations 20 / 20