SlideShare a Scribd company logo
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
MySQL 8.0
Development Milestone Releases 8.0.0 e 8.0.1
Oracle Confidential – Internal/Restricted/Highly Restricted
Airton Lastori
Consultor MySQL
airton.lastori@oracle.com
jun-17
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
MySQL Innovation: 5.7 -> 8.0
- 3x Better Performance
- Replication Enhancements
- Optimizer Cost Model
- JSON Support
- Improved Security
- Sys & Performance Schema
- GIS
MySQL 5.7 (GA)
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
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
“The demand for
database
administrators and
developers is much
higher than the
current supply, as
well, leading to lots of
open positions.”
https://stackoverflow.blog/2017/03/09
/developer-hiring-trends-2017/
Oracle Confidential – Internal/Restricted/Highly Restricted 3
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
MySQL 5.7 – Improvements across the board
• Replication
• InnoDB
• Optimizer
• Security
• Performance Schema
• GIS
• Triggers
• Partitioning
• New! SYS Schema
• New! JSON
• Performance
4
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 5
MySQL InnoDB Cluster: Vision
“A single product — MySQL — with high availability and scaling
features baked in; providing an integrated end-to-end solution
that is easy to use.”
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
Principais features até DMR 8.0.1
1. Data Dictionary
2. Cloud-friendly Operations
3. Roles
4. CTEs
5. Window Functions
6. More for Developers
7. GIS
8. Security
9. Replication
10.InnoDB Cluster Goals
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
1. Transactional Data Dictionary
• Increased Reliability
• Using InnoDB internally for data dictionary
– No FRM files
– No DB.OPT files
– No TRG files
– No TRN files
– No PAR files
• MySQL 8.0 default install no longer contains MyISAM tables.
7
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
1. Transactional Data Dictionary
• Better cross-platform experience
– No dependencies on filesystem semantics
• Atomic DDL
– Better Replication
– Simplifies server edge cases
• MDL for Foreign Keys
• Flexible Metadata API
– Easier path to adding new features
8
Additional Benefits
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
2. Persist Configuration
• Persist GLOBAL Server Variables
– SET PERSIST max_connections = 500;
• Examples Include:
– Offline_mode
– Read_Only
• Requires no filesystem access
• New! Includes timestamp and change user
9
Cloud Friendly
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
2. Variables Info
10
Find the source of variables changed on your installation
SELECT * FROM performance_schema.variables_info WHERE variable_source != 'COMPILED';
+------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+
| VARIABLE_NAME | VARIABLE_SOURCE | VARIABLE_PATH | MIN_VALUE | MAX_VALUE | SET_TIME | SET_USER | SET_HOST |
+------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+
| autocommit | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| basedir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | |
| bind_address | EXPLICIT | [..]my.sandbox.cnf | 0 | 0 | 2017-04-16 21:08:11 | | |
| character_set_client | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| character_set_results | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| collation_connection | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| datadir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | |
| foreign_key_checks | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| log_error | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | |
| lower_case_table_names | EXPLICIT | [..]my.sandbox.cnf | 0 | 2 | 2017-04-16 21:08:11 | | |
| pid_file | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | |
| plugin_dir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | |
| port | COMMAND_LINE | | 0 | 65535 | 2017-04-16 21:08:11 | | |
| socket | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | |
| sql_mode | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| sql_notes | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| time_zone | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
| tmpdir | EXPLICIT | [..]my.sandbox.cnf | 0 | 0 | 2017-04-16 21:08:11 | | |
| unique_checks | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost |
+------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+
19 rows in set (0.00 sec)
Cloud Friendly
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
3. MySQL Roles
Improving MySQL Access Controls
• Easier to manage user and applications rights
• As standards compliant as practically possible
• Multiple default roles
• Can export the role graph in GraphML
11
Feature Request
from DBAs
Directly
Indirectly
Set Role(s)
Default Role(s)
Set of
ACLS
Set of
ACLS
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
4. Common Table Expressions
• “With queries”
• Both Recursive and Non-Recursive Forms
• Simplifies writing complex SQL:
WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’)
SELECT * FROM t1;
12
Feature Request
from Developers
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
4. Recursive CTE
• A recursive CTE refers to itself in a subquery
• The “seed” SELECT is executed once to create the initial data subset,
the recursive SELECT is repeatedly executed to return subsets of data
until the complete result set is obtained.
• Useful to dig in hierarchies (parent/child, part/subpart)
• Similar to Oracle's CONNECT BY
13
WITH RECURSIVE cte AS
( SELECT ... FROM table_name /* "seed" SELECT */
UNION ALL
SELECT ... FROM cte, table_name) /* "recursive" SELECT */
SELECT ... FROM cte;/
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 14
Print 1 to 10
4. Recursive CTE (Example)
a
1
2
3
4
5
6
7
8
9
10
WITH RECURSIVE qn AS
( SELECT 1 AS a
UNION ALL
SELECT 1+a FROM qn WHERE a<10
)
SELECT * FROM qn;
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
5. Window Functions
15
Feature Request
from Developers
SELECT name, department_id, salary,
SUM(salary)
OVER (PARTITION BY department_id)
AS department_total
FROM employee
ORDER BY department_id, name;
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
6. utfmb4 as default character set
• Support for the latest Unicode 9.0
• Accent and case sensitive collations
• Language specific collations
• including Japanese
• Performance Optimization
16
+300-350% in OLTP RO
+176-233% in OLTP RW
+1500-1800% in SELECT DISTINCT_RANGES
Feature Request
from Developers
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
6. Continuing the JSON Developer Experience
• MySQL Document Store
– Document collections
– Relational tables
– Combine them as you like
• Administer MySQL via the MySQL Shell
– One stop DevOps tool for MySQL
– Out of the Box HA
– Use your preferred language: SQL, JavaScript, Python, …
– Relational or Document
17
Feature Request
from Developers
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
6. UUID and Bit-wise Improvements
• Functions to convert UUID to and from binary:
– UUID_TO_BIN()
– BIN_TO_UUID()
– plus IS_UUID()
• Bit-wise operations on binary data types
• Bit-wise operations on binary data types
– Designed with IPv6 in mind:
– INET6_ATON(address) & INET6_ATON(network)
18
Feature Request
from Developers
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
6. UUID_TO_BIN Optimization
19
24.75 25.5 26.25 27. 27.75 28.5 29.25
Insert Performance Optimized
Original
• Binary format is now smaller and insert-order efficient:
11e678fe53303f87a4778c89a52c4f3b
53303f87-78fe-11e6-a477-8c89a52c4f3bFrom VARCHAR(36)
To VARBINARY(16)
Feature Request
from Developers
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
6. MySQL 8.0: Better Handing of Hot Rows
20
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 seat_rows NOWAIT;
Non
deterministically
skip over locked
rows
Error immediately
if a row is already
locked
Feature Request
from Developers
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
7. GIS
• Geography support
• st_distance()
• Spatial Reference Systems (SRS) Support
• SQL/MM Information Schema views
• Standard compliant axis ordering in import/export functions
• Helper functions to manipulate and convert data:
• st_x(geom, x)
• st_y(geom, y)
• st_srid(geom, srid)
21
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
9. MySQL 8.0 Parallel Replication
22
Production Workload #1
Production Workload #2
4x Improvement
on single-threaded!
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
• 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 Modern
– SQL and NoSQL together
– Protocol Buffers
– Asynchronous API
– Developer friendly
• Support Read/Write Scale Out
– Sharded clusters
– Federated system of N replica sets
• Supporting cross shard operations
– Each replica set manages a shard
23
10. MySQL InnoDB Cluster Goals
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
All these features plus…
• Source code now documented with
Doxygen
• Plugin Infrastructure!
• Expanded GIS Support
• Expanded Query Hints Support
• Improved Scan Query Performance
• Improved BLOB Storage
• Improved Memcached Interface
• Cost Model Improvements
• Scalability 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! Expanded Query Hints
• New! Improved usability of cost constant
configuration
• Group Replication in 8.0
• 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
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
Referências
Oracle Confidential – Internal/Restricted/Highly Restricted 25
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 26
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 27
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 28
Copyright © 2017 Oracle and/or its affiliates. All rights reserved. |
Obrigado!
airton.lastori@oracle.com
Oracle Confidential – Internal/Restricted/Highly Restricted30

More Related Content

What's hot (20)

PDF
MySQL 5.7 + JSON
Morgan Tocker
 
PDF
MySQL 5.6 - Operations and Diagnostics Improvements
Morgan Tocker
 
PDF
High Performance Hibernate JavaZone 2016
Vlad Mihalcea
 
PDF
Upcoming changes in MySQL 5.7
Morgan Tocker
 
PDF
MySQL Optimizer Cost Model
Olav Sandstå
 
PPTX
hive HBase Metastore - Improving Hive with a Big Data Metadata Storage
DataWorks Summit/Hadoop Summit
 
PPTX
Is SQLcl the Next Generation of SQL*Plus?
Zohar Elkayam
 
PDF
Mysql server query path
Wenjie Wu
 
PPTX
Inside sql server in memory oltp sql sat nyc 2017
Bob Ward
 
PDF
Presto updates to 0.178
Kai Sasaki
 
ODP
Inno db 5_7_features
Tinku Ajit
 
PDF
Moving Data Between Exadata and Hadoop
Enkitec
 
PPTX
MySQL Indexing - Best practices for MySQL 5.6
MYXPLAIN
 
PPTX
ORC File and Vectorization - Hadoop Summit 2013
Owen O'Malley
 
PPTX
MySQL 5.7 New Features for Developers
Zohar Elkayam
 
PPTX
Ordina Oracle Open World
Marco Gralike
 
PDF
Oracle Database Advanced Querying (2016)
Zohar Elkayam
 
PDF
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxData
 
PDF
MySQL 5.7: Core Server Changes
Morgan Tocker
 
PDF
High-Performance JDBC Voxxed Bucharest 2016
Vlad Mihalcea
 
MySQL 5.7 + JSON
Morgan Tocker
 
MySQL 5.6 - Operations and Diagnostics Improvements
Morgan Tocker
 
High Performance Hibernate JavaZone 2016
Vlad Mihalcea
 
Upcoming changes in MySQL 5.7
Morgan Tocker
 
MySQL Optimizer Cost Model
Olav Sandstå
 
hive HBase Metastore - Improving Hive with a Big Data Metadata Storage
DataWorks Summit/Hadoop Summit
 
Is SQLcl the Next Generation of SQL*Plus?
Zohar Elkayam
 
Mysql server query path
Wenjie Wu
 
Inside sql server in memory oltp sql sat nyc 2017
Bob Ward
 
Presto updates to 0.178
Kai Sasaki
 
Inno db 5_7_features
Tinku Ajit
 
Moving Data Between Exadata and Hadoop
Enkitec
 
MySQL Indexing - Best practices for MySQL 5.6
MYXPLAIN
 
ORC File and Vectorization - Hadoop Summit 2013
Owen O'Malley
 
MySQL 5.7 New Features for Developers
Zohar Elkayam
 
Ordina Oracle Open World
Marco Gralike
 
Oracle Database Advanced Querying (2016)
Zohar Elkayam
 
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxData
 
MySQL 5.7: Core Server Changes
Morgan Tocker
 
High-Performance JDBC Voxxed Bucharest 2016
Vlad Mihalcea
 

Similar to MySQL 8.0.1 DMR (20)

PDF
What's New in MySQL 8.0 @ HKOSC 2017
Ivan Ma
 
PPTX
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
Geir Høydalsvik
 
PDF
MySQL Technology Overview
Keith Hollman
 
PPTX
MySQL 8.0 in a nutshell
OracleMySQL
 
PPTX
State ofdolphin short
Mandy Ang
 
PDF
MySQL Community Meetup in China : Innovation driven by the Community
Frederic Descamps
 
PDF
20190915_MySQL開発最新動向
Machiko Ikoma
 
PDF
What's New MySQL 8.0?
OracleMySQL
 
PDF
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
Dave Stokes
 
PDF
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
Olivier DASINI
 
PDF
RMOUG MySQL 5.7 New Features
Dave Stokes
 
PDF
20190713_MySQL開発最新動向
Machiko Ikoma
 
PDF
MySQL : State of the Dolphin May 2019
Frederic Descamps
 
PDF
MySQL Innovation: from 5.7 to 8.0
Frederic Descamps
 
PDF
MySQL Innovation from 5.7 to 8.0
Frederic Descamps
 
PPTX
cPanel now supports MySQL 8.0 - My Top Seven Features
Dave Stokes
 
PDF
Mysql8for blr usercamp
Mysql User Camp
 
PDF
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
mCloud
 
PPTX
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
Geir Høydalsvik
 
PDF
MySQL Day Paris 2016 - State Of The Dolphin
Olivier DASINI
 
What's New in MySQL 8.0 @ HKOSC 2017
Ivan Ma
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
Geir Høydalsvik
 
MySQL Technology Overview
Keith Hollman
 
MySQL 8.0 in a nutshell
OracleMySQL
 
State ofdolphin short
Mandy Ang
 
MySQL Community Meetup in China : Innovation driven by the Community
Frederic Descamps
 
20190915_MySQL開発最新動向
Machiko Ikoma
 
What's New MySQL 8.0?
OracleMySQL
 
MySQL 5.7 New Features to Exploit -- PHPTek/Chicago MySQL User Group May 2014
Dave Stokes
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
Olivier DASINI
 
RMOUG MySQL 5.7 New Features
Dave Stokes
 
20190713_MySQL開発最新動向
Machiko Ikoma
 
MySQL : State of the Dolphin May 2019
Frederic Descamps
 
MySQL Innovation: from 5.7 to 8.0
Frederic Descamps
 
MySQL Innovation from 5.7 to 8.0
Frederic Descamps
 
cPanel now supports MySQL 8.0 - My Top Seven Features
Dave Stokes
 
Mysql8for blr usercamp
Mysql User Camp
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
mCloud
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
Geir Høydalsvik
 
MySQL Day Paris 2016 - State Of The Dolphin
Olivier DASINI
 
Ad

More from MySQL Brasil (20)

PDF
MySQL como Document Store PHP Conference 2017
MySQL Brasil
 
PDF
MySQL no Paypal Tesla e Uber
MySQL Brasil
 
PDF
Alta disponibilidade com MySQL Enterprise
MySQL Brasil
 
PDF
MySQL Roadmap NoSQL HA Fev17
MySQL Brasil
 
PDF
Segurança no MySQL
MySQL Brasil
 
PDF
5 razões estratégicas para usar MySQL
MySQL Brasil
 
PDF
Alta disponibilidade no MySQL 5.7 GUOB 2016
MySQL Brasil
 
PDF
MySQL 5.7 como Document Store
MySQL Brasil
 
PDF
Enabling digital transformation with MySQL
MySQL Brasil
 
PDF
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
MySQL Brasil
 
PDF
Alta Disponibilidade no MySQL 5.7
MySQL Brasil
 
PDF
NoSQL no MySQL 5.7
MySQL Brasil
 
PDF
OpenStack & MySQL
MySQL Brasil
 
PDF
10 Razões para Usar MySQL em Startups
MySQL Brasil
 
PDF
Novidades do MySQL para desenvolvedores ago15
MySQL Brasil
 
PDF
Estratégias de Segurança e Gerenciamento para MySQL
MySQL Brasil
 
PDF
Novidades do Universo MySQL julho-15
MySQL Brasil
 
PDF
Serviços Escaláveis e de Alta Performance com MySQL e Java
MySQL Brasil
 
PDF
MySQL The State of the Dolphin - jun15
MySQL Brasil
 
PDF
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
MySQL Brasil
 
MySQL como Document Store PHP Conference 2017
MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL Brasil
 
Alta disponibilidade com MySQL Enterprise
MySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Brasil
 
Segurança no MySQL
MySQL Brasil
 
5 razões estratégicas para usar MySQL
MySQL Brasil
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
MySQL Brasil
 
MySQL 5.7 como Document Store
MySQL Brasil
 
Enabling digital transformation with MySQL
MySQL Brasil
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
MySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
MySQL Brasil
 
NoSQL no MySQL 5.7
MySQL Brasil
 
OpenStack & MySQL
MySQL Brasil
 
10 Razões para Usar MySQL em Startups
MySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
MySQL Brasil
 
Estratégias de Segurança e Gerenciamento para MySQL
MySQL Brasil
 
Novidades do Universo MySQL julho-15
MySQL Brasil
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
MySQL Brasil
 
MySQL The State of the Dolphin - jun15
MySQL Brasil
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
MySQL Brasil
 
Ad

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 

MySQL 8.0.1 DMR

  • 1. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | MySQL 8.0 Development Milestone Releases 8.0.0 e 8.0.1 Oracle Confidential – Internal/Restricted/Highly Restricted Airton Lastori Consultor MySQL [email protected] jun-17
  • 2. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | MySQL Innovation: 5.7 -> 8.0 - 3x Better Performance - Replication Enhancements - Optimizer Cost Model - JSON Support - Improved Security - Sys & Performance Schema - GIS MySQL 5.7 (GA) 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
  • 3. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | “The demand for database administrators and developers is much higher than the current supply, as well, leading to lots of open positions.” https://stackoverflow.blog/2017/03/09 /developer-hiring-trends-2017/ Oracle Confidential – Internal/Restricted/Highly Restricted 3
  • 4. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | MySQL 5.7 – Improvements across the board • Replication • InnoDB • Optimizer • Security • Performance Schema • GIS • Triggers • Partitioning • New! SYS Schema • New! JSON • Performance 4
  • 5. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 5 MySQL InnoDB Cluster: Vision “A single product — MySQL — with high availability and scaling features baked in; providing an integrated end-to-end solution that is easy to use.”
  • 6. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Principais features até DMR 8.0.1 1. Data Dictionary 2. Cloud-friendly Operations 3. Roles 4. CTEs 5. Window Functions 6. More for Developers 7. GIS 8. Security 9. Replication 10.InnoDB Cluster Goals
  • 7. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 1. Transactional Data Dictionary • Increased Reliability • Using InnoDB internally for data dictionary – No FRM files – No DB.OPT files – No TRG files – No TRN files – No PAR files • MySQL 8.0 default install no longer contains MyISAM tables. 7
  • 8. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 1. Transactional Data Dictionary • Better cross-platform experience – No dependencies on filesystem semantics • Atomic DDL – Better Replication – Simplifies server edge cases • MDL for Foreign Keys • Flexible Metadata API – Easier path to adding new features 8 Additional Benefits
  • 9. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 2. Persist Configuration • Persist GLOBAL Server Variables – SET PERSIST max_connections = 500; • Examples Include: – Offline_mode – Read_Only • Requires no filesystem access • New! Includes timestamp and change user 9 Cloud Friendly
  • 10. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 2. Variables Info 10 Find the source of variables changed on your installation SELECT * FROM performance_schema.variables_info WHERE variable_source != 'COMPILED'; +------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+ | VARIABLE_NAME | VARIABLE_SOURCE | VARIABLE_PATH | MIN_VALUE | MAX_VALUE | SET_TIME | SET_USER | SET_HOST | +------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+ | autocommit | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | basedir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | bind_address | EXPLICIT | [..]my.sandbox.cnf | 0 | 0 | 2017-04-16 21:08:11 | | | | character_set_client | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | character_set_results | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | collation_connection | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | datadir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | foreign_key_checks | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | log_error | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | lower_case_table_names | EXPLICIT | [..]my.sandbox.cnf | 0 | 2 | 2017-04-16 21:08:11 | | | | pid_file | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | plugin_dir | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | port | COMMAND_LINE | | 0 | 65535 | 2017-04-16 21:08:11 | | | | socket | COMMAND_LINE | | 0 | 0 | 2017-04-16 21:08:11 | | | | sql_mode | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | sql_notes | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | time_zone | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | | tmpdir | EXPLICIT | [..]my.sandbox.cnf | 0 | 0 | 2017-04-16 21:08:11 | | | | unique_checks | DYNAMIC | | 0 | 0 | 2017-04-16 20:56:53 | msandbox | localhost | +------------------------+-----------------+--------------------+-----------+-----------+---------------------+----------+-----------+ 19 rows in set (0.00 sec) Cloud Friendly
  • 11. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 3. MySQL Roles Improving MySQL Access Controls • Easier to manage user and applications rights • As standards compliant as practically possible • Multiple default roles • Can export the role graph in GraphML 11 Feature Request from DBAs Directly Indirectly Set Role(s) Default Role(s) Set of ACLS Set of ACLS
  • 12. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 4. Common Table Expressions • “With queries” • Both Recursive and Non-Recursive Forms • Simplifies writing complex SQL: WITH t1 AS (SELECT * FROM tblA WHERE a=‘b’) SELECT * FROM t1; 12 Feature Request from Developers
  • 13. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 4. Recursive CTE • A recursive CTE refers to itself in a subquery • The “seed” SELECT is executed once to create the initial data subset, the recursive SELECT is repeatedly executed to return subsets of data until the complete result set is obtained. • Useful to dig in hierarchies (parent/child, part/subpart) • Similar to Oracle's CONNECT BY 13 WITH RECURSIVE cte AS ( SELECT ... FROM table_name /* "seed" SELECT */ UNION ALL SELECT ... FROM cte, table_name) /* "recursive" SELECT */ SELECT ... FROM cte;/
  • 14. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 14 Print 1 to 10 4. Recursive CTE (Example) a 1 2 3 4 5 6 7 8 9 10 WITH RECURSIVE qn AS ( SELECT 1 AS a UNION ALL SELECT 1+a FROM qn WHERE a<10 ) SELECT * FROM qn;
  • 15. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 5. Window Functions 15 Feature Request from Developers SELECT name, department_id, salary, SUM(salary) OVER (PARTITION BY department_id) AS department_total FROM employee ORDER BY department_id, name;
  • 16. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. utfmb4 as default character set • Support for the latest Unicode 9.0 • Accent and case sensitive collations • Language specific collations • including Japanese • Performance Optimization 16 +300-350% in OLTP RO +176-233% in OLTP RW +1500-1800% in SELECT DISTINCT_RANGES Feature Request from Developers
  • 17. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. Continuing the JSON Developer Experience • MySQL Document Store – Document collections – Relational tables – Combine them as you like • Administer MySQL via the MySQL Shell – One stop DevOps tool for MySQL – Out of the Box HA – Use your preferred language: SQL, JavaScript, Python, … – Relational or Document 17 Feature Request from Developers
  • 18. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. UUID and Bit-wise Improvements • Functions to convert UUID to and from binary: – UUID_TO_BIN() – BIN_TO_UUID() – plus IS_UUID() • Bit-wise operations on binary data types • Bit-wise operations on binary data types – Designed with IPv6 in mind: – INET6_ATON(address) & INET6_ATON(network) 18 Feature Request from Developers
  • 19. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. UUID_TO_BIN Optimization 19 24.75 25.5 26.25 27. 27.75 28.5 29.25 Insert Performance Optimized Original • Binary format is now smaller and insert-order efficient: 11e678fe53303f87a4778c89a52c4f3b 53303f87-78fe-11e6-a477-8c89a52c4f3bFrom VARCHAR(36) To VARBINARY(16) Feature Request from Developers
  • 20. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 6. MySQL 8.0: Better Handing of Hot Rows 20 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 seat_rows NOWAIT; Non deterministically skip over locked rows Error immediately if a row is already locked Feature Request from Developers
  • 21. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 7. GIS • Geography support • st_distance() • Spatial Reference Systems (SRS) Support • SQL/MM Information Schema views • Standard compliant axis ordering in import/export functions • Helper functions to manipulate and convert data: • st_x(geom, x) • st_y(geom, y) • st_srid(geom, srid) 21
  • 22. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | 9. MySQL 8.0 Parallel Replication 22 Production Workload #1 Production Workload #2 4x Improvement on single-threaded!
  • 23. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | • 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 Modern – SQL and NoSQL together – Protocol Buffers – Asynchronous API – Developer friendly • Support Read/Write Scale Out – Sharded clusters – Federated system of N replica sets • Supporting cross shard operations – Each replica set manages a shard 23 10. MySQL InnoDB Cluster Goals
  • 24. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | All these features plus… • Source code now documented with Doxygen • Plugin Infrastructure! • Expanded GIS Support • Expanded Query Hints Support • Improved Scan Query Performance • Improved BLOB Storage • Improved Memcached Interface • Cost Model Improvements • Scalability 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! Expanded Query Hints • New! Improved usability of cost constant configuration • Group Replication in 8.0 • 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
  • 25. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Referências Oracle Confidential – Internal/Restricted/Highly Restricted 25
  • 26. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 26
  • 27. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 27
  • 28. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 28
  • 29. Copyright © 2017 Oracle and/or its affiliates. All rights reserved. | Obrigado! [email protected]
  • 30. Oracle Confidential – Internal/Restricted/Highly Restricted30