SlideShare a Scribd company logo
1 / 46
2 / 46
3 / 46
June 2017
MySQL Innovation
Evolution is inevitable
 
 
 
 
Frédéric Descamps - MySQL Community Manager - Oracle
4 / 46
 
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purpose 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 up in
making purchasing decisions. The development, release and timing of any features or
functionality described for Oracle´s product remains at the sole discretion of Oracle.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
5 / 46
about.me/lefred
Who am I ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
6 / 46
Frédéric Descamps
@lefred
MySQL Evangelist
Hacking MySQL since 3.23
devops believer
MySQL Community Manager since May
2016
living in Belgium 🇧🇪
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
7 / 46
MySQL 5.7 -> 8.0
Innovation
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
8 / 46
 
 
 
MySQL 5.7 (GA)
3x Better Performance
Replication Enhancements
Optimizer Cost Model
JSON Support
Improved Security
SYS & Performance Schema
GIS
 
 
MySQL InnoDB Cluster (GA)
MySQL Group Replication
MySQL Router
MySQL Shell
MySQL 8.0 (DMR)
Data Dictionary
Roles
Unicode
CTEs
Window Functions
Security
Replication
SysSchema
GIS
MySQL Innovation: 5.7 -> 8.0
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
9 / 46
100%
 
virtually all organizations require their most
critical systems to be highly available !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
10 / 46
100%
 
virtually all organizations require their most
critical systems to be highly available !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
11 / 46
 
  "HighAvailabilitybecomesacorefirst
classfeatureofMySQL!"
MySQL InnoDB Cluster
 
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
12 / 46
MySQL InnoDB Cluster: vision
  "Asingleproduct-MySQL-withhighavailabilityandscalingfeaturesbakedin;providing
anintegratedend-to-endsolutionthatiseasytouse."
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
13 / 46
MySQL InnoDB Cluster: vision
  "Asingleproduct-MySQL-withhighavailabilityandscalingfeaturesbakedin;providing
anintegratedend-to-endsolutionthatiseasytouse."
InnoDB
cluster
Ease-of-Use
Extreme Scale-Out
Out-of-Box Solution
Built-in HA
High Performance
Everything Integrated
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
14 / 46
One Product: MySQL
All components created together
Tested together
Packaged together
Easy to Use
One client: MySQL Shell
Easy packaging
Integrated orchestration
Homogenous servers
Flexible and Moden
SQL and NoSQL together
Protocol Buffers
Asynchronous API
Developer friendly
Support Read/Write Scale Out
Shared clusters
Federated systemof N replica sets
supporting cross shard
operations
Each replica set manages a shard
MySQL InnoDB Cluster: goals
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
15 / 46
MySQL powers the Web !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
16 / 46
MySQL powers the Web !
and many more...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
17 / 46
Web applications evolution
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
18 / 46
Web applications evolution
Everything is already Mobile first or moving to mobile very soon
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
19 / 46
Web applications evolution
Everything is already Mobile first or moving to mobile very soon
 
 
...and it impacts our roadmap and newfeatures priority
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
20 / 46
Evolution Driving Roadmap: 1995 vs 2017
 
There was no local.
Noweverything is
contextual to me as a
user.
The Internet was
global, but full of
silos. Nowwe are
more connected than
ever.
In the past APIs were
cumbersome,
powered by SOAP and
XML-RPC.
There is nowan
increased focus on
privacy and
protecting
information.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
21 / 46
Evolution Driving Roadmap: 1995 vs 2017
 
There was no local.
Noweverything is
contextual to me as a
user.
The Internet was
global, but full of
silos. Nowwe are
more connected than
ever.
In the past APIs were
cumbersome,
powered by SOAP and
XML-RPC.
There is nowan
increased focus on
privacy and
protecting
information.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
22 / 46
Evolution Driving Roadmap: MySQL 5.7 recap
Switched to
Boost.Geometry
library
R+Tree indexes for
InnoDB
Spatial Typed for
InnoDB
Optimized InnoDB
Temporary Tables
Optimized Packed
Sort Buffer
Switched InnoDB to
DYNAMIC row format
by default
Native JSON Data
Type
20+ JSON Functions
Generated Columns
for Functional Index
JSON Comparator
Short-hand JSON
operators
Secure by Default
Password Expiration
Password Policy
Remove old
password hash
Encrypted
Tablespaces, TDE
(Enterprise)
Firewall (Enterprise)
Audit (Enterprise)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
23 / 46
Evolution Driving Roadmap: MySQL 8.0
Geography support
Spatial Reference
System (SRS)
Support
SQL/MM Information
Schema views
Standard compliant
axis ordering in
import/export
functions
Utf8mb4 as default
Up to 16x Faster
Performance
Based on Unicode 9.0
New collations with
Accents/Case sensitivity
Japanese Collation
Aggregate, Table
and Pretty Print
Functions
Sort Performance
Improvements
Optimizer support
for in-place update
JSON Shell
Roles
Encrypted REDO Log
and UNDO Space
Finer grained
system privileges
Atomicity in
Privilege
statements
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
24 / 46
Overview of improvements & new features
What's new in MySQL 8.0 ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
25 / 46
Fully Function, Properly Architected
Roles
Create and Drop Roles, Grant to Roles
Grant Roles to Roles. Grant Roles to
Users
Limit Hosts that can use roles, Define
Default Roles
And even visualize Roles with SQL
function ROLES_GRAHPHML()
MySQL 8.0: Security Roles
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
26 / 46
MySQL 8.0 vs MySQL 5.7 utf8mb4
UTF8MB4 is nowthe default charset set !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
27 / 46
MySQL 8.0 vs MySQL 5.7 utf8mb3
No need to use the short-cut as in 5.7
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
28 / 46
MySQL 8.0: Boosts Developer Productivity
 
Improve support for the SQL standard
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
29 / 46
MySQL 8.0: Boosts Developer Productivity
New! CTEs and Recusrsive CTEs
New! WindowFunctions
New! SKIP LOCKED and NOWAIT
UUIDs and Bitwise Functions
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
30 / 46
WITH RECURSIVE qn AS
( SELECT 1 AS a
UNION ALL
SELECT 1+a FROM qn WHERE a<10
)
SELECT * FROM qn;
MySQL 8.0: recursive CTE (example)
 
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
31 / 46
WITH RECURSIVE qn AS
( SELECT 1 AS a
UNION ALL
SELECT 1+a FROM qn WHERE a<10
)
SELECT * FROM qn;
+------+
| a |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+------+
10 rows in set (0.01 sec)
MySQL 8.0: recursive CTE (example)
 
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
32 / 46
SELECT seat_no
FROM seats
JOIN seat_rows USING (row_no)
WHERE seat_no IN (3,4)
AND seat_rows.row_no IN (12)
AND booked = 'NO'
FOR UPDATE OF seats SKIP LOCKED
FOR SHARE OF seats_rows NOWAIT;
MySQL 8.0: better handing of hot rows
 
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
33 / 46
SELECT seat_no
FROM seats
JOIN seat_rows USING (row_no)
WHERE seat_no IN (3,4)
AND seat_rows.row_no IN (12)
AND booked = 'NO'
FOR UPDATE OF seats SKIP LOCKED
FOR SHARE OF seats_rows NOWAIT;
SKIP LOCKED = non deterministically
skip over locked rows
NOWAIT = error immediately if a rowis
already locked
MySQL 8.0: better handing of hot rows
 
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
34 / 46
Do more with a fewer number of servers
Take more advantages of newhardware:
SSD
multi-core processors
Greater density per server
Operator Friendliness
Increase Reliability
Improved Replication Throughput
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
35 / 46
MySQL 8.0: Makes Scale Easier
Better Observability: improving PFS (more instruments, better performance)
Newoperations
Higher Reliability: systemtables are nowin InnoDB and is used for Data Dictionary
Parallel Replication
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
36 / 46
MySQL 8.0: Performance Schema
SQL error instrumentation
Indexes
Configuration Variables
New! Data Locks
New! Histograms
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
37 / 46
PFS : Performance Comparison
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
38 / 46
PFS : Performance Comparison
Over 30x faster!
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
39 / 46
MySQL 8.0: Invisible Indexes
Indexes are "hidden" to the MySQL Optimizer
not the same as "disabled indexes"
contents are fully up to date and maintained by DML
Two use cases:
Soft Delete (RecycleBin)
Staged Rollout
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
40 / 46
MySQL 8.0: Persist Configuration
Persist GLOBAL Server Variables
SET PERSIST max_connections = 500;
Examples Include:
Of ine_mode
Read_Only
Requires no filesystemaccess
New! Captures timestamp and change user
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
41 / 46
MySQL 8.0: Parallel Replication
MySQL 5.7 added support for logical clock parallel replication
in early version (<5.7.3), the logical clock is group commit based
in next versions, the logical clock is interval based
MySQL 8.0 adds support for Write Set parallelismidentification
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
42 / 46
MySQL 8.0: Replication Improvements
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
43 / 46
MySQL 8.0: Replication Improvements
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
44 / 46
Source code now documented
with Doxygen
Plugin Infrastructure!
Expanded Query Hints Support
Improved Scan Query Performance
Improved BLOB Storage
Improved Memcached Interface
Cost Model Improvements
Scalabibilty Improvements
Atomicity in Privileges
Parser Refactoring
Improvements to Temporary
Tables
C++11 and Toolchain
Improvements
GTID_PURGED always settable
Persistent Auto Increment
Native InnoDB Data Dictionary
Improved Information Schema
performance
New! SQL Grouping Function
New! Optimizer Trace detailed
sort statistics
New! Descending Indexes
New! Smaller Package Downloads
New! JSON Aggregate, Pretty
print functions
New! JSON performance
improvements
New! Expended Query Hints
New! Improved usability of cost
constant configuration
Group Replication
New! Transaction Save Point
support in Group Replication
New! Improved Replication Applier
Lag Statistics in Performance
Schema
New! Per Multi-source Channel
Replication Filters
New! Atomic DDL extended to the
Binary Log
New! Performance Improvements
on the Replication Applier
New! Parallel Replication Applier
Policy
New! Binary Log Management
Enhancements
New! Additional Metadata into the
Binary Log
All these features plus...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
45 / 46
Thank you !
Any Questions ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
46 / 46

More Related Content

PDF
Upgrade from MySQL 5.7 to MySQL 8.0
PDF
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
PDF
The Full MySQL and MariaDB Parallel Replication Tutorial
PDF
Make Your Application “Oracle RAC Ready” & Test For It
PPTX
How to upgrade like a boss to my sql 8.0?
PDF
MySQL InnoDB Cluster - Group Replication
PDF
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
PDF
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
Upgrade from MySQL 5.7 to MySQL 8.0
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
The Full MySQL and MariaDB Parallel Replication Tutorial
Make Your Application “Oracle RAC Ready” & Test For It
How to upgrade like a boss to my sql 8.0?
MySQL InnoDB Cluster - Group Replication
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...

What's hot (20)

PDF
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
PDF
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
PDF
Oracle RAC on Extended Distance Clusters - Customer Examples
PDF
MySQL Performance for DevOps
PDF
MySQL High Availability Solutions
PDF
PostgreSQL, performance for queries with grouping
PDF
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
PDF
MariaDB Galera Cluster presentation
PPTX
これで失敗しない ASTERIA WARPサイジングのポイント
PDF
MySQL Replication Performance Tuning for Fun and Profit!
PDF
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
PPTX
Observability - Stockholm Splunk UG Jan 19 2023.pptx
PPTX
MySQL Performance Schema in MySQL 8.0
PPTX
Antifragile, Microservices and DevOps - A Study
PDF
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
PDF
[2018] MySQL 이중화 진화기
PDF
Dd and atomic ddl pl17 dublin
PDF
Percona Live 2022 - MySQL Architectures
PDF
InnoDb Vs NDB Cluster
PDF
Upgrade to MySQL 8.0!
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Oracle RAC on Extended Distance Clusters - Customer Examples
MySQL Performance for DevOps
MySQL High Availability Solutions
PostgreSQL, performance for queries with grouping
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MariaDB Galera Cluster presentation
これで失敗しない ASTERIA WARPサイジングのポイント
MySQL Replication Performance Tuning for Fun and Profit!
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
Observability - Stockholm Splunk UG Jan 19 2023.pptx
MySQL Performance Schema in MySQL 8.0
Antifragile, Microservices and DevOps - A Study
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
[2018] MySQL 이중화 진화기
Dd and atomic ddl pl17 dublin
Percona Live 2022 - MySQL Architectures
InnoDb Vs NDB Cluster
Upgrade to MySQL 8.0!
Ad

Similar to MySQL Innovation from 5.7 to 8.0 (20)

PDF
MySQL Community Meetup in China : Innovation driven by the Community
PDF
20191001 bkk-secret-of inno-db_clusterv1
PDF
What's New in MySQL 8.0 @ HKOSC 2017
PDF
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
PDF
Mysql User Camp : 20th June - Mysql New Features
PPTX
State ofdolphin short
PPTX
MySQL 8.0 in a nutshell
PDF
Introduction to MySQL InnoDB Cluster
PDF
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
PDF
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
PDF
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
PDF
DataOps Barcelona - MySQL HA so easy... that's insane !
PDF
MySQL no Paypal Tesla e Uber
PDF
Introduction to MySQL InnoDB Cluster
PDF
My sql5.7 whatsnew_presentedatgids2015
PDF
MySQL InnoDB Cluster and NDB Cluster
PDF
What's New in MySQL 5.7
PDF
MySQL InnoDB Cluster in a Nutshell - Hands-on Lab
PDF
TWJUG August, What's new in MySQL 5.7 RC
PDF
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL Community Meetup in China : Innovation driven by the Community
20191001 bkk-secret-of inno-db_clusterv1
What's New in MySQL 8.0 @ HKOSC 2017
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20th June - Mysql New Features
State ofdolphin short
MySQL 8.0 in a nutshell
Introduction to MySQL InnoDB Cluster
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
Netherlands Tech Tour - 07 MySQL Whats upcoming in 5.7
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
DataOps Barcelona - MySQL HA so easy... that's insane !
MySQL no Paypal Tesla e Uber
Introduction to MySQL InnoDB Cluster
My sql5.7 whatsnew_presentedatgids2015
MySQL InnoDB Cluster and NDB Cluster
What's New in MySQL 5.7
MySQL InnoDB Cluster in a Nutshell - Hands-on Lab
TWJUG August, What's new in MySQL 5.7 RC
MySQL 5.7 InnoDB Cluster (Jan 2018)
Ad

More from Frederic Descamps (20)

PDF
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
PDF
MySQL Day Roma - MySQL Shell and Visual Studio Code Extension
PDF
RivieraJUG - MySQL Indexes and Histograms
PDF
RivieraJUG - MySQL 8.0 - What's new for developers.pdf
PDF
MySQL User Group NL - MySQL 8
PDF
State of the Dolphin - May 2022
PDF
Percona Live 2022 - MySQL Shell for Visual Studio Code
PDF
Percona Live 2022 - The Evolution of a MySQL Database System
PDF
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
PDF
Open Source 101 2022 - MySQL Indexes and Histograms
PDF
Pi Day 2022 - from IoT to MySQL HeatWave Database Service
PDF
Confoo 2022 - le cycle d'une instance MySQL
PDF
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
PDF
Les nouveautés de MySQL 8.0
PDF
Les nouveautés de MySQL 8.0
PDF
State of The Dolphin - May 2021
PDF
MySQL Shell for DBAs
PDF
Deploying Magento on OCI with MDS
PDF
MySQL Router REST API
PDF
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Day Roma - MySQL Shell and Visual Studio Code Extension
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL 8.0 - What's new for developers.pdf
MySQL User Group NL - MySQL 8
State of the Dolphin - May 2022
Percona Live 2022 - MySQL Shell for Visual Studio Code
Percona Live 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
Open Source 101 2022 - MySQL Indexes and Histograms
Pi Day 2022 - from IoT to MySQL HeatWave Database Service
Confoo 2022 - le cycle d'une instance MySQL
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0
State of The Dolphin - May 2021
MySQL Shell for DBAs
Deploying Magento on OCI with MDS
MySQL Router REST API
From single MySQL instance to High Availability: the journey to MySQL InnoDB ...

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
August Patch Tuesday
PDF
Getting Started with Data Integration: FME Form 101
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
1. Introduction to Computer Programming.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Machine Learning_overview_presentation.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
SOPHOS-XG Firewall Administrator PPT.pptx
August Patch Tuesday
Getting Started with Data Integration: FME Form 101
MIND Revenue Release Quarter 2 2025 Press Release
A comparative study of natural language inference in Swahili using monolingua...
Network Security Unit 5.pdf for BCA BBA.
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
1. Introduction to Computer Programming.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine Learning_overview_presentation.pptx
Group 1 Presentation -Planning and Decision Making .pptx
Heart disease approach using modified random forest and particle swarm optimi...
Building Integrated photovoltaic BIPV_UPV.pdf
A comparative analysis of optical character recognition models for extracting...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

MySQL Innovation from 5.7 to 8.0

  • 4. June 2017 MySQL Innovation Evolution is inevitable         Frédéric Descamps - MySQL Community Manager - Oracle 4 / 46
  • 5.   Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purpose 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 up in making purchasing decisions. The development, release and timing of any features or functionality described for Oracle´s product remains at the sole discretion of Oracle. Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 5 / 46
  • 6. about.me/lefred Who am I ? Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 6 / 46
  • 7. Frédéric Descamps @lefred MySQL Evangelist Hacking MySQL since 3.23 devops believer MySQL Community Manager since May 2016 living in Belgium 🇧🇪 Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 7 / 46
  • 8. MySQL 5.7 -> 8.0 Innovation Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 8 / 46
  • 9.       MySQL 5.7 (GA) 3x Better Performance Replication Enhancements Optimizer Cost Model JSON Support Improved Security SYS & Performance Schema GIS     MySQL InnoDB Cluster (GA) MySQL Group Replication MySQL Router MySQL Shell MySQL 8.0 (DMR) Data Dictionary Roles Unicode CTEs Window Functions Security Replication SysSchema GIS MySQL Innovation: 5.7 -> 8.0 Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 9 / 46
  • 10. 100%   virtually all organizations require their most critical systems to be highly available ! Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 10 / 46
  • 11. 100%   virtually all organizations require their most critical systems to be highly available ! Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 11 / 46
  • 12.     "HighAvailabilitybecomesacorefirst classfeatureofMySQL!" MySQL InnoDB Cluster   Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 12 / 46
  • 13. MySQL InnoDB Cluster: vision   "Asingleproduct-MySQL-withhighavailabilityandscalingfeaturesbakedin;providing anintegratedend-to-endsolutionthatiseasytouse." Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 13 / 46
  • 14. MySQL InnoDB Cluster: vision   "Asingleproduct-MySQL-withhighavailabilityandscalingfeaturesbakedin;providing anintegratedend-to-endsolutionthatiseasytouse." InnoDB cluster Ease-of-Use Extreme Scale-Out Out-of-Box Solution Built-in HA High Performance Everything Integrated Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 14 / 46
  • 15. One Product: MySQL All components created together Tested together Packaged together Easy to Use One client: MySQL Shell Easy packaging Integrated orchestration Homogenous servers Flexible and Moden SQL and NoSQL together Protocol Buffers Asynchronous API Developer friendly Support Read/Write Scale Out Shared clusters Federated systemof N replica sets supporting cross shard operations Each replica set manages a shard MySQL InnoDB Cluster: goals Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 15 / 46
  • 16. MySQL powers the Web ! Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 16 / 46
  • 17. MySQL powers the Web ! and many more... Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 17 / 46
  • 18. Web applications evolution Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 18 / 46
  • 19. Web applications evolution Everything is already Mobile first or moving to mobile very soon Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 19 / 46
  • 20. Web applications evolution Everything is already Mobile first or moving to mobile very soon     ...and it impacts our roadmap and newfeatures priority Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 20 / 46
  • 21. Evolution Driving Roadmap: 1995 vs 2017   There was no local. Noweverything is contextual to me as a user. The Internet was global, but full of silos. Nowwe are more connected than ever. In the past APIs were cumbersome, powered by SOAP and XML-RPC. There is nowan increased focus on privacy and protecting information. Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 21 / 46
  • 22. Evolution Driving Roadmap: 1995 vs 2017   There was no local. Noweverything is contextual to me as a user. The Internet was global, but full of silos. Nowwe are more connected than ever. In the past APIs were cumbersome, powered by SOAP and XML-RPC. There is nowan increased focus on privacy and protecting information. Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 22 / 46
  • 23. Evolution Driving Roadmap: MySQL 5.7 recap Switched to Boost.Geometry library R+Tree indexes for InnoDB Spatial Typed for InnoDB Optimized InnoDB Temporary Tables Optimized Packed Sort Buffer Switched InnoDB to DYNAMIC row format by default Native JSON Data Type 20+ JSON Functions Generated Columns for Functional Index JSON Comparator Short-hand JSON operators Secure by Default Password Expiration Password Policy Remove old password hash Encrypted Tablespaces, TDE (Enterprise) Firewall (Enterprise) Audit (Enterprise) Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 23 / 46
  • 24. Evolution Driving Roadmap: MySQL 8.0 Geography support Spatial Reference System (SRS) Support SQL/MM Information Schema views Standard compliant axis ordering in import/export functions Utf8mb4 as default Up to 16x Faster Performance Based on Unicode 9.0 New collations with Accents/Case sensitivity Japanese Collation Aggregate, Table and Pretty Print Functions Sort Performance Improvements Optimizer support for in-place update JSON Shell Roles Encrypted REDO Log and UNDO Space Finer grained system privileges Atomicity in Privilege statements Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 24 / 46
  • 25. Overview of improvements & new features What's new in MySQL 8.0 ? Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 25 / 46
  • 26. Fully Function, Properly Architected Roles Create and Drop Roles, Grant to Roles Grant Roles to Roles. Grant Roles to Users Limit Hosts that can use roles, Define Default Roles And even visualize Roles with SQL function ROLES_GRAHPHML() MySQL 8.0: Security Roles Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 26 / 46
  • 27. MySQL 8.0 vs MySQL 5.7 utf8mb4 UTF8MB4 is nowthe default charset set ! Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 27 / 46
  • 28. MySQL 8.0 vs MySQL 5.7 utf8mb3 No need to use the short-cut as in 5.7 Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 28 / 46
  • 29. MySQL 8.0: Boosts Developer Productivity   Improve support for the SQL standard Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 29 / 46
  • 30. MySQL 8.0: Boosts Developer Productivity New! CTEs and Recusrsive CTEs New! WindowFunctions New! SKIP LOCKED and NOWAIT UUIDs and Bitwise Functions Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 30 / 46
  • 31. WITH RECURSIVE qn AS ( SELECT 1 AS a UNION ALL SELECT 1+a FROM qn WHERE a<10 ) SELECT * FROM qn; MySQL 8.0: recursive CTE (example)   Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 31 / 46
  • 32. WITH RECURSIVE qn AS ( SELECT 1 AS a UNION ALL SELECT 1+a FROM qn WHERE a<10 ) SELECT * FROM qn; +------+ | a | +------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | +------+ 10 rows in set (0.01 sec) MySQL 8.0: recursive CTE (example)   Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 32 / 46
  • 33. SELECT seat_no FROM seats JOIN seat_rows USING (row_no) WHERE seat_no IN (3,4) AND seat_rows.row_no IN (12) AND booked = 'NO' FOR UPDATE OF seats SKIP LOCKED FOR SHARE OF seats_rows NOWAIT; MySQL 8.0: better handing of hot rows   Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 33 / 46
  • 34. SELECT seat_no FROM seats JOIN seat_rows USING (row_no) WHERE seat_no IN (3,4) AND seat_rows.row_no IN (12) AND booked = 'NO' FOR UPDATE OF seats SKIP LOCKED FOR SHARE OF seats_rows NOWAIT; SKIP LOCKED = non deterministically skip over locked rows NOWAIT = error immediately if a rowis already locked MySQL 8.0: better handing of hot rows   Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 34 / 46
  • 35. Do more with a fewer number of servers Take more advantages of newhardware: SSD multi-core processors Greater density per server Operator Friendliness Increase Reliability Improved Replication Throughput Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 35 / 46
  • 36. MySQL 8.0: Makes Scale Easier Better Observability: improving PFS (more instruments, better performance) Newoperations Higher Reliability: systemtables are nowin InnoDB and is used for Data Dictionary Parallel Replication Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 36 / 46
  • 37. MySQL 8.0: Performance Schema SQL error instrumentation Indexes Configuration Variables New! Data Locks New! Histograms Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 37 / 46
  • 38. PFS : Performance Comparison Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 38 / 46
  • 39. PFS : Performance Comparison Over 30x faster! Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 39 / 46
  • 40. MySQL 8.0: Invisible Indexes Indexes are "hidden" to the MySQL Optimizer not the same as "disabled indexes" contents are fully up to date and maintained by DML Two use cases: Soft Delete (RecycleBin) Staged Rollout Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 40 / 46
  • 41. MySQL 8.0: Persist Configuration Persist GLOBAL Server Variables SET PERSIST max_connections = 500; Examples Include: Of ine_mode Read_Only Requires no filesystemaccess New! Captures timestamp and change user Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 41 / 46
  • 42. MySQL 8.0: Parallel Replication MySQL 5.7 added support for logical clock parallel replication in early version (<5.7.3), the logical clock is group commit based in next versions, the logical clock is interval based MySQL 8.0 adds support for Write Set parallelismidentification Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 42 / 46
  • 43. MySQL 8.0: Replication Improvements Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 43 / 46
  • 44. MySQL 8.0: Replication Improvements Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 44 / 46
  • 45. Source code now documented with Doxygen Plugin Infrastructure! Expanded Query Hints Support Improved Scan Query Performance Improved BLOB Storage Improved Memcached Interface Cost Model Improvements Scalabibilty Improvements Atomicity in Privileges Parser Refactoring Improvements to Temporary Tables C++11 and Toolchain Improvements GTID_PURGED always settable Persistent Auto Increment Native InnoDB Data Dictionary Improved Information Schema performance New! SQL Grouping Function New! Optimizer Trace detailed sort statistics New! Descending Indexes New! Smaller Package Downloads New! JSON Aggregate, Pretty print functions New! JSON performance improvements New! Expended Query Hints New! Improved usability of cost constant configuration Group Replication New! Transaction Save Point support in Group Replication New! Improved Replication Applier Lag Statistics in Performance Schema New! Per Multi-source Channel Replication Filters New! Atomic DDL extended to the Binary Log New! Performance Improvements on the Replication Applier New! Parallel Replication Applier Policy New! Binary Log Management Enhancements New! Additional Metadata into the Binary Log All these features plus... Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 45 / 46
  • 46. Thank you ! Any Questions ? Copyright @ 2017 Oracle and/or its affiliates. All rights reserved. 46 / 46