Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

MySQL 5.7: Focus on InnoDB

723 Aufrufe

Veröffentlicht am

With the new release of MySQL 5.7 there is a lot of news on InnoDB. Here is the deep dive. Some intro to InnoDB and the news about 5.7 release.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

MySQL 5.7: Focus on InnoDB

  1. 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |Tuesday, October 20, 2015 Oracle Confidential – Restricted MySQL 5.7 InnoDB Update Mario Beck MySQL EMEA Presales Manager 1
  2. 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Tuesday, October 20, 2015 Oracle Confidential – Restricted 2
  3. 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Intro Key parameters InnoDB 5.6 vs. 5.7 InnoDB ‘Always online’ GIS MySQL Enterprise Backup News From The Lab! 1 Tuesday, October 20, 2015 Oracle Confidential – Restricted 2 3 4 5 6 7
  4. 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Intro1 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  5. 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL within Oracle More Investment, More Innovation Dez 2009 May 2015 5 ... 20 Years MySQL … 10 Years InnoDB of Oracle Stewardship … 5 Years MySQL within Oracle  2x Engineering Staff  3x QA Staff  2x Support Staff
  6. 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL within Oracle More Investment, More Innovation Dez 2009 May 2015 6 ... 20 Years MySQL … 10 Years InnoDB of Oracle Stewardship … 5 Years MySQL within Oracle  2x Engineering Staff  3x QA Staff  2x Support Staff
  7. 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | InnoDB •Default Storage Engine since MySQL 5.5 (previous as ‘Oracle’) •ACID-compliant transactions, MVCC •Row-level locking •Two phase commit •Efficient indexing •Fast DDL operations •Table compression •Automatic crash recovery •Referential integrity •Online backup 7
  8. 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Key parameters2 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  9. 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_file_per_table • .ibd files • MySQL 5.5:Off, MySQL 5.6:On, MySQL 5.7:On • Easier to reclaim space • TRUNCATE for a table is faster • Can monitor table size on the file system • Can store specific tables on different storage devices • (5.6) Transportable tablespaces • What are you using when you’ve updated from older version? 9
  10. 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_flush_log_at_trx_commit • Performance vs. Durability • Redo logs : – innodb_flush_log_at_trx_commit = 1 // best durability (ACID Compliant), default – innodb_flush_log_at_trx_commit = 2 // better performance (not ACID Compliant) – innodb_flush_log_at_trx_commit = 0 // best performance (not ACID Compliant) • Linux only : – innodb_flush_method = O_DIRECT // skips the FS cache 10 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
  11. 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innoDB buffer pool • Global • Caches data and indexes • innodb_buffer_pool_size – 60 – 80% of the total RAM – Not too large: OS should never swap ! – Active data <= innodb_buffer_pool_size <= 0.8 * RAM • Use read only transactions 11
  12. 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_log_file_size • Size of file on disk • Larger the file, the less checkpoint activity • Size for each log file • Max combined log file size – MySQL 5.5 <4G – MySQL 5.6 & MySQL 5.7 = 512G (!!!) – innodb_log_file_size = 256M / 512M / 1G (‘often’ 32M default) • Larger the log file ➯ longer recovery time 12
  13. 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Tip! • Especially for HDD, read and write, use dedicated partitions • Separate : – datadir – innodb_data_file_path – innodb_undo_directory – innodb_log_group_home_dir – log-bin – tmpdir – backups Random, SSD Sequential, spinning Random, SSD, tmpfs (NFS, ButterFS, ZFS …)
  14. 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | InnoDB 5.6 vs. 5.73 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  15. 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Scaling with InnoDB, 5.6 (up to 48 CPUs*) vs. 5.7 (beyond 72 CPUs*) * CPU Cores-HT 0 100.000 200.000 300.000 400.000 500.000 600.000 700.000 18 36 72 QueriesperSecond CPU Cores – HT MySQL 5.7: Sysbench – OLTP Read Write MySQL 5.7 MySQL 5.6 MySQL 5.5 Intel(R) Xeon(R) CPU E7-8890 v3 4 sockets x 18 cores-HT (144 CPU threads) 2.5 Ghz, 512GB RAM Linux kernel 3.16 MySQL 5.7 Sysbench Benchmark
  16. 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |  Key-value access to InnoDB - Bypasses SQL Parsing  SQL for rich queries, JOINs, FKs, etc.  Implemented via: - Memcached plug-in to mysqld - Memcached mapped to native InnoDB API - Use existing Memcached clients - Shared process for ultra-low latency MySQL 5.6 – InnoDB, NoSQL With Memcached More Flexibility - Memcached API
  17. 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Improved: MySQL 5.7: InnoDB, NoSQL With Memcached MySQL 5.7 is 6x faster than MySQL 5.6 0 200.000 400.000 600.000 800.000 1.000.000 1.200.000 8 16 32 64 128 256 512 1.024 QueriesperSecond Connections MySQL 5.7 vs 5.6 - InnoDB & Memcached MySQL 5.7 MySQL 5.6 1 Million QPS 18 Intel(R) Xeon(R) CPU E7-4860 x86_64 4 sockets x 10 cores-HT (80 CPU threads) 2.3 GHz, 512 GB RAM Oracle Linux 6.5
  18. 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | InnoDB Full-Text Index support • MySQL 5.6 – InnoDB Full-Text Index support • Fully ACID compliant, MVCC search • With performance improvements over MyISAM • Easily customizable stop-word lists • MySQL 5.7 – (Significant) better Performance – Pluggable Full-Text Parser support – CJK Support • N-gram parser for Chinese, Japanese, and Korean • MeCab parser for Japanese 19
  19. 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | What is it? • Search entire documents – Character based fields • VARCHAR, TEXT, BLOB • For a search string – Combinations of words – Phrases: “specific string to match” – Wildcards: * – Requirements: +, -, ~ – Expressions: (…) – Relevancy weight characters: <, > 20
  20. 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Example 21
  21. 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | InnoDB ‘Always online’4 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  22. 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: InnoDB – Always Online • Resize the InnoDB Buffer Pool online – Allows DBAs to tune the buffer size without any downtime – Adapt in real-time to changes in database usage patterns • Separate UNDO tablespace – With automatic online truncation • Additional Online ALTER TABLE support – Enlarge / instant change VARCHAR, Rename / instant Index • Dynamic configuration – Making existing settings dynamically configurable – As a design principle for new features & settings 23
  23. 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: InnoDB – Example • Resize the InnoDB Buffer Pool online – Allows DBAs to tune the buffer size without any downtime – Increase or decrease online, Operation is performed in chunks (default 128MB) – Assign memory to MySQL/Apps during runtime 24
  24. 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Native Partitioning – Eliminates previous limitations – Eliminates resource usage problems – Transportable tablespace support • Native Spatial Indexes • Transparent page compression • Support for 32K and 64K pages – Use with transparent page compression for very high compression ratios • General TABLESPACE support – Store multiple tables in user defined shared tablespaces • Improved support for cache preloading – Load your hottest data loaded at startup • Configurable fill-factor – Allows for improvements in storage footprint • Improved bulk-data load performance MySQL 5.7: InnoDB Improvements 25
  25. 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: InnoDB Improvements • Enhanced FusionIO integration – Doublewrite buffer disabled when NVMFS/DirectFS detected • Parallel “dirty page” flushing – Higher throughput, performance, and scalability • Partitions support for Transportable Tablespaces (TTS) – TTS support for individual partitions • Improved crash recovery to ensure data safety 26
  26. 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: InnoDB Compression • Transparent Page Level Compression – Happens transparently in background threads – Managed entirely within the IO layer – Uses sparse file and "hole punching" support in OS kernels and File Systems • Reduces IO – Improves MySQL performance – Improves storage efficiency – Reduces write cycles, thus increasing SSD lifespan • Applies to all InnoDB data, including the system tablespace and UNDO logs 28
  27. 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7: InnoDB Temp Tables • New separate tablespace for temporary tables – Improved CREATE/DROP performance – DDL changes are transient, which eliminates some disk IO • Optimize DML operations – No REDO logging, no change buffering, less locking • New intrinsic temporary tables – Specialized temporary tables with tailored ACID/MVCC semantics – Light weight and ultra-fast, great for intermediate query execution operations • InnoDB as additional storage engine for temp tables – Switch optimizer from MyISAM to InnoDB (faster) for internal temp tables 29
  28. 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | GIS5 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  29. 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL 5.7 : GIS Reborn • Dev scrapped much of the old algorithms and related code … – Replacing it with the FOSS Boost.Geometry library (1.58) • …and rounded out our OGC spatial function support – Standardized the namespace • Added native GEOMETRY data type support to InnoDB – We then added SPATIAL INDEX support to InnoDB (using R-tree) • Added Geohash and GeoJSON support • Added helper functions: ST_Distance_Sphere(), ST_MakeEnvelope(), ST_IsValid(), ST_Validate(), ST_Simplify, … 31
  30. 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Spatial Indexes for InnoDB • R-tree based – Full transactional support – Predicate locking to prevent phantoms – Records contain minimum bounding box • Small and compact – Currently only supports 2D data • We would like to add 3D support in the future – Supports historical spatial index DDL syntax 32
  31. 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Replaced custom code – For spatial calculations – For spatial analysis • Provides OGC compliance – With improved performance • Boost.Geometry contains – Field and domain experts – Bustling and robust communit MySQL 5.7: GIS - Integrating Boost.Geometry 34
  32. 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Backup6 Tuesday, October 20, 2015 Oracle Confidential – Restricted MySQL Enterprise Backup now writes tape information
  33. 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Backup 4.0 • Online, non-locking backup and recovery – Complete MySQL instance backup (data and config) – Partial backup and restore • Direct Cloud storage backups via Swift API • Incremental backups & Point-in-time recovery • Advanced compressed and encryption • InnoDB tables with page sizes of 32 and 64K can be backed up and restored. • Optimistic backups • Support for MySQL 5.7 – General Tablespaces New & Improved 37
  34. 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | News From The Lab!7 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  35. 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication Plugin Tuesday, October 20, 2015 M M M M M Replication Group • Multi-master update everywhere • Automatic group membership management and failure detection. • No need for server fail-over. • Automatic reconfiguration. • No single point of failure. • Shared-nothing state machine replication. • InnoDB compliant. Off-the-shelf hardware friendly. Oracle Confidential – Restricted 40
  36. 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication Plugin • Great technology for deployments where elasticity is a requirement, such as cloud based infrastructures. – Integrated with the server core through a well defined API. – It is integrated with GTIDs, row based replication. – It is integrated with performance schema tables. – It is elastic and self-healing: adding or removing servers does not need human intervention. Tuesday, October 20, 2015 Oracle Confidential – Restricted 41
  37. 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Strong development cycles and continuous community engagement through regular and frequent releases on labs.mysql.com. MySQL Group Replication Tuesday, October 20, 2015 Oracle Confidential – Restricted 42 2014-Sep-29 Labs release: 0.2.0 2015-Apr-06 Labs release: 0.3.0 2014-Aug-06 Labs release: 0.4.0 2015-Sep-14 Labs release: 0.5.0 Introduces standalone plugin, with its own release cycle!
  38. 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Dependable and Scalable MySQL Tuesday, October 20, 2015 Oracle Confidential – Restricted 43 Global Data Shard 1 Shard 2 MySQL Fabric Controller SQL Queries Server/Shard State & Mapping Global Group HA Group Coordination and Control HA Group Group Replication cluster Group Replication cluster Group Replication cluster MySQL Router

×