SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL 8 Loves JavaScript
Sanjay Manwani
MySQL India Director
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
1
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
MySQL Innovation: 5.7 -> 8.0
- 3x Better Performance
- Replication Enhancements
- Optimizer Cost Model
- JSON Support
- Improved Security
- Sys & Performance Schema
- GIS
MySQL 5.7
MySQL InnoDB Cluster
- MySQL Group Replication
- MySQL Router
- MySQL Shell
MySQL 8.0
- NoSQL Document Store
- JSON
- CTEs
- Window Functions
- Data Dictionary
- InnoDB
- Replication
- Roles
- Unicode
- GIS
2 Years in Development
400+ Worklogs
5000+ Bugs Fixed
500 New Tests
GA
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 3
MySQL 8.0: Document Store
• Document oriented data storage for MySQL
– Full JSON document support through SQL and new X DevAPI NoSQL interface
• Schema-less and schema based data in the same technology stack
– Use COLLECTIONs of documents & relational TABLEs together
• Rapid Prototyping & Simple CRUD APIs
– Modern APIs using “method chaining” and asynchronous execution (e.g. promises, callbacks, etc.)
• Connectors for many different languages and frameworks
– Node.JS, Java, NET, C++/C, PHP, Python
NoSQL + SQL
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4
X ProtocolStd Protocol
SQL API CRUD and SQL APIs
JSON Collections
SQL Tables
MySQL Databases
SQL and NoSQL
{“_id: “232342”,
“firstname”: “John”,
“lastname”: “Doe”,
“city”: “anytown”};
City
Name Pop Area
Anytown 2003 33
Othertown 23000 400
Relational Tables
MySQL Shell
Scripting
MySQL Connectors (Node.js, Python, Java, .Net)
SQL NoSQL
JSON Collections
Applications
MySQL 8.0: Document Store Architecture
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 5
Collections
• A Collection is a set of JSON Documents
• Each document has it's unique ID in an _id property
• Easy to search within documents
• Implemented as a table with a JSON column and indexes on generated
columns
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 6
X Protocol
• New Protocol implemented in X Plugin
• Based on Google Protocol Buffers
• More flexibility for future extensions
• Better understanding of content
• CRUD Expression trees in protocol
• Expectations to attach conditions on pipelined statements
• Bound parameters
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• Full Node.js integration
– Support for “Promises”
• Autocompletion support in IDEs
– Due to method chaining support
• Intuitive Documentation & Tutorials
– Example:
7
MySQL 8.0: Document Store
Designed for modern Developers
COLLECTION.add Function
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 8
Node.JS
• Programming model
• Single-threaded environment (it's JavaScript after all)
• Asynchronous callback-based core
• Non-blocking operations run immediately and sequentially
• Blocking operations queued outside execution scope
• Result of a blocking operation is handled "eventually"
• Concurrency with C++ APIs (threads) or multiple processes
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 9
Node.JS : Dealing with asynchronicity
• Push-based abstractions for asynchronous callbacks:
• Event emitters
• Streams (special kind of event emitters)
• Promises
• Pull-based abstractions for asynchronous callbacks:
• Generators
• Async/await
• Many other userland experiments of both kinds
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 10
Node.JS :Callback pattern
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 11
No.JS : Promise
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 12
MySQL Connector/Node.js
• Official implementation
• Based on the brand new X protocol
• Asynchronous and Promise-based
• Supports async/await
• Fluent/chainable API (out-of-the-box query builder)
• Flexible parameter methods
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 13
MySQL Connector/Node.js
Some features
• Document store CRUD API
• Relational CRUD API
• Fallback to plain old SQL
• Transactions and row locking
• Secure sessions (SSL/TLS)
• Authentication
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 14
Collections : CRUD
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15
Simple push-based "cursors"
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 16
Operation completion
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 17
Boilerplate, sessions and schemas
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18
Some Schema
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19
CRUD : Create
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 20
CRUD : Update
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 21
CRUD : Delete
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 22
Transaction Support
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 23
Fallback to plain-old SQL
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 24
SSL Options
The sha256_password authentication can be used on MySQL 8.0.0 or later versions.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
InnoDB Cluster
25
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
“High Availability becomes a core
first class feature of MySQL!”
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 26
Get started in minutes
MySQL 8.0: Shell
• Rapid prototyping capabilities
– Using JavaScript and Python
• Full SQL and X DevAPI support
– With built in auto-completion
• InnoDB Cluster support
– Setup your HA solution within minutes
• DevOps Tool
– Designed for DevOps operations
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: JSON Functions
27
JSON_ARRAY_APPEND()
JSON_ARRAY_INSERT()
JSON_ARRAY()
JSON_CONTAINS_PATH()
JSON_CONTAINS()
JSON_DEPTH()
JSON_EXTRACT()
JSON_INSERT()
JSON_KEYS()
JSON_LENGTH()
JSON_MERGE[_PRESERVE]()
JSON_OBJECT()
JSON_QUOTE()
JSON_REMOVE()
JSON_REPLACE()
JSON_SEARCH()
JSON_SET()
JSON_TYPE()
JSON_UNQUOTE()
JSON_VALID()
JSON_PRETTY()
JSON_STORAGE_SIZE()
JSON_STORAGE_FREE()
JSON_ARRAYAGG()
JSON_OBJECTAGG()
JSON_MERGE_PATCH()
JSON_TABLE()
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Documentation :Tutorials
• https://dev.mysql.com/doc/x-devapi-userguide/en/
• https://www.npmjs.com/package/@mysql/xdevapi
• https://github.com/mysql/mysql-connector-nodejs
• https://dev.mysql.com/doc/dev/connector-nodejs/
28
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: Efficient Replication of JSON Documents
Replicate only changed fields of documents (Partial JSON Updates)
0
10000
20000
30000
40000
50000
60000
Entire JSON Partial JSON
Bytespertransaction
Binary Log Space Per Transaction
FULL MINIMAL
• Numbers are from a specially
designed benchmark:
• tables have 10 JSON fields,
• each transaction modifies
around 10% of the data
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: Invisible Indexes
• Indexes are “hidden” to the MySQL Optimizer
– Not the same as “disabled indexes”
– Contents are fully up to date and maintained by DML
• Two use cases:
– Soft Delete (Recycle Bin)
– Staged Rollout
30
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: SQL Roles
• Fully Function, Flexible, Properly Architected Roles
• Create and Drop Roles, Grant to Roles
• Grant Roles to Roles, Grant Roles to Users
• Limit Hosts that can use roles, Define Default Roles
• And even visualize Roles with SQL function ROLES_GRAPHML()
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
• Simple
– Completely built in and ready to use
– No extra configuration or Installation
• Powerful
– Full Geography Support
• Projected – Flat/Across 2 dimensions
• Geographic – Spheroid
MySQL 8.0: GIS
32
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: Persist Configuration
• Persist GLOBAL Server Variables
– SET PERSIST max_connections = 500;
• Examples Include:
– Offline_mode
– Read_Only
• Requires no filesystem access
• New! Captures timestamp and change user
33
Cloud Friendly
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: Better Handling of Hot Row Contention
34
SELECT * FROM tickets
WHERE id IN (1,2,3,4)
AND order_id IS NULL
FOR UPDATE
NOWAIT;
SELECT * FROM tickets
WHERE id IN (1,2,3,4)
AND order_id IS NULL
FOR UPDATE
SKIP LOCKED;
Error immediately if
a row is already
locked
Non
deterministically
skip over locked
rows
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: CTEs & Window Functions
• Common Table Expression (WITH clause)
– Non-recursive
– Recursive
– Used for hierarchy traversal
• Window functions
– Aggregation, ranking, analytics
– Used for analytics and reporting
35
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: Alter Table - Instant Add Column
• Contribution from Tencent
– Only a metadata change
– No copying of data
– Smaller final data size
– Forward compatibility with old data file
• ALTER TABLE … ADD COLUMN c, ALGORITHM = INSTANT
• Supports DYNAMIC/COMPACT/REDUNDANT row formats
36
Labs
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
All these features plus…
• Source code now documented with
Doxygen
• Plugin Infrastructure!
• Expanded GIS Support
• Expanded Query Hints Support
• Improved Scan Query Performance
• Improved BLOB Storage
• Improved Memcached Interface
• Cost Model Improvements
• Scalability Improvements
• Atomicity in Privileges
• Parser Refactoring
• Improvements to Temporary Tables
• C++11 and Toolchain Improvements
• GTID_PURGED always settable
• Persistent Auto Increment
• Native InnoDB Data dictionary
• Improved Information Schema performance
• New! SQL Grouping Function
• New! Optimizer Trace detailed sort statistics
• New! Descending Indexes
• New! Smaller Package Downloads
• New! JSON Aggregate, Pretty print functions
• New! JSON performance improvements
• New! Expanded Query Hints
• New! Improved usability of cost constant
configuration
• Group Replication in 8.0
• New! Transaction Save Point support in
Group Replication
• New! Improved Replication Applier Lag
Statistics in Performance Schema
• New! Per Multi-source Channel Replication
Filters
• New! Atomic DDL extended to the Binary
Log
• New! Performance Improvements on the
Replication Applier
• New! Parallel Replication Applier Policy
• New! Binary Log Management
Enhancements
• New! Additional Metadata Into the Binary
Log
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: Upgrade Checker
38
• Quick and Easy MySQL Shell Utility
– JavaScript
– Python
• Identifies Issues Based on Severity
– No Issues
– Potential Errors
– Errors that must be fixed before Upgrading
• Recommends Fixes
– Schema, Configuration
– Data on Server, etc.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Learn More
• MySQL Blogs : https://blogs.oracle.com/mysql
• MySQL Support team Blogs : https://dev.mysql.com/support/blogs
• Planet MySQL : https://planet.mysql.com
• MySQL User Camp in Bangalore
• MySQL forums across the internet : Thank you MySQL community
• When all else fails: Documentation : https://dev.mysql.com/doc
39
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL Powers the Web
40
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
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, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 42
8
8
8

Weitere ähnliche Inhalte

Was ist angesagt?

InnoDB Tablespace Encryption
InnoDB Tablespace Encryption InnoDB Tablespace Encryption
InnoDB Tablespace Encryption Satya Bodapati
 
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
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharingIvan Ma
 
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
 
Containerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talkContainerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talkPatrick Galbraith
 
20180420 hk-the powerofmysql8
20180420 hk-the powerofmysql820180420 hk-the powerofmysql8
20180420 hk-the powerofmysql8Ivan Ma
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerSimon Haslam
 
20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2Ivan Ma
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Brasil
 
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PROIDEA
 
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document StoreConnector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document StoreFilipe Silva
 
Welcome to databases in the Cloud
Welcome to databases in the CloudWelcome to databases in the Cloud
Welcome to databases in the CloudNelson Calero
 
Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...
Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...
Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...Atlassian
 
Unlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLUnlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLMatt Lord
 
My sql fabric webinar tw2
My sql fabric webinar tw2My sql fabric webinar tw2
My sql fabric webinar tw2Ivan Tu
 
OEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 EditionOEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 EditionBobby Curtis
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux SysadminsMorgan Tocker
 

Was ist angesagt? (20)

InnoDB Tablespace Encryption
InnoDB Tablespace Encryption InnoDB Tablespace Encryption
InnoDB Tablespace Encryption
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing
 
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
 
Containerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talkContainerized MySQL OpenWorld talk
Containerized MySQL OpenWorld talk
 
20180420 hk-the powerofmysql8
20180420 hk-the powerofmysql820180420 hk-the powerofmysql8
20180420 hk-the powerofmysql8
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack Manager
 
20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
PLNOG19 - Krzysztof Mazepa - Yang Development Kit – stwórz swój pierwszy prog...
 
MySQL Spatial
MySQL SpatialMySQL Spatial
MySQL Spatial
 
Oracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_databaseOracle OpenWo2014 review part 03 three_paa_s_database
Oracle OpenWo2014 review part 03 three_paa_s_database
 
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document StoreConnector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
 
Welcome to databases in the Cloud
Welcome to databases in the CloudWelcome to databases in the Cloud
Welcome to databases in the Cloud
 
Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...
Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...
Using Atlassian UAL and ActiveObjects for Rapid Plugin Development - AtlasCam...
 
Unlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLUnlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQL
 
My sql fabric webinar tw2
My sql fabric webinar tw2My sql fabric webinar tw2
My sql fabric webinar tw2
 
OEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 EditionOEM12c, DB12c and You! - RMOUG TD2014 Edition
OEM12c, DB12c and You! - RMOUG TD2014 Edition
 
Oracle golden gate training course
Oracle golden gate training courseOracle golden gate training course
Oracle golden gate training course
 
MySQL For Linux Sysadmins
MySQL For Linux SysadminsMySQL For Linux Sysadmins
MySQL For Linux Sysadmins
 

Ähnlich wie MySQL 8 loves JavaScript

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
 
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 Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.Cloud Native Day Tel Aviv
 
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 Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMiguel Araújo
 
MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)Vittorio Cioe
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinOlivier DASINI
 
What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017Ivan Ma
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document StoreMario Beck
 
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
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015Sanjay Manwani
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQLTommy Lee
 
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
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Ted Wennmark
 
Pl17: MySQL 8.0: security
Pl17: MySQL 8.0: securityPl17: MySQL 8.0: security
Pl17: MySQL 8.0: securityGeorgi Kodinov
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Ted Wennmark
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8 Ted Wennmark
 
ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)Logico
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7Olivier DASINI
 

Ähnlich wie MySQL 8 loves JavaScript (20)

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 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 Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
 
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 Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQL
 
MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)MySQL Document Store (Oracle Code Warsaw 2018)
MySQL Document Store (Oracle Code Warsaw 2018)
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin
 
What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document Store
 
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
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL
 
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
 
Novinky v Oracle Database 18c
Novinky v Oracle Database 18cNovinky v Oracle Database 18c
Novinky v Oracle Database 18c
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
 
Pl17: MySQL 8.0: security
Pl17: MySQL 8.0: securityPl17: MySQL 8.0: security
Pl17: MySQL 8.0: security
 
Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
 
01 upgrade to my sql8
01 upgrade to my sql8 01 upgrade to my sql8
01 upgrade to my sql8
 
ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)ADBA (Asynchronous Database Access)
ADBA (Asynchronous Database Access)
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 

Kürzlich hochgeladen

𓀤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...Neha Pandey
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
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.soniya singh
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663Call Girls Mumbai
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 

Kürzlich hochgeladen (20)

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...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
𓀤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...
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
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.
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 

MySQL 8 loves JavaScript

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 8 Loves JavaScript Sanjay Manwani MySQL India Director Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 1
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | MySQL Innovation: 5.7 -> 8.0 - 3x Better Performance - Replication Enhancements - Optimizer Cost Model - JSON Support - Improved Security - Sys & Performance Schema - GIS MySQL 5.7 MySQL InnoDB Cluster - MySQL Group Replication - MySQL Router - MySQL Shell MySQL 8.0 - NoSQL Document Store - JSON - CTEs - Window Functions - Data Dictionary - InnoDB - Replication - Roles - Unicode - GIS 2 Years in Development 400+ Worklogs 5000+ Bugs Fixed 500 New Tests GA
  • 3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 3 MySQL 8.0: Document Store • Document oriented data storage for MySQL – Full JSON document support through SQL and new X DevAPI NoSQL interface • Schema-less and schema based data in the same technology stack – Use COLLECTIONs of documents & relational TABLEs together • Rapid Prototyping & Simple CRUD APIs – Modern APIs using “method chaining” and asynchronous execution (e.g. promises, callbacks, etc.) • Connectors for many different languages and frameworks – Node.JS, Java, NET, C++/C, PHP, Python NoSQL + SQL
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4 X ProtocolStd Protocol SQL API CRUD and SQL APIs JSON Collections SQL Tables MySQL Databases SQL and NoSQL {“_id: “232342”, “firstname”: “John”, “lastname”: “Doe”, “city”: “anytown”}; City Name Pop Area Anytown 2003 33 Othertown 23000 400 Relational Tables MySQL Shell Scripting MySQL Connectors (Node.js, Python, Java, .Net) SQL NoSQL JSON Collections Applications MySQL 8.0: Document Store Architecture
  • 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 5 Collections • A Collection is a set of JSON Documents • Each document has it's unique ID in an _id property • Easy to search within documents • Implemented as a table with a JSON column and indexes on generated columns
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 6 X Protocol • New Protocol implemented in X Plugin • Based on Google Protocol Buffers • More flexibility for future extensions • Better understanding of content • CRUD Expression trees in protocol • Expectations to attach conditions on pipelined statements • Bound parameters
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Full Node.js integration – Support for “Promises” • Autocompletion support in IDEs – Due to method chaining support • Intuitive Documentation & Tutorials – Example: 7 MySQL 8.0: Document Store Designed for modern Developers COLLECTION.add Function
  • 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 8 Node.JS • Programming model • Single-threaded environment (it's JavaScript after all) • Asynchronous callback-based core • Non-blocking operations run immediately and sequentially • Blocking operations queued outside execution scope • Result of a blocking operation is handled "eventually" • Concurrency with C++ APIs (threads) or multiple processes
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 9 Node.JS : Dealing with asynchronicity • Push-based abstractions for asynchronous callbacks: • Event emitters • Streams (special kind of event emitters) • Promises • Pull-based abstractions for asynchronous callbacks: • Generators • Async/await • Many other userland experiments of both kinds
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 10 Node.JS :Callback pattern
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 11 No.JS : Promise
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 12 MySQL Connector/Node.js • Official implementation • Based on the brand new X protocol • Asynchronous and Promise-based • Supports async/await • Fluent/chainable API (out-of-the-box query builder) • Flexible parameter methods
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 13 MySQL Connector/Node.js Some features • Document store CRUD API • Relational CRUD API • Fallback to plain old SQL • Transactions and row locking • Secure sessions (SSL/TLS) • Authentication
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 14 Collections : CRUD
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15 Simple push-based "cursors"
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 16 Operation completion
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 17 Boilerplate, sessions and schemas
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18 Some Schema
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19 CRUD : Create
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 20 CRUD : Update
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 21 CRUD : Delete
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 22 Transaction Support
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 23 Fallback to plain-old SQL
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 24 SSL Options The sha256_password authentication can be used on MySQL 8.0.0 or later versions.
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. InnoDB Cluster 25 App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate “High Availability becomes a core first class feature of MySQL!”
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 26 Get started in minutes MySQL 8.0: Shell • Rapid prototyping capabilities – Using JavaScript and Python • Full SQL and X DevAPI support – With built in auto-completion • InnoDB Cluster support – Setup your HA solution within minutes • DevOps Tool – Designed for DevOps operations
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: JSON Functions 27 JSON_ARRAY_APPEND() JSON_ARRAY_INSERT() JSON_ARRAY() JSON_CONTAINS_PATH() JSON_CONTAINS() JSON_DEPTH() JSON_EXTRACT() JSON_INSERT() JSON_KEYS() JSON_LENGTH() JSON_MERGE[_PRESERVE]() JSON_OBJECT() JSON_QUOTE() JSON_REMOVE() JSON_REPLACE() JSON_SEARCH() JSON_SET() JSON_TYPE() JSON_UNQUOTE() JSON_VALID() JSON_PRETTY() JSON_STORAGE_SIZE() JSON_STORAGE_FREE() JSON_ARRAYAGG() JSON_OBJECTAGG() JSON_MERGE_PATCH() JSON_TABLE()
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Documentation :Tutorials • https://dev.mysql.com/doc/x-devapi-userguide/en/ • https://www.npmjs.com/package/@mysql/xdevapi • https://github.com/mysql/mysql-connector-nodejs • https://dev.mysql.com/doc/dev/connector-nodejs/ 28
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: Efficient Replication of JSON Documents Replicate only changed fields of documents (Partial JSON Updates) 0 10000 20000 30000 40000 50000 60000 Entire JSON Partial JSON Bytespertransaction Binary Log Space Per Transaction FULL MINIMAL • Numbers are from a specially designed benchmark: • tables have 10 JSON fields, • each transaction modifies around 10% of the data
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: Invisible Indexes • Indexes are “hidden” to the MySQL Optimizer – Not the same as “disabled indexes” – Contents are fully up to date and maintained by DML • Two use cases: – Soft Delete (Recycle Bin) – Staged Rollout 30
  • 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: SQL Roles • Fully Function, Flexible, Properly Architected Roles • Create and Drop Roles, Grant to Roles • Grant Roles to Roles, Grant Roles to Users • Limit Hosts that can use roles, Define Default Roles • And even visualize Roles with SQL function ROLES_GRAPHML()
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | • Simple – Completely built in and ready to use – No extra configuration or Installation • Powerful – Full Geography Support • Projected – Flat/Across 2 dimensions • Geographic – Spheroid MySQL 8.0: GIS 32
  • 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: Persist Configuration • Persist GLOBAL Server Variables – SET PERSIST max_connections = 500; • Examples Include: – Offline_mode – Read_Only • Requires no filesystem access • New! Captures timestamp and change user 33 Cloud Friendly
  • 34. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: Better Handling of Hot Row Contention 34 SELECT * FROM tickets WHERE id IN (1,2,3,4) AND order_id IS NULL FOR UPDATE NOWAIT; SELECT * FROM tickets WHERE id IN (1,2,3,4) AND order_id IS NULL FOR UPDATE SKIP LOCKED; Error immediately if a row is already locked Non deterministically skip over locked rows
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: CTEs & Window Functions • Common Table Expression (WITH clause) – Non-recursive – Recursive – Used for hierarchy traversal • Window functions – Aggregation, ranking, analytics – Used for analytics and reporting 35
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: Alter Table - Instant Add Column • Contribution from Tencent – Only a metadata change – No copying of data – Smaller final data size – Forward compatibility with old data file • ALTER TABLE … ADD COLUMN c, ALGORITHM = INSTANT • Supports DYNAMIC/COMPACT/REDUNDANT row formats 36 Labs
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. All these features plus… • Source code now documented with Doxygen • Plugin Infrastructure! • Expanded GIS Support • Expanded Query Hints Support • Improved Scan Query Performance • Improved BLOB Storage • Improved Memcached Interface • Cost Model Improvements • Scalability Improvements • Atomicity in Privileges • Parser Refactoring • Improvements to Temporary Tables • C++11 and Toolchain Improvements • GTID_PURGED always settable • Persistent Auto Increment • Native InnoDB Data dictionary • Improved Information Schema performance • New! SQL Grouping Function • New! Optimizer Trace detailed sort statistics • New! Descending Indexes • New! Smaller Package Downloads • New! JSON Aggregate, Pretty print functions • New! JSON performance improvements • New! Expanded Query Hints • New! Improved usability of cost constant configuration • Group Replication in 8.0 • New! Transaction Save Point support in Group Replication • New! Improved Replication Applier Lag Statistics in Performance Schema • New! Per Multi-source Channel Replication Filters • New! Atomic DDL extended to the Binary Log • New! Performance Improvements on the Replication Applier • New! Parallel Replication Applier Policy • New! Binary Log Management Enhancements • New! Additional Metadata Into the Binary Log
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: Upgrade Checker 38 • Quick and Easy MySQL Shell Utility – JavaScript – Python • Identifies Issues Based on Severity – No Issues – Potential Errors – Errors that must be fixed before Upgrading • Recommends Fixes – Schema, Configuration – Data on Server, etc.
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Learn More • MySQL Blogs : https://blogs.oracle.com/mysql • MySQL Support team Blogs : https://dev.mysql.com/support/blogs • Planet MySQL : https://planet.mysql.com • MySQL User Camp in Bangalore • MySQL forums across the internet : Thank you MySQL community • When all else fails: Documentation : https://dev.mysql.com/doc 39
  • 40. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL Powers the Web 40
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 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, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 42. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 42 8 8 8