SlideShare a Scribd company logo
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
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
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
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Intro1
Tuesday, October 20, 2015 Oracle Confidential – Restricted
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
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
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
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Key parameters2
Tuesday, October 20, 2015 Oracle Confidential – Restricted
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
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
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
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
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 …)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
InnoDB 5.6 vs. 5.73
Tuesday, October 20, 2015 Oracle Confidential – Restricted
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
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
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
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
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
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Example
21
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
InnoDB ‘Always online’4
Tuesday, October 20, 2015 Oracle Confidential – Restricted
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
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
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
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
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
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
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
GIS5
Tuesday, October 20, 2015 Oracle Confidential – Restricted
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
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
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
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
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
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
News From The Lab!7
Tuesday, October 20, 2015 Oracle Confidential – Restricted
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
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
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!
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
MySQL 5.7: Focus on InnoDB

More Related Content

PDF
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
PDF
MySQL for Software-as-a-Service (SaaS)
PDF
MySQL 5.7: What's New, Nov. 2015
PDF
MySQL 5.7 Replication News
PPTX
MySQL Tech Tour 2015 - 5.7 InnoDB
PDF
Upcoming changes in MySQL 5.7
PPTX
MySQL Tech Tour 2015 - 5.7 Whats new
PDF
MySQL InnoDB Cluster and NDB Cluster
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL for Software-as-a-Service (SaaS)
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7 Replication News
MySQL Tech Tour 2015 - 5.7 InnoDB
Upcoming changes in MySQL 5.7
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL InnoDB Cluster and NDB Cluster

What's hot (20)

PDF
MySQL Performance Metrics that Matter
PDF
NoSQL and MySQL: News about JSON
PPTX
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
ODP
MySQL Enterprise Portfolio
PDF
MySQL Cloud Service Deep Dive
PDF
InnoDB Tablespace Encryption
PDF
My sql5.7 whatsnew_presentedatgids2015
PDF
My sql crashcourse_intro_kdl
PDF
20171104 hk-py con-mysql-documentstore_v1
PDF
Conference slides: MySQL Cluster Performance Tuning
PDF
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
PDF
MySQL Day Paris 2016 - State Of The Dolphin
PDF
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
ODP
MySQL Cluster
PDF
Why MySQL High Availability Matters
PDF
My sql 56_roadmap_april2012
PPT
MySQL Cluster Basics
PDF
MySQL 5.7 - What's new, How to upgrade and Document Store
PDF
My sql susecon_crashcourse_2012
PDF
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
MySQL Performance Metrics that Matter
NoSQL and MySQL: News about JSON
2015: Whats New in MySQL 5.7, At Oracle Open World, November 3rd, 2015
MySQL Enterprise Portfolio
MySQL Cloud Service Deep Dive
InnoDB Tablespace Encryption
My sql5.7 whatsnew_presentedatgids2015
My sql crashcourse_intro_kdl
20171104 hk-py con-mysql-documentstore_v1
Conference slides: MySQL Cluster Performance Tuning
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL Day Paris 2016 - State Of The Dolphin
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
MySQL Cluster
Why MySQL High Availability Matters
My sql 56_roadmap_april2012
MySQL Cluster Basics
MySQL 5.7 - What's new, How to upgrade and Document Store
My sql susecon_crashcourse_2012
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
Ad

Viewers also liked (20)

PDF
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
PDF
Requirements the Last Bottleneck
ODP
Mysql For Developers
PDF
MySQL High Availability Solutions
PDF
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
PDF
Inno db internals innodb file formats and source code structure
PPT
淘宝数据库架构演进历程
PDF
Advanced Percona XtraDB Cluster in a nutshell... la suite
PDF
MySQL Group Replication
PDF
What you wanted to know about MySQL, but could not find using inernal instrum...
PDF
Java MySQL Connector & Connection Pool Features & Optimization
PDF
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
PDF
ODP
Mastering InnoDB Diagnostics
PDF
MySQL Backup and Recovery Essentials
PPTX
Hbase源码初探
PDF
Everything You Need to Know About MySQL Group Replication
PDF
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
PDF
SQL Outer Joins for Fun and Profit
PDF
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Requirements the Last Bottleneck
Mysql For Developers
MySQL High Availability Solutions
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
Inno db internals innodb file formats and source code structure
淘宝数据库架构演进历程
Advanced Percona XtraDB Cluster in a nutshell... la suite
MySQL Group Replication
What you wanted to know about MySQL, but could not find using inernal instrum...
Java MySQL Connector & Connection Pool Features & Optimization
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
Mastering InnoDB Diagnostics
MySQL Backup and Recovery Essentials
Hbase源码初探
Everything You Need to Know About MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
SQL Outer Joins for Fun and Profit
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
Ad

Similar to MySQL 5.7: Focus on InnoDB (20)

PDF
TWJUG August, What's new in MySQL 5.7 RC
PDF
What's New in MySQL 5.7
PDF
MySQL 5.6, news in 5.7 and our HA options
PDF
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
PDF
Mysql User Camp : 20th June - Mysql New Features
PDF
MySQL 5.7 what's new
PDF
MySQL 5.6 - Operations and Diagnostics Improvements
PPT
State of the Dolphin, at db tech showcase Osaka 2014
PDF
MySQL Manchester TT - 5.7 Whats new
PPT
My sql vivo_5.5_product_update_pt
PDF
MySQL :What's New #GIDS16
PDF
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
PDF
제3회난공불락 오픈소스 인프라세미나 - MySQL
PDF
My sql indo_comm
PDF
My sql 5.6&MySQL Cluster 7.3
PDF
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
PDF
MySQL 5.7 -- SCaLE Feb 2014
PDF
What's new in MySQL 5.5?
PDF
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
PDF
MySQL 5.5&5.6 new features summary
TWJUG August, What's new in MySQL 5.7 RC
What's New in MySQL 5.7
MySQL 5.6, news in 5.7 and our HA options
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20th June - Mysql New Features
MySQL 5.7 what's new
MySQL 5.6 - Operations and Diagnostics Improvements
State of the Dolphin, at db tech showcase Osaka 2014
MySQL Manchester TT - 5.7 Whats new
My sql vivo_5.5_product_update_pt
MySQL :What's New #GIDS16
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
제3회난공불락 오픈소스 인프라세미나 - MySQL
My sql indo_comm
My sql 5.6&MySQL Cluster 7.3
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
MySQL 5.7 -- SCaLE Feb 2014
What's new in MySQL 5.5?
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
MySQL 5.5&5.6 new features summary

More from Mario Beck (12)

PDF
MySQL Enterprise Edition Overview
PDF
MySQL Cloud Service
PDF
Oracle Enterprise Manager for MySQL
PDF
MySQL Enterprise Backup
PDF
MySQL Document Store
PDF
MySQL 5.7: Focus on Replication
PDF
MySQL Security
PDF
MySQL for Oracle DBAs
PDF
MySQL Cluster
PDF
MySQL Community and Commercial Edition
PDF
MySQL's Performance Schema, SYS Schema and Workbench Integration
PDF
MySQL Enterprise Monitor
MySQL Enterprise Edition Overview
MySQL Cloud Service
Oracle Enterprise Manager for MySQL
MySQL Enterprise Backup
MySQL Document Store
MySQL 5.7: Focus on Replication
MySQL Security
MySQL for Oracle DBAs
MySQL Cluster
MySQL Community and Commercial Edition
MySQL's Performance Schema, SYS Schema and Workbench Integration
MySQL Enterprise Monitor

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
Teaching material agriculture food technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
A Presentation on Artificial Intelligence
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
Digital-Transformation-Roadmap-for-Companies.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Teaching material agriculture food technology
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
A Presentation on Artificial Intelligence
Chapter 3 Spatial Domain Image Processing.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity

MySQL 5.7: Focus on InnoDB

  • 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. 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. 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. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Intro1 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 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. 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. 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. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Key parameters2 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 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. 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. 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. 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. 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. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | InnoDB 5.6 vs. 5.73 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 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. 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. 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. 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. 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. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Example 21
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | InnoDB ‘Always online’4 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 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. 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. 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. 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. 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. 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. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | GIS5 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 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. 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. 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. 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. 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. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | News From The Lab!7 Tuesday, October 20, 2015 Oracle Confidential – Restricted
  • 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. 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. 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. 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