SlideShare a Scribd company logo
1 of 31
Download to read offline
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 !

More Related Content

More from 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
 

More from 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
 

Recently uploaded

Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhYasamin16
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...Amil Baba Dawood bangali
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Cantervoginip
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...limedy534
 
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Thomas Poetter
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfchwongval
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxaleedritatuxx
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Boston Institute of Analytics
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesTimothy Spann
 
April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024
April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024
April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024Timothy Spann
 

Recently uploaded (20)

Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree澳洲中央昆士兰大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Canter
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
 
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
Minimizing AI Hallucinations/Confabulations and the Path towards AGI with Exa...
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdf
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
Decoding the Heart: Student Presentation on Heart Attack Prediction with Data...
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
 
April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024
April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024
April 2024 - NLIT Cloudera Real-Time LLM Streaming 2024
 

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/