SlideShare une entreprise Scribd logo
1  sur  22
Dave Stokes
Community Manager
MySQL
December 04, 2019
New MySQL Features & A Peek at 2020
Subtitle
1
Safe harbor statement
The following is intended to outline our general product direction. It is intended for information purposes
only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
code, or functionality, and should not be relied upon in making purchasing decisions.
The development, release, timing, and pricing of any features or functionality described for Oracle’s
products may change and remains at the sole discretion of Oracle Corporation.
2
Me?
 Started using MySQL when it first was available
 Used in many projects -> Open Source used to low $
 Joined MySQLAB as PHP Programmer in CertificationTeam
 MySQLAB -> Sun Microsystems -> Oracle
 Calpont & InfiniDB
 MySQL CommunityTeam
3
First topic
Program agenda
1
2
3
4
5
Second topic
Third topic
Fourth topic
Fifth topic
4
Please ask questions!
Let us make this interactive!!
What do you want to see from MySQL in 2020?
MySQL Release Cycle ~ 4x times a year
In the old days it took years to get new features into MySQL – slow, costly, not great for customers
Joined CI/CD bandwagon
Much more complex software than back in the 5.5 era
Plug-ins allow fast development and the ability to shut them off!
Improved ability to improve product
Better coordination between various components (mysqlsh, InnoDB Cluster, Proxy)
Faster to get tools into hands of customers
Much better product
Vastly superior engineering rigor – Q/A Reports
5
8.0.18 – October 2019
1. Random Passwords – CREATE USER, ALTER USER, and SET PASSWORD
2. EXPLAIN ANALYSE
3. HASH JOINS
4. Compression – added ztsd (uncompresses or zlib other options)
5. Enterprise Edition supports HashCorp Vault
6
Random Password https://elephantdolphin.blogspot.com/2019/10/mysql-
random-password-generation.html
SQL > create user 'Foo'@'%' IDENTIFIED BY RANDOM PASSWORD;
+------+------+----------------------+
| user | host | generated password |
+------+------+----------------------+
| Foo | % | Ld]5/Fkn[Kk29/g/M;>n |
+------+------+----------------------+
1 row in set (0.0090 sec)
7
Hash Joins
https://mysqlserverteam.com/hash-join-in-mysql-8/
8
EXPLAIN ANALYZE
https://mysqlserverteam.com/mysql-explain-analyze/
EXPLAIN ANALYZE select city.Name, Country.Name
FROM city
JOIN country ON (city.CountryCode = country.code)
WHERE country.code= 'GBR' O
RDER by city.name
LIMIT 5;
| EXPLAIN
|
| -> Limit: 5 row(s) (actual time=0.102..0.103 rows=5 loops=1)
-> Sort: city.Name, limit input to 5 row(s) per chunk (cost=80.76 rows=81) (actual
time=0.102..0.102 rows=5 loops=1)
-> Index lookup on city using CountryCode (CountryCode='GBR') (actual time=0.066..0.075
rows=81 loops=1)
|
1 row in set (0.0006 sec)
9
8.0.17 – July 2019
1. Multi-valued indexes
2. JSON Document Validation
3. Dual Password
4. Clone
5. New utf8mb4_900_bin (faster storts), no pad attribute
10
Multi-Valued Indexes
https://elephantdolphin.blogspot.com/2019/08/improved-mysql-query-
performance-with.html
CREATE INDEX data__nbr_idx ON a1( (CAST(data->'$.nbr' AS UNSIGNED ARRAY)) );
A Multi-Valued Index (MVI) is a secondary index defined on a column made up of an array of values. We
are all used to traditional indexes where you have one value per index entry, a 1:1 ratio. A MVI can have
multiple records for each index record. So you can have multiple postal codes, phone numbers, or other
attributes from one JSON document indexed for quick access.
11
JSON DocumentValidation
https://elephantdolphin.blogspot.com/2019/07/json-schema-validation-
with-mysql-8017.html
CREATE TABLE `testx` (
`col` JSON,
CONSTRAINT `myage_inRange`
CHECK (JSON_SCHEMA_VALID('{"type": "object",
"properties": {
"myage": {
"type" : "number",
"minimum": 28,
"maximum": 99
}
},"required": ["myage"]
}', `col`) = 1)
);
mysql> insert into testx values('{"myage":27}');
ERROR 3819 (HY000): Check constraint 'myage_inRange' is violated.
mysql> insert into testx values('{"myage":97}');
Query OK, 1 row affected (0.02 sec)
12
You can now check for required
keys, value types, and range
check values in your JSON
documents!
Dual Passwords
https://elephantdolphin.blogspot.com/2019/09/my-mysql-account-has-
two-passwords.html
ALTER USER 'dave'@'deardave.xyz' IDENTIFIED BY 'deardave2' RETAIN CURRENT
PASSWORD;
In the mysql.user table there is now a JSON column named User_attributes that now has the secondary
password:
{"additional_password": "$A$005$;H7u001bu001bu0006<`qFRUtNRxT
Zu0003Ya/iej8Az8LoXGTv.dtf9K3RdJuaLFtXZHBs3/DntG2"}
And How Do I Get Rid Of A Secondary Password
ALTER USER 'dave'@'deardave'xyz' DISCARD OLD PASSWORD
13
8.0.16 – April 2019
1. The mysql_upgrade script runs automatically
2. Constraint checks
3. MySQL C API supports asynchronous, non blocking communications with server
4. EXPLAIN FORMAT=TREE
14
8.0.14/.15 – January/February 2019
1. Dual Passwords
2. Admin TCP/IP port (default 33062), no limit on number of connections, requires
SERVICE_CONNETION_ADMIN priviledge
3. JSON_ARRAYAGG() and JSON_OBJECTAGG() added to Window Functions
4. SET PERSIST and SET PERSIST ONLY
5. LATERAL derived tables
15
8.0.11 – till now
1. Data Dictionary
2. Histograms
3. Resource Groups
4. CATS
5. Better JSON support
6. UTF8MB4
7. Improved InnoDB Cluster
8. Improved X DevAPI / MySQL as NoSQL
9. New temporary table engine
10. Better performace
16
A Much Better product with more flexibility
 Better SQL
Windowing Functions
CTEs
Derived tables
Check Constraints
 Better NoSQL
JSON validation
X DevAPI
JSON Support
JSON_TABLE for treating NoSQL data as SQL
17
18
2020 -> 8.0.19, .20, .21, .22
So what do you want in the next releases?
19
Dave’s very unofficial private ideas of what you will see in the next releases
of MySQL in 2020 not blessed or endorsed by Oracle, MySQL, or anybody
else but me.
1. Enterprise Edition will be doing a lot more with security (and customers are paying for it).
2. Much more improvements in:
1. JSON Support
2. GIS
3. More functionality in InnoDB cluster following consistency levels in latest releases, clone plug-in
4. Big improvements in X DevAPI
5. More features in the new shell
6. Still a few mutexes to eliminate, better performance
7. More emphasis on Kuberneties-ish deployments despite not being a great database environment
8. DBAs are going to be harder to find, but scope of job will widen
9. Bad data architecture will start to be seen as a problem: Digital Data Landfill
10. ?
20
Using JSON & MYSQL
My book is frequently on sale at Amazon
21
Thank you
Dave Stokes
MySQLCommunity Manager
MySQL
David.Stokes @ Oracle.com
22

Contenu connexe

Tendances

DB エンジニアのマイクロサービス入門〜Oracle Database と Docker ではじめる API サービス〜
DB エンジニアのマイクロサービス入門〜Oracle Database と  Docker ではじめる API サービス〜DB エンジニアのマイクロサービス入門〜Oracle Database と  Docker ではじめる API サービス〜
DB エンジニアのマイクロサービス入門〜Oracle Database と Docker ではじめる API サービス〜
Michitoshi Yoshida
 
Mysql Fun
Mysql FunMysql Fun
Mysql Fun
SHC
 

Tendances (20)

MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best Practices
 
DB エンジニアのマイクロサービス入門〜Oracle Database と Docker ではじめる API サービス〜
DB エンジニアのマイクロサービス入門〜Oracle Database と  Docker ではじめる API サービス〜DB エンジニアのマイクロサービス入門〜Oracle Database と  Docker ではじめる API サービス〜
DB エンジニアのマイクロサービス入門〜Oracle Database と Docker ではじめる API サービス〜
 
MySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features SummaryMySQL 8.0.21 - New Features Summary
MySQL 8.0.21 - New Features Summary
 
OpenStack GDL : Hacking keystone | 20 Octubre 2014
OpenStack GDL : Hacking keystone | 20 Octubre 2014OpenStack GDL : Hacking keystone | 20 Octubre 2014
OpenStack GDL : Hacking keystone | 20 Octubre 2014
 
MySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesMySQL 8.0 Operational Changes
MySQL 8.0 Operational Changes
 
State of The Dolphin - May 2021
State of The Dolphin - May 2021State of The Dolphin - May 2021
State of The Dolphin - May 2021
 
Ohio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLOhio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQL
 
Keystone: Federated
Keystone: FederatedKeystone: Federated
Keystone: Federated
 
Php &amp; my sql - how do pdo, mysq-li, and x devapi do what they do
Php &amp; my sql  - how do pdo, mysq-li, and x devapi do what they doPhp &amp; my sql  - how do pdo, mysq-li, and x devapi do what they do
Php &amp; my sql - how do pdo, mysq-li, and x devapi do what they do
 
Architecting Windows Azure
Architecting Windows AzureArchitecting Windows Azure
Architecting Windows Azure
 
OpenStack Toronto Meetup - Keystone 101
OpenStack Toronto Meetup - Keystone 101OpenStack Toronto Meetup - Keystone 101
OpenStack Toronto Meetup - Keystone 101
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
 
Mysql Fun
Mysql FunMysql Fun
Mysql Fun
 
MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015
 
MySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRVMySQL Connectors 8.0.19 & DNS SRV
MySQL Connectors 8.0.19 & DNS SRV
 
Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0Les nouveautés de MySQL 8.0
Les nouveautés de MySQL 8.0
 
MySQL Cluster 8.0 tutorial text
MySQL Cluster 8.0 tutorial textMySQL Cluster 8.0 tutorial text
MySQL Cluster 8.0 tutorial text
 
Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my!
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
 

Similaire à MySQL 8.0 from December London Open Source Database Meetup

Megha_Osi my sql productroadmap
Megha_Osi my sql productroadmapMegha_Osi my sql productroadmap
Megha_Osi my sql productroadmap
OpenSourceIndia
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
Geir Høydalsvik
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
Geir Høydalsvik
 

Similaire à MySQL 8.0 from December London Open Source Database Meetup (20)

MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New Features
 
NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven Features
 
MySQL 8: Ready for Prime Time
MySQL 8: Ready for Prime TimeMySQL 8: Ready for Prime Time
MySQL 8: Ready for Prime Time
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL Enterprise Edition
MySQL Enterprise EditionMySQL Enterprise Edition
MySQL Enterprise Edition
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
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
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
 
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersMySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python Developers
 
Megha_Osi my sql productroadmap
Megha_Osi my sql productroadmapMegha_Osi my sql productroadmap
Megha_Osi my sql productroadmap
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
 
MySQL Shell for DBAs
MySQL Shell for DBAsMySQL Shell for DBAs
MySQL Shell for DBAs
 
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
2018: State of the Dolphin, MySQL Keynote at Percona Live Europe 2018, Frankf...
 
MySQL 8.0 Introduction to NoSQL + SQL
MySQL 8.0 Introduction to NoSQL + SQLMySQL 8.0 Introduction to NoSQL + SQL
MySQL 8.0 Introduction to NoSQL + SQL
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
 
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 Without the SQL -- Oh My! Longhorn PHP Conference
MySQL Without the SQL -- Oh My!  Longhorn PHP ConferenceMySQL Without the SQL -- Oh My!  Longhorn PHP Conference
MySQL Without the SQL -- Oh My! Longhorn PHP Conference
 

Plus de Dave Stokes

Plus de Dave Stokes (20)

Json within a relational database
Json within a relational databaseJson within a relational database
Json within a relational database
 
Database basics for new-ish developers -- All Things Open October 18th 2021
Database basics for new-ish developers  -- All Things Open October 18th 2021Database basics for new-ish developers  -- All Things Open October 18th 2021
Database basics for new-ish developers -- All Things Open October 18th 2021
 
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
 
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
 
Validating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationValidating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentation
 
Data Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsData Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database Analytics
 
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & Histograms
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentation
 
A Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreA Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document Store
 
Discover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDiscover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQL
 
Discover the Power of the NoSQL + SQL with MySQL
Discover the Power of the NoSQL + SQL with MySQLDiscover the Power of the NoSQL + SQL with MySQL
Discover the Power of the NoSQL + SQL with MySQL
 
Confoo 202 - MySQL Group Replication and ReplicaSet
Confoo 202 - MySQL Group Replication and ReplicaSetConfoo 202 - MySQL Group Replication and ReplicaSet
Confoo 202 - MySQL Group Replication and ReplicaSet
 
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
 
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
 
Upgrading to MySQL 8.0 webinar slides November 27th, 2019
Upgrading to MySQL 8.0 webinar slides November 27th, 2019Upgrading to MySQL 8.0 webinar slides November 27th, 2019
Upgrading to MySQL 8.0 webinar slides November 27th, 2019
 
Windowing Functions - Little Rock Tech Fest 2019
Windowing Functions - Little Rock Tech Fest 2019Windowing Functions - Little Rock Tech Fest 2019
Windowing Functions - Little Rock Tech Fest 2019
 
Oracle CodeOne Foreign Keys Support in MySQL 8.0
Oracle CodeOne Foreign Keys Support in MySQL 8.0Oracle CodeOne Foreign Keys Support in MySQL 8.0
Oracle CodeOne Foreign Keys Support in MySQL 8.0
 
MySQL Without the SQL - Oh My! August 2nd presentation at Mid Atlantic Develo...
MySQL Without the SQL - Oh My! August 2nd presentation at Mid Atlantic Develo...MySQL Without the SQL - Oh My! August 2nd presentation at Mid Atlantic Develo...
MySQL Without the SQL - Oh My! August 2nd presentation at Mid Atlantic Develo...
 
MySQL 8.0 Graphical Information System - Mid Atlantic Developers Conference
MySQL 8.0 Graphical Information System - Mid Atlantic Developers ConferenceMySQL 8.0 Graphical Information System - Mid Atlantic Developers Conference
MySQL 8.0 Graphical Information System - Mid Atlantic Developers Conference
 

Dernier

( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 

Dernier (20)

VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 

MySQL 8.0 from December London Open Source Database Meetup

  • 1. Dave Stokes Community Manager MySQL December 04, 2019 New MySQL Features & A Peek at 2020 Subtitle 1
  • 2. Safe harbor statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2
  • 3. Me?  Started using MySQL when it first was available  Used in many projects -> Open Source used to low $  Joined MySQLAB as PHP Programmer in CertificationTeam  MySQLAB -> Sun Microsystems -> Oracle  Calpont & InfiniDB  MySQL CommunityTeam 3
  • 4. First topic Program agenda 1 2 3 4 5 Second topic Third topic Fourth topic Fifth topic 4 Please ask questions! Let us make this interactive!! What do you want to see from MySQL in 2020?
  • 5. MySQL Release Cycle ~ 4x times a year In the old days it took years to get new features into MySQL – slow, costly, not great for customers Joined CI/CD bandwagon Much more complex software than back in the 5.5 era Plug-ins allow fast development and the ability to shut them off! Improved ability to improve product Better coordination between various components (mysqlsh, InnoDB Cluster, Proxy) Faster to get tools into hands of customers Much better product Vastly superior engineering rigor – Q/A Reports 5
  • 6. 8.0.18 – October 2019 1. Random Passwords – CREATE USER, ALTER USER, and SET PASSWORD 2. EXPLAIN ANALYSE 3. HASH JOINS 4. Compression – added ztsd (uncompresses or zlib other options) 5. Enterprise Edition supports HashCorp Vault 6
  • 7. Random Password https://elephantdolphin.blogspot.com/2019/10/mysql- random-password-generation.html SQL > create user 'Foo'@'%' IDENTIFIED BY RANDOM PASSWORD; +------+------+----------------------+ | user | host | generated password | +------+------+----------------------+ | Foo | % | Ld]5/Fkn[Kk29/g/M;>n | +------+------+----------------------+ 1 row in set (0.0090 sec) 7
  • 9. EXPLAIN ANALYZE https://mysqlserverteam.com/mysql-explain-analyze/ EXPLAIN ANALYZE select city.Name, Country.Name FROM city JOIN country ON (city.CountryCode = country.code) WHERE country.code= 'GBR' O RDER by city.name LIMIT 5; | EXPLAIN | | -> Limit: 5 row(s) (actual time=0.102..0.103 rows=5 loops=1) -> Sort: city.Name, limit input to 5 row(s) per chunk (cost=80.76 rows=81) (actual time=0.102..0.102 rows=5 loops=1) -> Index lookup on city using CountryCode (CountryCode='GBR') (actual time=0.066..0.075 rows=81 loops=1) | 1 row in set (0.0006 sec) 9
  • 10. 8.0.17 – July 2019 1. Multi-valued indexes 2. JSON Document Validation 3. Dual Password 4. Clone 5. New utf8mb4_900_bin (faster storts), no pad attribute 10
  • 11. Multi-Valued Indexes https://elephantdolphin.blogspot.com/2019/08/improved-mysql-query- performance-with.html CREATE INDEX data__nbr_idx ON a1( (CAST(data->'$.nbr' AS UNSIGNED ARRAY)) ); A Multi-Valued Index (MVI) is a secondary index defined on a column made up of an array of values. We are all used to traditional indexes where you have one value per index entry, a 1:1 ratio. A MVI can have multiple records for each index record. So you can have multiple postal codes, phone numbers, or other attributes from one JSON document indexed for quick access. 11
  • 12. JSON DocumentValidation https://elephantdolphin.blogspot.com/2019/07/json-schema-validation- with-mysql-8017.html CREATE TABLE `testx` ( `col` JSON, CONSTRAINT `myage_inRange` CHECK (JSON_SCHEMA_VALID('{"type": "object", "properties": { "myage": { "type" : "number", "minimum": 28, "maximum": 99 } },"required": ["myage"] }', `col`) = 1) ); mysql> insert into testx values('{"myage":27}'); ERROR 3819 (HY000): Check constraint 'myage_inRange' is violated. mysql> insert into testx values('{"myage":97}'); Query OK, 1 row affected (0.02 sec) 12 You can now check for required keys, value types, and range check values in your JSON documents!
  • 13. Dual Passwords https://elephantdolphin.blogspot.com/2019/09/my-mysql-account-has- two-passwords.html ALTER USER 'dave'@'deardave.xyz' IDENTIFIED BY 'deardave2' RETAIN CURRENT PASSWORD; In the mysql.user table there is now a JSON column named User_attributes that now has the secondary password: {"additional_password": "$A$005$;H7u001bu001bu0006<`qFRUtNRxT Zu0003Ya/iej8Az8LoXGTv.dtf9K3RdJuaLFtXZHBs3/DntG2"} And How Do I Get Rid Of A Secondary Password ALTER USER 'dave'@'deardave'xyz' DISCARD OLD PASSWORD 13
  • 14. 8.0.16 – April 2019 1. The mysql_upgrade script runs automatically 2. Constraint checks 3. MySQL C API supports asynchronous, non blocking communications with server 4. EXPLAIN FORMAT=TREE 14
  • 15. 8.0.14/.15 – January/February 2019 1. Dual Passwords 2. Admin TCP/IP port (default 33062), no limit on number of connections, requires SERVICE_CONNETION_ADMIN priviledge 3. JSON_ARRAYAGG() and JSON_OBJECTAGG() added to Window Functions 4. SET PERSIST and SET PERSIST ONLY 5. LATERAL derived tables 15
  • 16. 8.0.11 – till now 1. Data Dictionary 2. Histograms 3. Resource Groups 4. CATS 5. Better JSON support 6. UTF8MB4 7. Improved InnoDB Cluster 8. Improved X DevAPI / MySQL as NoSQL 9. New temporary table engine 10. Better performace 16
  • 17. A Much Better product with more flexibility  Better SQL Windowing Functions CTEs Derived tables Check Constraints  Better NoSQL JSON validation X DevAPI JSON Support JSON_TABLE for treating NoSQL data as SQL 17
  • 18. 18
  • 19. 2020 -> 8.0.19, .20, .21, .22 So what do you want in the next releases? 19
  • 20. Dave’s very unofficial private ideas of what you will see in the next releases of MySQL in 2020 not blessed or endorsed by Oracle, MySQL, or anybody else but me. 1. Enterprise Edition will be doing a lot more with security (and customers are paying for it). 2. Much more improvements in: 1. JSON Support 2. GIS 3. More functionality in InnoDB cluster following consistency levels in latest releases, clone plug-in 4. Big improvements in X DevAPI 5. More features in the new shell 6. Still a few mutexes to eliminate, better performance 7. More emphasis on Kuberneties-ish deployments despite not being a great database environment 8. DBAs are going to be harder to find, but scope of job will widen 9. Bad data architecture will start to be seen as a problem: Digital Data Landfill 10. ? 20
  • 21. Using JSON & MYSQL My book is frequently on sale at Amazon 21
  • 22. Thank you Dave Stokes MySQLCommunity Manager MySQL David.Stokes @ Oracle.com 22