SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
MySQL 8.0.20
New Features
Summary
Olivier DASINI
MySQL Principal Solutions Architect
Blog: www.dasini.net/blog/en/
Twitter: @freshdaz
www.dasini.net/blog/en/
Me, Myself & I
➢
MySQL Geek
✔ Addicted to MySQL for 15+ years!
✔ Playing with databases for 20+ years
➢
MySQL Writer, Blogger and Speaker
✔ Also former : DBA, Consultant, Architect, Trainer, ...
➢
MySQL Principal Solutions Architect EMEA at Oracle
➢
Stay tuned! :
✔ Twitter : @freshdaz
✔ Blog : www.dasini.net/blog/en
Olivier DASINI
www.dasini.net/blog/en/
The following is just a summary of the MySQL 8.0.20 new features.
For a more thorough and exhaustive view please read the following :
➢
The MySQL 8.0.20 Maintenance Release is Generally Available
✔ https://mysqlserverteam.com/the-mysql-8-0-20-maintenance-release-is-generally-available/
➢
Changes in MySQL 8.0.20 (2020-04-27, General Availability)
✔ https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html
➢
Changes in MySQL Shell 8.0.20 (2020-04-20, General Availability)
✔ https://dev.mysql.com/doc/relnotes/mysql-shell/8.0/en/news-8-0-20.html
➢
Changes in MySQL Router 8.0.20 (2020-04-27, General Availability)
✔ https://dev.mysql.com/doc/relnotes/mysql-router/en/news-8-0-20.html
➢
Changes in MySQL NDB Cluster 8.0.20 (2020-04-27, General Availability)
✔ https://dev.mysql.com/doc/relnotes/mysql-cluster/8.0/en/news-8-0-20.html
And especially the MySQL team Blogs :
➢
https://mysqlserverteam.com/
➢
https://mysqlhighavailability.com/
➢
https://mysqlrelease.com/
➢
http://insidemysql.com/
Disclaimer
www.dasini.net/blog/en/
The world's most popular open source database
www.dasini.net/blog/en/
Highlights
7
Hash Joins
New InnoDB Doublewrite Buffer
Index-Level Optimizer Hints
SHOW_ROUTINE Privilege
MySQL Shell Enhancements
MySQL Router Enhancements
MySQL InnoDB Cluster Enhancements
MySQL Replication Enhancements
MySQL NDB Cluster Enhancements
MySQL Enterprise New Features
Thanks to the Contributors
www.dasini.net/blog/en/
Hash joins
www.dasini.net/blog/en/
Hash Joins
➢
MySQL no longer use Block Nested Loop (BNL) as a join strategy
➢
This means that hash joins can now be used for :
✔ Inner equi-joins (since 8.0.18)
✔ Inner non-equi-joins
✔ Semijoins
✔ Antijoins
✔ Left outer joins
✔ Right outer joins
9
Resources
➢
Hash join in MySQL 8
✔ https://mysqlserverteam.com/hash-join-in-mysql-8/
➢
Hash Join Optimization
✔ https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html
➢
WL#13377 - Add support for hash outer, anti and semi join
✔ https://dev.mysql.com/worklog/task/?id=13377
www.dasini.net/blog/en/
New InnoDB Doublewrite Buffer
www.dasini.net/blog/en/
New InnoDB Doublewrite Buffer
➢
InnoDB area for the doublewrite buffer was moved from the system tablespace to
doublewrite files
✔ These files can be placed on a different storage
➢
This reduces write latency and increases throughput
11
Resources
➢
MySQL Performance : The New InnoDB Double Write Buffer in Action
✔ http://dimitrik.free.fr/blog/posts/mysql-80-perf-new-dblwr.html
➢
Doublewrite Buffer
✔ https://dev.mysql.com/doc/refman/8.0/en/innodb-doublewrite-buffer.html
➢
WL#5655 - Write double write buffer to a separate file to ensure atomic writes
✔ https://dev.mysql.com/worklog/task/?id=5655
www.dasini.net/blog/en/
Index-Level Optimizer Hints
www.dasini.net/blog/en/
Index-Level Optimizer Hints
➢
Index hints using the syntax of optimizer hints
✔ Function much like FORCE INDEX & IGNORE INDEX (which will be deprecated)
➢
Index-level optimizer hints :
✔ Can be put right after the SELECT | INSERT | REPLACE | UPDATE | DELETE key words
✔ Must be enclosed into a /*+ */
13
/* Traditional index hint (will be deprecated) */
SELECT title FROM film IGNORE INDEX (idx_title) INNER JOIN film_actor USING (film_id);
/* New Index-Level Optimizer Hint */
SELECT /*+ NO_INDEX(film idx_title) */ title FROM film INNER JOIN film_actor USING (film_id);
Resources
➢
MySQL 8.0.20: Index-Level Optimizer Hints
✔ https://mysql.wisborg.dk/2020/04/28/mysql-8-0-20-index-level-optimizer-hints/
➢
WL#13538 - Add index hints based on new hint infrastructure
✔ https://dev.mysql.com/worklog/task/?id=13538
www.dasini.net/blog/en/
SHOW_ROUTINE Privilege
www.dasini.net/blog/en/
SHOW_ROUTINE Privilege
➢
New dynamic server privilege which allows to view the stored procedures and
stored functions definitions & properties
➢
This enables an account to back up stored routines without requiring a broad
privilege
➢
It provides access to:
✔ The contents of the INFORMATION_SCHEMA.ROUTINES table
✔ The SHOW CREATE FUNCTION and SHOW CREATE PROCEDURE statements
✔ The SHOW FUNCTION CODE and SHOW PROCEDURE CODE statements
✔ The SHOW FUNCTION STATUS and SHOW PROCEDURE STATUS statements
15
Resources
➢
SHOW_ROUTINE
✔ https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_show-routine
➢
WL#9049 - Add a dynamic privilege for stored routine backup
✔ https://dev.mysql.com/worklog/task/?id=9049
www.dasini.net/blog/en/
MySQL Shell Enhancements
www.dasini.net/blog/en/
MySQL Shell Enhancements
➢
New Compression Algorithms
✔ compression-algorithms : allows defining the compression negotiation to be done
when connection is established
✔ Supported values (for classic and X protocols) :
━
zlib
━
zstd
━
uncompressed
━
lz4 but only for X protocol
17
Resources
➢
Compression Control For MySQL Shell 8.0.20 And Later
✔ https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-compressed-connections-8020.html
➢
MySQL Shell 8.0.20 – What’s New?
✔ https://mysqlserverteam.com/mysql-shell-8-0-20-whats-new/
www.dasini.net/blog/en/
MySQL Router Enhancements
www.dasini.net/blog/en/
MySQL Router Enhancements
➢
Authenticate HTTP requests against the MySQL InnoDB Cluster metadata
✔ Allow to :
━
Manage the accounts of the http component via the MySQL Shell
━
Authenticate against accounts stored in the metadata-servers of InnoDB Cluster
━
Using the REST APIs even through communication to the metadata-servers is lost
19
Resources
➢
WL#12952 - Authenticating HTTP Component against MySQL Innodb Cluster metadata
✔ https://dev.mysql.com/worklog/task/?id=12952
➢
Changes in MySQL Router 8.0.20
✔ https://dev.mysql.com/doc/relnotes/mysql-router/en/news-8-0-20.html
www.dasini.net/blog/en/
MySQL InnoDB Cluster Enhancements
www.dasini.net/blog/en/
InnoDB Cluster Enhancements
21
➢
Admin accounts simplification and enhancement
✔ 2 new commands to setup InnoDB Cluster, InnoDB ReplicaSet & Router admin accounts
are now available
━
setupAdminAccount : configure a MySQL user account with the necessary privileges to
administer an InnoDB cluster or InnoDB ReplicaSet
━
setupRouterAccount : create a MySQL user account or upgrade an existing account so that
it that can be used by Router to operate on an InnoDB cluster or InnoDB ReplicaSet
Resources
➢
MySQL Shell AdminAPI – What’s new in 8.0.20?
✔ https://mysqlserverteam.com/mysql-shell-adminapi-whats-new-in-8-0-20/
www.dasini.net/blog/en/
MySQL Replication Enhancements
www.dasini.net/blog/en/
Replication Enhancements 1/2
➢
Binary Log Transaction Compression
✔ You can now enable binary log transaction compression
✔ Reduce the amount of I/O, disk usage & network usage
✔ Controlled by 2 variables
━
binlog_transaction_compression: enabling the feature
━
binlog_transaction_compression_level_zstd: specify the compression level
➢
Enforce Primary Key constraints on Replication
✔ Configuration option that controls whether replication channels allow the creation of
tables without primary keys
✔ New option for the CHANGE MASTER TO statement: REQUIRE_TABLE_PRIMARY_KEY_CHECK
25
www.dasini.net/blog/en/
Replication Enhancements 2/2
26
Resources
➢
Binary Log Transaction Compression
✔ https://dev.mysql.com/doc/refman/8.0/en/binary-log-transaction-compression.html
➢
MySQL Compressed Binary Logs
✔ https://mysql.wisborg.dk/2020/05/07/mysql-compressed-binary-logs/
➢
WL#3549 - Binary log Compression
✔ https://dev.mysql.com/worklog/task/?id=3549
➢
Enforce Primary Key constraints on Replication
✔ https://mysqlhighavailability.com/enforce-primary-key-constraints-on-replication/
➢
WL#13239 - Enable/disable primary key checks on slaves
✔ https://dev.mysql.com/worklog/task/?id=13239
www.dasini.net/blog/en/
MySQL NDB Cluster Enhancements
www.dasini.net/blog/en/
NDB Cluster Enhancements
28
➢
ndb_restore improvement
✔ Possibility to divide a backup into slices and to restore it in parallel with multiple instances
of ndb_restore
✔ Should help to reduce the length of time required to restore an NDB Cluster from backup
✔ Up to 1024 slices are supported
➢
Performance improvement
✔ Many outer joins and semijoins which previously could not be pushed down to the data
nodes can now pushed
Resources
➢
ndb_restore — Restore an NDB Cluster Backup
✔ https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-restore.html
➢
num-slices
✔ https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_num-slices
➢
slice-id
✔ https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_slice-id
➢
Engine Condition Pushdown Optimization
✔ https://dev.mysql.com/doc/refman/8.0/en/condition-pushdown-optimization.html
www.dasini.net/blog/en/
MySQL Enterprise New Features
www.dasini.net/blog/en/
Enterprise New Features
➢
MySQL Enterprise Backup
✔ Table-Level Recovery: allows selected tables to be restored from full backups
➢
MySQL Enterprise Authentication
✔ SASL LDAP authentication plugin now supports GSSAPI/Kerberos as an
authentication method for MySQL clients and servers on Linux
30
Resources
➢
Table-Level Recovery (TLR)
✔ https://dev.mysql.com/doc/mysql-enterprise-backup/8.0/en/restore.partial.html
➢
LDAP Authentication Methods
✔ https://dev.mysql.com/doc/refman/8.0/en/ldap-pluggable-authentication.html#ldap-pluggable-authentication-auth-methods
www.dasini.net/blog/en/
Thanks To The Contributors
www.dasini.net/blog/en/
Thanks To The Contributors
Facebook
Yibo Cai
Jericho Rivera
Matti Sillanpää
32
If you have patches you would like to contribute you can do so from :
➢
MySQL’s GitHub repository : https://github.com/mysql
➢
Requires signing the Oracle Contributor Agreement :
https://www.oracle.com/technetwork/community/oca-486395.html
➢
MySQL 8.0.20: Thanks for the Contributions
✔ https://lefred.be/content/mysql-8-0-20-thanks-for-the-contributions/
Nick Pollett
Bruce Feng
Kamil Holubicky
Rastislav Masaryk (MySQL Router)
www.dasini.net/blog/en/
The Complete List Of New Features In MySQL 8.0
33
There are 250+ new features in MySQL 8.0...
https://mysqlserverteam.com/the-complete-list-of-new-features-in-mysql-8-0/
www.dasini.net/blog/en/
www.dasini.net/blog/en/
Thanks for using !

Contenu connexe

Plus de Olivier DASINI

MySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features SummaryMySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features SummaryOlivier DASINI
 
MySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features SummaryMySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features SummaryOlivier DASINI
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryOlivier DASINI
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinMySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinOlivier DASINI
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsOlivier DASINI
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...Olivier DASINI
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreOlivier DASINI
 
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?Olivier DASINI
 
MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018Olivier DASINI
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...Olivier DASINI
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?Olivier DASINI
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...Olivier DASINI
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)Olivier DASINI
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisOlivier DASINI
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionOlivier DASINI
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceOlivier DASINI
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreOlivier DASINI
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterOlivier DASINI
 

Plus de Olivier DASINI (20)

MySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features SummaryMySQL 8.0.18 - New Features Summary
MySQL 8.0.18 - New Features Summary
 
MySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features SummaryMySQL 8.0.17 - New Features Summary
MySQL 8.0.17 - New Features Summary
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features Summary
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinMySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document Store
 
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
MySQL Day Paris 2018 - What’s New in MySQL 8.0 ?
 
MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018MySQL 8.0, what's new ? - Forum PHP 2018
MySQL 8.0, what's new ? - Forum PHP 2018
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
 
MySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise EditionMySQL Day Paris 2016 - MySQL Enterprise Edition
MySQL Day Paris 2016 - MySQL Enterprise Edition
 
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud ServiceMySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
MySQL Day Paris 2016 - Introducing Oracle MySQL Cloud Service
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document Store
 
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
 

Dernier

VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...shambhavirathore45
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Delhi Call girls
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxolyaivanovalion
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlkumarajju5765
 

Dernier (20)

Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
ALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptxALSO dropshipping via API with DroFx.pptx
ALSO dropshipping via API with DroFx.pptx
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 

MySQL 8.0.20 - New Features Summary

  • 1. MySQL 8.0.20 New Features Summary Olivier DASINI MySQL Principal Solutions Architect Blog: www.dasini.net/blog/en/ Twitter: @freshdaz
  • 2. www.dasini.net/blog/en/ Me, Myself & I ➢ MySQL Geek ✔ Addicted to MySQL for 15+ years! ✔ Playing with databases for 20+ years ➢ MySQL Writer, Blogger and Speaker ✔ Also former : DBA, Consultant, Architect, Trainer, ... ➢ MySQL Principal Solutions Architect EMEA at Oracle ➢ Stay tuned! : ✔ Twitter : @freshdaz ✔ Blog : www.dasini.net/blog/en Olivier DASINI
  • 3. www.dasini.net/blog/en/ The following is just a summary of the MySQL 8.0.20 new features. For a more thorough and exhaustive view please read the following : ➢ The MySQL 8.0.20 Maintenance Release is Generally Available ✔ https://mysqlserverteam.com/the-mysql-8-0-20-maintenance-release-is-generally-available/ ➢ Changes in MySQL 8.0.20 (2020-04-27, General Availability) ✔ https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html ➢ Changes in MySQL Shell 8.0.20 (2020-04-20, General Availability) ✔ https://dev.mysql.com/doc/relnotes/mysql-shell/8.0/en/news-8-0-20.html ➢ Changes in MySQL Router 8.0.20 (2020-04-27, General Availability) ✔ https://dev.mysql.com/doc/relnotes/mysql-router/en/news-8-0-20.html ➢ Changes in MySQL NDB Cluster 8.0.20 (2020-04-27, General Availability) ✔ https://dev.mysql.com/doc/relnotes/mysql-cluster/8.0/en/news-8-0-20.html And especially the MySQL team Blogs : ➢ https://mysqlserverteam.com/ ➢ https://mysqlhighavailability.com/ ➢ https://mysqlrelease.com/ ➢ http://insidemysql.com/ Disclaimer
  • 4. www.dasini.net/blog/en/ The world's most popular open source database
  • 5. www.dasini.net/blog/en/ Highlights 7 Hash Joins New InnoDB Doublewrite Buffer Index-Level Optimizer Hints SHOW_ROUTINE Privilege MySQL Shell Enhancements MySQL Router Enhancements MySQL InnoDB Cluster Enhancements MySQL Replication Enhancements MySQL NDB Cluster Enhancements MySQL Enterprise New Features Thanks to the Contributors
  • 7. www.dasini.net/blog/en/ Hash Joins ➢ MySQL no longer use Block Nested Loop (BNL) as a join strategy ➢ This means that hash joins can now be used for : ✔ Inner equi-joins (since 8.0.18) ✔ Inner non-equi-joins ✔ Semijoins ✔ Antijoins ✔ Left outer joins ✔ Right outer joins 9 Resources ➢ Hash join in MySQL 8 ✔ https://mysqlserverteam.com/hash-join-in-mysql-8/ ➢ Hash Join Optimization ✔ https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html ➢ WL#13377 - Add support for hash outer, anti and semi join ✔ https://dev.mysql.com/worklog/task/?id=13377
  • 9. www.dasini.net/blog/en/ New InnoDB Doublewrite Buffer ➢ InnoDB area for the doublewrite buffer was moved from the system tablespace to doublewrite files ✔ These files can be placed on a different storage ➢ This reduces write latency and increases throughput 11 Resources ➢ MySQL Performance : The New InnoDB Double Write Buffer in Action ✔ http://dimitrik.free.fr/blog/posts/mysql-80-perf-new-dblwr.html ➢ Doublewrite Buffer ✔ https://dev.mysql.com/doc/refman/8.0/en/innodb-doublewrite-buffer.html ➢ WL#5655 - Write double write buffer to a separate file to ensure atomic writes ✔ https://dev.mysql.com/worklog/task/?id=5655
  • 11. www.dasini.net/blog/en/ Index-Level Optimizer Hints ➢ Index hints using the syntax of optimizer hints ✔ Function much like FORCE INDEX & IGNORE INDEX (which will be deprecated) ➢ Index-level optimizer hints : ✔ Can be put right after the SELECT | INSERT | REPLACE | UPDATE | DELETE key words ✔ Must be enclosed into a /*+ */ 13 /* Traditional index hint (will be deprecated) */ SELECT title FROM film IGNORE INDEX (idx_title) INNER JOIN film_actor USING (film_id); /* New Index-Level Optimizer Hint */ SELECT /*+ NO_INDEX(film idx_title) */ title FROM film INNER JOIN film_actor USING (film_id); Resources ➢ MySQL 8.0.20: Index-Level Optimizer Hints ✔ https://mysql.wisborg.dk/2020/04/28/mysql-8-0-20-index-level-optimizer-hints/ ➢ WL#13538 - Add index hints based on new hint infrastructure ✔ https://dev.mysql.com/worklog/task/?id=13538
  • 13. www.dasini.net/blog/en/ SHOW_ROUTINE Privilege ➢ New dynamic server privilege which allows to view the stored procedures and stored functions definitions & properties ➢ This enables an account to back up stored routines without requiring a broad privilege ➢ It provides access to: ✔ The contents of the INFORMATION_SCHEMA.ROUTINES table ✔ The SHOW CREATE FUNCTION and SHOW CREATE PROCEDURE statements ✔ The SHOW FUNCTION CODE and SHOW PROCEDURE CODE statements ✔ The SHOW FUNCTION STATUS and SHOW PROCEDURE STATUS statements 15 Resources ➢ SHOW_ROUTINE ✔ https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_show-routine ➢ WL#9049 - Add a dynamic privilege for stored routine backup ✔ https://dev.mysql.com/worklog/task/?id=9049
  • 15. www.dasini.net/blog/en/ MySQL Shell Enhancements ➢ New Compression Algorithms ✔ compression-algorithms : allows defining the compression negotiation to be done when connection is established ✔ Supported values (for classic and X protocols) : ━ zlib ━ zstd ━ uncompressed ━ lz4 but only for X protocol 17 Resources ➢ Compression Control For MySQL Shell 8.0.20 And Later ✔ https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-compressed-connections-8020.html ➢ MySQL Shell 8.0.20 – What’s New? ✔ https://mysqlserverteam.com/mysql-shell-8-0-20-whats-new/
  • 17. www.dasini.net/blog/en/ MySQL Router Enhancements ➢ Authenticate HTTP requests against the MySQL InnoDB Cluster metadata ✔ Allow to : ━ Manage the accounts of the http component via the MySQL Shell ━ Authenticate against accounts stored in the metadata-servers of InnoDB Cluster ━ Using the REST APIs even through communication to the metadata-servers is lost 19 Resources ➢ WL#12952 - Authenticating HTTP Component against MySQL Innodb Cluster metadata ✔ https://dev.mysql.com/worklog/task/?id=12952 ➢ Changes in MySQL Router 8.0.20 ✔ https://dev.mysql.com/doc/relnotes/mysql-router/en/news-8-0-20.html
  • 19. www.dasini.net/blog/en/ InnoDB Cluster Enhancements 21 ➢ Admin accounts simplification and enhancement ✔ 2 new commands to setup InnoDB Cluster, InnoDB ReplicaSet & Router admin accounts are now available ━ setupAdminAccount : configure a MySQL user account with the necessary privileges to administer an InnoDB cluster or InnoDB ReplicaSet ━ setupRouterAccount : create a MySQL user account or upgrade an existing account so that it that can be used by Router to operate on an InnoDB cluster or InnoDB ReplicaSet Resources ➢ MySQL Shell AdminAPI – What’s new in 8.0.20? ✔ https://mysqlserverteam.com/mysql-shell-adminapi-whats-new-in-8-0-20/
  • 21. www.dasini.net/blog/en/ Replication Enhancements 1/2 ➢ Binary Log Transaction Compression ✔ You can now enable binary log transaction compression ✔ Reduce the amount of I/O, disk usage & network usage ✔ Controlled by 2 variables ━ binlog_transaction_compression: enabling the feature ━ binlog_transaction_compression_level_zstd: specify the compression level ➢ Enforce Primary Key constraints on Replication ✔ Configuration option that controls whether replication channels allow the creation of tables without primary keys ✔ New option for the CHANGE MASTER TO statement: REQUIRE_TABLE_PRIMARY_KEY_CHECK 25
  • 22. www.dasini.net/blog/en/ Replication Enhancements 2/2 26 Resources ➢ Binary Log Transaction Compression ✔ https://dev.mysql.com/doc/refman/8.0/en/binary-log-transaction-compression.html ➢ MySQL Compressed Binary Logs ✔ https://mysql.wisborg.dk/2020/05/07/mysql-compressed-binary-logs/ ➢ WL#3549 - Binary log Compression ✔ https://dev.mysql.com/worklog/task/?id=3549 ➢ Enforce Primary Key constraints on Replication ✔ https://mysqlhighavailability.com/enforce-primary-key-constraints-on-replication/ ➢ WL#13239 - Enable/disable primary key checks on slaves ✔ https://dev.mysql.com/worklog/task/?id=13239
  • 24. www.dasini.net/blog/en/ NDB Cluster Enhancements 28 ➢ ndb_restore improvement ✔ Possibility to divide a backup into slices and to restore it in parallel with multiple instances of ndb_restore ✔ Should help to reduce the length of time required to restore an NDB Cluster from backup ✔ Up to 1024 slices are supported ➢ Performance improvement ✔ Many outer joins and semijoins which previously could not be pushed down to the data nodes can now pushed Resources ➢ ndb_restore — Restore an NDB Cluster Backup ✔ https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-restore.html ➢ num-slices ✔ https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_num-slices ➢ slice-id ✔ https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-programs-ndb-restore.html#option_ndb_restore_slice-id ➢ Engine Condition Pushdown Optimization ✔ https://dev.mysql.com/doc/refman/8.0/en/condition-pushdown-optimization.html
  • 26. www.dasini.net/blog/en/ Enterprise New Features ➢ MySQL Enterprise Backup ✔ Table-Level Recovery: allows selected tables to be restored from full backups ➢ MySQL Enterprise Authentication ✔ SASL LDAP authentication plugin now supports GSSAPI/Kerberos as an authentication method for MySQL clients and servers on Linux 30 Resources ➢ Table-Level Recovery (TLR) ✔ https://dev.mysql.com/doc/mysql-enterprise-backup/8.0/en/restore.partial.html ➢ LDAP Authentication Methods ✔ https://dev.mysql.com/doc/refman/8.0/en/ldap-pluggable-authentication.html#ldap-pluggable-authentication-auth-methods
  • 28. www.dasini.net/blog/en/ Thanks To The Contributors Facebook Yibo Cai Jericho Rivera Matti Sillanpää 32 If you have patches you would like to contribute you can do so from : ➢ MySQL’s GitHub repository : https://github.com/mysql ➢ Requires signing the Oracle Contributor Agreement : https://www.oracle.com/technetwork/community/oca-486395.html ➢ MySQL 8.0.20: Thanks for the Contributions ✔ https://lefred.be/content/mysql-8-0-20-thanks-for-the-contributions/ Nick Pollett Bruce Feng Kamil Holubicky Rastislav Masaryk (MySQL Router)
  • 29. www.dasini.net/blog/en/ The Complete List Of New Features In MySQL 8.0 33 There are 250+ new features in MySQL 8.0... https://mysqlserverteam.com/the-complete-list-of-new-features-in-mysql-8-0/