SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
<Insert Picture Here>

Upcoming Changes in MySQL 5.7

Morgan Tocker, MySQL Community Manager

http://www.tocker.ca/

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.
Almost 4 Years of MySQL Innovation
MySQL Cluster 7.3

MySQL Migration Wizard

MySQL Workbench 6.0

MySQL 5.6

MySQL 5.5

Windows installer & Tools MySQL 5.7 M y S Q L
Cluster
MySQL
MySQL Enterprise Monitor 2.3 & e r
M a n a g 3.0
Applier for
Hadoop

MySQL Enterprise Backup
Security
MySQL Utilities
MySQL Workbench 5.2 & 6.0
Scalability
MySQL Cluster 7.2
HA
MySQL Enterprise
MySQL Cluster 7.1
O r a c l e C e r t i f i c a t i o n s Audit
MySQL 5.7
• Absolutely amazing things are coming!
• Performance Improvements with InnoDB.
• MDL, Transactions and memory instrumentation
with Performance Schema.
• Many more…
• New features won’t be the focus of this talk.
MySQL 5.7 (cont.)
• Oracle is committed to MySQL’s long term success.
• MySQL 5.7 also cleans up and improves the overall
server architecture.
MySQL 5.7 (cont.)
• Breakage is painful.
• It is important to:
• be as careful as possible
• provide as much notice as possible.
• communicate why change is required.
steer
______ ^
Ways to coerce users in the right
direction
1. Change the default to use desired behaviour.
2. Issue warning about feature deprecation.
3. Remove feature.



Situation dependent.

MySQL 5.7 employs all 3 techniques.
“Deprecation is a status applied to a
computer software feature, characteristic, or
practice indicating it should be avoided,
typically because it is being superseded.”
http://en.wikipedia.org/wiki/Deprecation
Deprecation
• Will understandably upset users.
• However, it is not the same as removal.
• Good stewardship to define an “officially supported
method” when >1 exist.
The Main Event
• These are the potential changes we have asked for
feedback on. All appear at:

http://www.tocker.ca/categories/community/
!
• Very important! Being listed here does not
guarantee any change will be made.
Changes to Replication Defaults
• MySQL 5.6 improved durable replication
performance considerably (group commit fix)
• Proposal is to make replication durable by default
starting from 5.7:
• sync_binlog = 1
• master-info-repository = TABLE
• relay-log-info-repository = TABLE
SHOW ENGINE INNODB MUTEX
mysql> show engine innodb mutex;

+--------+----------------------------+-------------------+

| Type
| Name
| Status
|

+--------+----------------------------+-------------------+

| InnoDB | log/log0log.c:775
| os_waits=26
|

| InnoDB | log/log0log.c:771
| os_waits=1
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=3219
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=6990
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=4619
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=5627
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=7873
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=4466
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=16929
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=19305
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=16301962 |

| InnoDB | buf/buf0buf.c:1208
| os_waits=11649
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=950471
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=6545
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=4262
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=5642
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=7878
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=387166
|

| InnoDB | fil/fil0fil.c:1559
| os_waits=1265
|

| InnoDB | srv/srv0srv.c:987
| os_waits=460452
|

| InnoDB | combined buf/buf0buf.c:900 | os_waits=38503
|

| InnoDB | log/log0log.c:832
| os_waits=184
|

| InnoDB | combined buf/buf0buf.c:901 | os_waits=77
|

+--------+----------------------------+-------------------+

23 rows in set (0.56 sec)
SHOW ENGINE INNODB MUTEX (cont.)
• Overlaps with Performance Schema.
• Proposal in MySQL 5.7:
• To be deprecated.
• We want to be able to ‘pick a favourite’ in order to
keep user experience consistent.
InnoDB Monitor tables
• Existed in a time when information_schema did not.
Usage was:
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;

/* view to the error log */

DROP TABLE innodb_monitor;
InnoDB Monitor tables (cont.)
• 5.7 Proposal:
• innodb_monitor. To be replaced with SET GLOBAL
innodb_monitor=ON|OFF.
• innodb_lock_monitor. To be replaced with SET GLOBAL
innodb_lock_monitor=ON|OFF.
• innodb_tablespace_monitor. To be removed.
information_schema will become the recommended
alternative.
• innodb_table_monitor. To be removed. information_schema
will become the recommended alternative.
• innodb_mem_validate. To be removed. This depends on
UNIV_MEM_DEBUG, which is not normally enabled even in
debug builds.
ALTER IGNORE TABLE
• Useful for adding PRIMARY/UNIQUE keys on tables
with duplicate keys.
• Will silently drop rows for you!
• Has strange semantics for replication and ALTER
TABLE.
ALTER IGNORE TABLE (cont.)
• Proposal went ahead already:
• Deprecated in 5.6.17.
• Removed in 5.7 DMR4
Simplify SQL_MODE options
• Proposal is to reduce the number of mode options
available.
• Aim is to increase usage of SQL_MODE options,
encourage more users to run MySQL in a stricter
way.
Simplify SQL_MODE options (cont.)
• Current recommendation:

sql-mode=“STRICT_TRANS_TABLES,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_AUTO_VALUE_ON_ZERO,
NO_ENGINE_SUBSTITUTION, NO_ZERO_DATE,
NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"
Simplify SQL_MODE options (cont.)
• 5.7 Proposal:
• Remove the options
ERROR_FOR_DIVISION_BY_ZERO,
NO_ZERO_DATE and NO_ZERO_IN_DATE.
• These behaviours be enabled by
STRICT_TRANS_TABLES or
STRICT_ALL_TABLES.
• Improve error reporting when a behaviour is
influenced by an SQL mode.
EXPLAIN PARTITIONS and EXPLAIN
EXTENDED deprecation
• Motivated by Internal Code Cleanup
• Two optional flags that only add value - no reason
other than automated tooling format preferences not
to enable them.
EXPLAIN PARTITIONS and EXPLAIN
EXTENDED deprecation (cont.)
• Proposal:
• Enables two flags by default, and deprecates the use
of the extended syntax.
• Went ahead in 5.7 DMR3.
Query Cache
• Defaults to DISABLED in 5.6.
• We have “ideas but not plans” for future
improvements.
Deprecation of NULL synonym N
mysql> SELECT NULL is N;

+------------+

| NULL is N |

+------------+

|
1 |

+------------+

1 row in set (0.00 sec)






mysql> INSERT INTO tablea VALUES (3, N);

Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM tablea WHERE b IS N;

+---+------+

| a | b
|

+---+------+

| 3 | NULL |

+---+------+

1 row in set (0.00 sec)
Deprecation of NULL synonym N
(cont.)
• Proposal:
• For removal in either 5.7 or 5.8.
• Still seeking feedback.
Federated Storage Engine
• Users encouraged to use Multi-source replication
over Federated Storage Engine.
• We are seeking feedback for use cases for
Federated.
MyISAM Merge
• Similar to Partitioning but MyISAM Only.
• Does not offer partition pruning.
• Major limitation was partition exchange - introduced
in 5.6.
• Will blog seeking remaining use cases for MERGE
storage engine very soon.
Last Comment
• All of these items have been blogged about here:

http://www.tocker.ca/categories/community/
<Insert Picture Here>

Mais conteúdo relacionado

Mais procurados

MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server Changes
Morgan Tocker
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
Morgan Tocker
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qc
Anis Berejeb
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
Morgan Tocker
 
Performance Tuning Best Practices
Performance Tuning Best PracticesPerformance Tuning Best Practices
Performance Tuning Best Practices
webhostingguy
 

Mais procurados (20)

MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
 
MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server Changes
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 
Understanding MySql locking issues
Understanding MySql locking issuesUnderstanding MySql locking issues
Understanding MySql locking issues
 
MySQL 5.7 + JSON
MySQL 5.7 + JSONMySQL 5.7 + JSON
MySQL 5.7 + JSON
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qc
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
MySQL Tuning
MySQL TuningMySQL Tuning
MySQL Tuning
 
Performance Tuning Best Practices
Performance Tuning Best PracticesPerformance Tuning Best Practices
Performance Tuning Best Practices
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 

Destaque

HPC Midlands - Update for Bull eXtreme Computing User Group 2012 meeting
HPC Midlands - Update for Bull eXtreme Computing User Group 2012 meetingHPC Midlands - Update for Bull eXtreme Computing User Group 2012 meeting
HPC Midlands - Update for Bull eXtreme Computing User Group 2012 meeting
Martin Hamilton
 
Trent_SIF_Proposal_FINAL_9May2016
Trent_SIF_Proposal_FINAL_9May2016Trent_SIF_Proposal_FINAL_9May2016
Trent_SIF_Proposal_FINAL_9May2016
Maya Chaddah
 
Coordinating Metadata Replication: Survival Strategy for Distributed Systems
Coordinating Metadata Replication: Survival Strategy for Distributed SystemsCoordinating Metadata Replication: Survival Strategy for Distributed Systems
Coordinating Metadata Replication: Survival Strategy for Distributed Systems
Konstantin V. Shvachko
 
Business plan presentation-vtk
Business plan presentation-vtkBusiness plan presentation-vtk
Business plan presentation-vtk
Matt Moore
 
Fifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 MinutesFifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 Minutes
glassfish
 
Introducing Apple Watch
Introducing Apple WatchIntroducing Apple Watch
Introducing Apple Watch
JJ Wu
 

Destaque (11)

HPC Midlands - Update for Bull eXtreme Computing User Group 2012 meeting
HPC Midlands - Update for Bull eXtreme Computing User Group 2012 meetingHPC Midlands - Update for Bull eXtreme Computing User Group 2012 meeting
HPC Midlands - Update for Bull eXtreme Computing User Group 2012 meeting
 
Trent_SIF_Proposal_FINAL_9May2016
Trent_SIF_Proposal_FINAL_9May2016Trent_SIF_Proposal_FINAL_9May2016
Trent_SIF_Proposal_FINAL_9May2016
 
Clustering strategy (1)
Clustering strategy (1)Clustering strategy (1)
Clustering strategy (1)
 
Clustering general-presentation (Project Cyprus Part III)
Clustering general-presentation (Project Cyprus Part III)Clustering general-presentation (Project Cyprus Part III)
Clustering general-presentation (Project Cyprus Part III)
 
Coordinating Metadata Replication: Survival Strategy for Distributed Systems
Coordinating Metadata Replication: Survival Strategy for Distributed SystemsCoordinating Metadata Replication: Survival Strategy for Distributed Systems
Coordinating Metadata Replication: Survival Strategy for Distributed Systems
 
Tran Minh: big data platform in high performance computing at NISCI
Tran Minh: big data platform in high performance computing at NISCITran Minh: big data platform in high performance computing at NISCI
Tran Minh: big data platform in high performance computing at NISCI
 
Business plan presentation-vtk
Business plan presentation-vtkBusiness plan presentation-vtk
Business plan presentation-vtk
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
Fifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 MinutesFifty Features of Java EE 7 in 50 Minutes
Fifty Features of Java EE 7 in 50 Minutes
 
Introducing Apple Watch
Introducing Apple WatchIntroducing Apple Watch
Introducing Apple Watch
 

Semelhante a Mysql 57-upcoming-changes

MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
Dave Stokes
 

Semelhante a Mysql 57-upcoming-changes (20)

MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
 
Performance schema and sys schema
Performance schema and sys schemaPerformance schema and sys schema
Performance schema and sys schema
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
 
6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning6 Tips to MySQL Performance Tuning
6 Tips to MySQL Performance Tuning
 
The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS Schema
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0
 
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL
 
PHP Detroit -- MySQL 8 A New Beginning (updated presentation)
PHP Detroit -- MySQL 8 A New Beginning (updated presentation)PHP Detroit -- MySQL 8 A New Beginning (updated presentation)
PHP Detroit -- MySQL 8 A New Beginning (updated presentation)
 
DATABASE AUTOMATION with Thousands of database, monitoring and backup
DATABASE AUTOMATION with Thousands of database, monitoring and backupDATABASE AUTOMATION with Thousands of database, monitoring and backup
DATABASE AUTOMATION with Thousands of database, monitoring and backup
 
Disaster Recovery Site Implementation with MySQL
Disaster Recovery Site Implementation with MySQLDisaster Recovery Site Implementation with MySQL
Disaster Recovery Site Implementation with MySQL
 
MySQL 8.0 Featured for Developers
MySQL 8.0 Featured for DevelopersMySQL 8.0 Featured for Developers
MySQL 8.0 Featured for Developers
 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
 
Perf Tuning Short
Perf Tuning ShortPerf Tuning Short
Perf Tuning Short
 
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
제3회난공불락 오픈소스 인프라세미나 - MySQL Performance
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
 
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
 

Mais de Morgan Tocker (10)

Introducing Spirit - Online Schema Change
Introducing Spirit - Online Schema ChangeIntroducing Spirit - Online Schema Change
Introducing Spirit - Online Schema Change
 
MySQL Usability Guidelines
MySQL Usability GuidelinesMySQL Usability Guidelines
MySQL Usability Guidelines
 
My First 90 days with Vitess
My First 90 days with VitessMy First 90 days with Vitess
My First 90 days with Vitess
 
FOSDEM MySQL and Friends Devroom
FOSDEM MySQL and Friends DevroomFOSDEM MySQL and Friends Devroom
FOSDEM MySQL and Friends Devroom
 
Introducing TiDB - Percona Live Frankfurt
Introducing TiDB - Percona Live FrankfurtIntroducing TiDB - Percona Live Frankfurt
Introducing TiDB - Percona Live Frankfurt
 
TiDB Introduction - Boston MySQL Meetup Group
TiDB Introduction - Boston MySQL Meetup GroupTiDB Introduction - Boston MySQL Meetup Group
TiDB Introduction - Boston MySQL Meetup Group
 
TiDB Introduction - San Francisco MySQL Meetup
TiDB Introduction - San Francisco MySQL MeetupTiDB Introduction - San Francisco MySQL Meetup
TiDB Introduction - San Francisco MySQL Meetup
 
TiDB Introduction
TiDB IntroductionTiDB Introduction
TiDB Introduction
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer Guide
 
Locking and Concurrency Control
Locking and Concurrency ControlLocking and Concurrency Control
Locking and Concurrency Control
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Mysql 57-upcoming-changes

  • 1. <Insert Picture Here> Upcoming Changes in MySQL 5.7
 Morgan Tocker, MySQL Community Manager
 http://www.tocker.ca/

  • 2. 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.
  • 3. Almost 4 Years of MySQL Innovation MySQL Cluster 7.3 MySQL Migration Wizard MySQL Workbench 6.0 MySQL 5.6 MySQL 5.5 Windows installer & Tools MySQL 5.7 M y S Q L Cluster MySQL MySQL Enterprise Monitor 2.3 & e r M a n a g 3.0 Applier for Hadoop MySQL Enterprise Backup Security MySQL Utilities MySQL Workbench 5.2 & 6.0 Scalability MySQL Cluster 7.2 HA MySQL Enterprise MySQL Cluster 7.1 O r a c l e C e r t i f i c a t i o n s Audit
  • 4. MySQL 5.7 • Absolutely amazing things are coming! • Performance Improvements with InnoDB. • MDL, Transactions and memory instrumentation with Performance Schema. • Many more… • New features won’t be the focus of this talk.
  • 5. MySQL 5.7 (cont.) • Oracle is committed to MySQL’s long term success. • MySQL 5.7 also cleans up and improves the overall server architecture.
  • 6. MySQL 5.7 (cont.) • Breakage is painful. • It is important to: • be as careful as possible • provide as much notice as possible. • communicate why change is required.
  • 7. steer ______ ^ Ways to coerce users in the right direction 1. Change the default to use desired behaviour. 2. Issue warning about feature deprecation. 3. Remove feature.
 
 Situation dependent.
 MySQL 5.7 employs all 3 techniques.
  • 8. “Deprecation is a status applied to a computer software feature, characteristic, or practice indicating it should be avoided, typically because it is being superseded.” http://en.wikipedia.org/wiki/Deprecation
  • 9. Deprecation • Will understandably upset users. • However, it is not the same as removal. • Good stewardship to define an “officially supported method” when >1 exist.
  • 10. The Main Event • These are the potential changes we have asked for feedback on. All appear at:
 http://www.tocker.ca/categories/community/ ! • Very important! Being listed here does not guarantee any change will be made.
  • 11. Changes to Replication Defaults • MySQL 5.6 improved durable replication performance considerably (group commit fix) • Proposal is to make replication durable by default starting from 5.7: • sync_binlog = 1 • master-info-repository = TABLE • relay-log-info-repository = TABLE
  • 12. SHOW ENGINE INNODB MUTEX mysql> show engine innodb mutex;
 +--------+----------------------------+-------------------+
 | Type | Name | Status |
 +--------+----------------------------+-------------------+
 | InnoDB | log/log0log.c:775 | os_waits=26 |
 | InnoDB | log/log0log.c:771 | os_waits=1 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=3219 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=6990 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=4619 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=5627 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=7873 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=4466 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=16929 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=19305 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=16301962 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=11649 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=950471 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=6545 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=4262 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=5642 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=7878 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=387166 |
 | InnoDB | fil/fil0fil.c:1559 | os_waits=1265 |
 | InnoDB | srv/srv0srv.c:987 | os_waits=460452 |
 | InnoDB | combined buf/buf0buf.c:900 | os_waits=38503 |
 | InnoDB | log/log0log.c:832 | os_waits=184 |
 | InnoDB | combined buf/buf0buf.c:901 | os_waits=77 |
 +--------+----------------------------+-------------------+
 23 rows in set (0.56 sec)
  • 13. SHOW ENGINE INNODB MUTEX (cont.) • Overlaps with Performance Schema. • Proposal in MySQL 5.7: • To be deprecated. • We want to be able to ‘pick a favourite’ in order to keep user experience consistent.
  • 14. InnoDB Monitor tables • Existed in a time when information_schema did not. Usage was: CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
 /* view to the error log */
 DROP TABLE innodb_monitor;
  • 15. InnoDB Monitor tables (cont.) • 5.7 Proposal: • innodb_monitor. To be replaced with SET GLOBAL innodb_monitor=ON|OFF. • innodb_lock_monitor. To be replaced with SET GLOBAL innodb_lock_monitor=ON|OFF. • innodb_tablespace_monitor. To be removed. information_schema will become the recommended alternative. • innodb_table_monitor. To be removed. information_schema will become the recommended alternative. • innodb_mem_validate. To be removed. This depends on UNIV_MEM_DEBUG, which is not normally enabled even in debug builds.
  • 16. ALTER IGNORE TABLE • Useful for adding PRIMARY/UNIQUE keys on tables with duplicate keys. • Will silently drop rows for you! • Has strange semantics for replication and ALTER TABLE.
  • 17. ALTER IGNORE TABLE (cont.) • Proposal went ahead already: • Deprecated in 5.6.17. • Removed in 5.7 DMR4
  • 18. Simplify SQL_MODE options • Proposal is to reduce the number of mode options available. • Aim is to increase usage of SQL_MODE options, encourage more users to run MySQL in a stricter way.
  • 19. Simplify SQL_MODE options (cont.) • Current recommendation:
 sql-mode=“STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_AUTO_VALUE_ON_ZERO, NO_ENGINE_SUBSTITUTION, NO_ZERO_DATE, NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"
  • 20. Simplify SQL_MODE options (cont.) • 5.7 Proposal: • Remove the options ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE and NO_ZERO_IN_DATE. • These behaviours be enabled by STRICT_TRANS_TABLES or STRICT_ALL_TABLES. • Improve error reporting when a behaviour is influenced by an SQL mode.
  • 21. EXPLAIN PARTITIONS and EXPLAIN EXTENDED deprecation • Motivated by Internal Code Cleanup • Two optional flags that only add value - no reason other than automated tooling format preferences not to enable them.
  • 22. EXPLAIN PARTITIONS and EXPLAIN EXTENDED deprecation (cont.) • Proposal: • Enables two flags by default, and deprecates the use of the extended syntax. • Went ahead in 5.7 DMR3.
  • 23. Query Cache • Defaults to DISABLED in 5.6. • We have “ideas but not plans” for future improvements.
  • 24. Deprecation of NULL synonym N mysql> SELECT NULL is N;
 +------------+
 | NULL is N |
 +------------+
 | 1 |
 +------------+
 1 row in set (0.00 sec) 
 
 mysql> INSERT INTO tablea VALUES (3, N);
 Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM tablea WHERE b IS N;
 +---+------+
 | a | b |
 +---+------+
 | 3 | NULL |
 +---+------+
 1 row in set (0.00 sec)
  • 25. Deprecation of NULL synonym N (cont.) • Proposal: • For removal in either 5.7 or 5.8. • Still seeking feedback.
  • 26. Federated Storage Engine • Users encouraged to use Multi-source replication over Federated Storage Engine. • We are seeking feedback for use cases for Federated.
  • 27. MyISAM Merge • Similar to Partitioning but MyISAM Only. • Does not offer partition pruning. • Major limitation was partition exchange - introduced in 5.6. • Will blog seeking remaining use cases for MERGE storage engine very soon.
  • 28.
  • 29. Last Comment • All of these items have been blogged about here:
 http://www.tocker.ca/categories/community/