SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
Morgan Tocker
 
Moving Data Between Exadata and Hadoop
Moving Data Between Exadata and HadoopMoving Data Between Exadata and Hadoop
Moving Data Between Exadata and Hadoop
Enkitec
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6
MYXPLAIN
 
ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013
Owen O'Malley
 
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
 

La actualidad más candente (20)

MySQL 5.7 + JSON
MySQL 5.7 + JSONMySQL 5.7 + JSON
MySQL 5.7 + JSON
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016
 
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
 
MySQL Optimizer Cost Model
MySQL Optimizer Cost ModelMySQL Optimizer Cost Model
MySQL Optimizer Cost Model
 
hive HBase Metastore - Improving Hive with a Big Data Metadata Storage
hive HBase Metastore - Improving Hive with a Big Data Metadata Storagehive HBase Metastore - Improving Hive with a Big Data Metadata Storage
hive HBase Metastore - Improving Hive with a Big Data Metadata Storage
 
Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?Is SQLcl the Next Generation of SQL*Plus?
Is SQLcl the Next Generation of SQL*Plus?
 
Mysql server query path
Mysql server query pathMysql server query path
Mysql server query path
 
Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017Inside sql server in memory oltp sql sat nyc 2017
Inside sql server in memory oltp sql sat nyc 2017
 
Presto updates to 0.178
Presto updates to 0.178Presto updates to 0.178
Presto updates to 0.178
 
Inno db 5_7_features
Inno db 5_7_featuresInno db 5_7_features
Inno db 5_7_features
 
Moving Data Between Exadata and Hadoop
Moving Data Between Exadata and HadoopMoving Data Between Exadata and Hadoop
Moving Data Between Exadata and Hadoop
 
MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6MySQL Indexing - Best practices for MySQL 5.6
MySQL Indexing - Best practices for MySQL 5.6
 
ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013ORC File and Vectorization - Hadoop Summit 2013
ORC File and Vectorization - Hadoop Summit 2013
 
MySQL 5.7 New Features for Developers
MySQL 5.7 New Features for DevelopersMySQL 5.7 New Features for Developers
MySQL 5.7 New Features for Developers
 
Ordina Oracle Open World
Ordina Oracle Open WorldOrdina Oracle Open World
Ordina Oracle Open World
 
Oracle Database Advanced Querying (2016)
Oracle Database Advanced Querying (2016)Oracle Database Advanced Querying (2016)
Oracle Database Advanced Querying (2016)
 
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
 
MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server Changes
 
High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016
 

Similar a MySQL 8.0.1 DMR

Similar a MySQL 8.0.1 DMR (20)

What's New MySQL 8.0?
What's New MySQL 8.0?What's New MySQL 8.0?
What's New MySQL 8.0?
 
What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
 
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
 
MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released Update
 
MySQL 8.0 in a nutshell
MySQL 8.0 in a nutshellMySQL 8.0 in a nutshell
MySQL 8.0 in a nutshell
 
State ofdolphin short
State ofdolphin shortState ofdolphin short
State ofdolphin short
 
Neo4j Vision and Roadmap
Neo4j Vision and Roadmap Neo4j Vision and Roadmap
Neo4j Vision and Roadmap
 
Data dictionary pl17
Data dictionary pl17Data dictionary pl17
Data dictionary pl17
 
MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017
 
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
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
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: 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
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL
 
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
 
20190713_MySQL開発最新動向
20190713_MySQL開発最新動向20190713_MySQL開発最新動向
20190713_MySQL開発最新動向
 

Más de MySQL Brasil

Más de MySQL Brasil (20)

Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
Novidades do Universo MySQL para PHP Web Developers - Dezembro 2014
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

"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 ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

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 airton.lastori@oracle.com 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! airton.lastori@oracle.com
  • 30. Oracle Confidential – Internal/Restricted/Highly Restricted30