SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
MySQL Document Store
for Modern Applications
A Document Store with all the benefits of a Transactional RDBMS
© 2021 Oracle MySQL
Olivier Dasini
MySQL Principal Solutions Architect EMEA
olivier.dasini@oracle.com
Twitter : @freshdaz
Blogs : http://dasini.net/blog/en
: http://dasini.net/blog/fr
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 © 2021 Oracle MySQL
3
3
Olivier DASINI
Copyright © 2021 Oracle and/or its affiliates. All rights reserved.

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 up to date!
 Twitter: @freshdaz
 Blog: www.dasini.net/blog/en
Me, Myself & I
Why MySQL ?
Program agenda
1
2
3
RDBMS & NoSQL concepts
MySQL Document Store
4 © 2021 Oracle MySQL
Demo
MySQL Enterprise Edition
4
5
5 © 2021 Oracle MySQL
The world’s most popular open source database
Some Of Our Customers
 MySQL powers the most demanding Web, E-commerce, SaaS and Online Transaction Processing
(OLTP) applications
 It is a fully integrated transaction-safe, ACID compliant database with full commit, rollback, crash
recovery and row level locking capabilities
 MySQL delivers the ease of use, scalability, and performance to power:
6 © 2021 Oracle MySQL
Explosive Data Growth
7 © 2021 Oracle MySQL
Source IDC, 2017
Source Domo, 2018
MySQL 8.0 Enables Modern Web Applications
9 © 2021 Oracle MySQL
Scalable & Stable
Better handling of high
contention, improved security,
and minimizing downtime
Data Driven
Optimizing services with real
time data analysis
Developer First
Hybrid data model and data
access APIs for flexibility for
developers
Mobile Friendly
Ready for location based
services. Handling Emoji
and Unicode characters
24x7
at Scale
Back to Basics
10 © 2021 Oracle MySQL
Relational Databases
 Data Integrity
– Normalization
– Constraints (Foreign keys, …)
 Atomicity, Consistency, Isolation, Durability
– ACID Compliant
– Transactions
 SQL
– Powerful Query Language
– Schema, Table, Row
– SELECT / UPDATE / DELETE / INSERT
11 © 2021 Oracle MySQL
Terminologies
J
JavaS
Script O
Object N
Notation
 JSON is a lightweight data-interchange format
 It is easy for humans to read and write
 It is easy for machines to parse and generate
 It is based on a subset of the JavaScript Programming
 Language, Standard ECMA-262 3rd Edition – Dec. 1999
 Use for storing and exchanging data
12 © 2021 Oracle MySQL
What is a JSON Document ?
 An object that can represent structured data
 Structure is implicit in the document; usually no external/central schema
 Compact, popular and standardized
 Can be represented natively in many languages (JavaScript,Python, etc.)
MySQL JSON Support
 Native File Format
– Standardized as ECMA-404 (http://json.org)
– Binary Storage
 Generated Columns
 30+ Functions
– Search Functions
– Aggregations Functions
 Query structured data and semi-structured JSON data
13 © 2021 Oracle MySQL
MySQL JSON Functions
14 © 2021 Oracle MySQL
Perform operations on JSON documents
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_PATCH()
JSON_MERGE_PRESERVE()
JSON_OBJECT()
JSON_OVERLAPS()
JSON_PRETTY()
JSON_QUOTE()
JSON_REMOVE()
JSON_REPLACE()
JSON_SCHEMA_VALID()
JSON_SCHEMA_VALIDATION_REPORT()
JSON_SEARCH()
JSON_SET()
JSON_STORAGE_SIZE()
JSON_STORAGE_FREE()
JSON_TABLE()
JSON_TYPE()
JSON_UNQUOTE()
JSON_MERGE_PATCH()
JSON_VALID()
JSON_VALUE()
MEMBER OF()
JSON_ARRAYAGG()
JSON_OBJECTAGG()
https://dev.mysql.com/doc/refman/8.0/en/json-functions.html
NoSQL : Document Store
 Schemaless
– No schema design, No normalization, No Foreign Keys, No data types, …
– Very quick initial development
 Flexible data structure
– Embedded arrays or objects
– Valid solution when natural data can’t be modeled optimally into a relational model
– Objects persistence without the use of any ORM – Mapping Object-Oriented
 JSON
– Close to frontend
– Native in JavaScript
– Easy to learn
15 © 2021 Oracle MySQL
How DBAs see data
16 © 2021 Oracle MySQL
How Devs see data
{
" G N P " : 2 7 3 1 ,
" _ i d " : " M T Q " ,
" N a m e " : " M a r t i n i q u e " ,
" I n d e p Ye a r " : n u l l ,
" g e o g r a p h y " : {
" R e g i o n " : " C a r i b b e a n " ,
" C o n t i n e n t " : " N o r t h A m e r i c a " ,
" S u r f a c e A r e a " : 11 2 8
} ,
" g o v e r n m e n t " : {
" H e a d O f S t a t e " : " E m m a n u e l M a c r o n " ,
" G o v e r n m e n t F o r m " : " O v e r s e a s D e p a r t m e n t o f F r a n c e "
} ,
" d e m o g r a p h i c s " : {
" P o p u l a t i o n " : 3 9 5 0 0 0 ,
" L i f e E x p e c t a n c y " : 7 8 . 3 0 0 0 0 3 0 5 1 7 5 7 8 1
}
}
Document Oriented Databases
 Schema (Database)
 Collection
– Group of JSON documents.
– Equivalent of table
 Document
– Set of key-value pairs in JSON format
– Equivalent of row (tuple)
© 2021 Oracle MySQL
Terminologies
 CRUD (basic functions of persistent storage)
– CREATE
– READ
– UPDATE
– DELETE
17
Document Oriented Databases
 Schemaless: No centralized database schema
– Data model enforcement and validation (if any) at application layer
– Simpler schema updates (no ALTER TABLE penalty)
 NoSQL APIs: Simpler programming interfaces
– No specialized language for queries and data manipulation
– Complex queries handled at application layer (no complex SELECTs, JOINs)
– Document in, document out, manipulations at client side
 Scalability, but some drawbacks:
– Limited database features (no foreign keys, no transactions, etc.)
– Weak consistency guarantees
© 2021 Oracle MySQL
Usability & Scalability
18
Traditional architecture
Combining Relational Datastore + ETL (or similar mechanism) + Document Datastore
https://www2.slideshare.net/lefred.descamps/mysql-80-document-store-discovery-of-a-new-world
RDBMS or NoSQL ?
Why not both ?
Using MySQL Document Store
Combining Relational & Document Stores
https://www2.slideshare.net/lefred.descamps/mysql-80-document-store-discovery-of-a-new-world
MySQL Document Store
22 © 2021 Oracle MySQL
An easy, straightforward way to
work with JSON documents in MySQL
www.dasini.net/blog/2019/04/02/mysql-json-document-store/
NoSQL, MySQL, why not...
 Have both schema-less AND schema in the same technology stack?
 One that checks all the boxes of all stakeholders:
24 © 2021 Oracle MySQL
Developers:
[x] Schemaless or/and Schema
[x] Rapid Prototyping/Simpler APIs
[x] Document Model
[x] Transactions
Operations:
[x] Performance Management/Visibility
[x] Robust Replication, Backup, Restore
[x] Comprehensive Tooling Ecosystem
[x] Simpler application schema upgrades
Business Owner:
[x] Don’t lose my data = ACID transactions
[x] Capture all my data = Extensible/Schemaless
[x] Products On Schedule/Time to Market = Rapid Development
NoSQL + SQL = MySQL
MySQL Document Store: Components
 MySQL X Plugin
Introduces X Protocol for relational & document
operations
Maps CRUD operations to standard SQL
(relational tables, JSON datatype and functions)
 X Protocol
New MySQL client protocol based on top of
industry standard (Protobuf)
Works for both, CRUD and SQL operations
 MySQL InnoDB Cluster
A complete High Availability solution for MySQL
 X DevAPI
New, modern, async developer API for CRUD &
SQL operations on top of X Protocol
Introduces collections as new schema object
 MySQL Shell
Offers interactive X DevAPI mode for app
prototyping
 MySQL Connectors
Support for X DevAPI for
● JavaScript, Python, PHP, Java, C#, C++
25 © 2021 Oracle MySQL
NoSQL + SQL = MySQL
MySQL Document Store: Architecture
26 © 2021 Oracle MySQL
NoSQL + SQL = MySQL
MySQL Covers 4 Core Areas
28 © 2021 Oracle MySQL
Relational
MySQL Tables and SQL
Relational
MySQL Tables and SQL
Relational Analytics
MySQL Tables and SQL
Relational Analytics
MySQL Tables and SQL
Document Store
MySQL Collections and
Table with JSON Datatype
Key/Value
MySQL Memcached
Document Store
MySQL Collections and
Table with JSON Datatype
Key/Value
MySQL Memcached
Mass Scale Analytics
Relational and/or
Document Store
Mass Scale Analytics
Relational and/or
Document Store
NoSQL
Operational
SQL / Relational
Analytical
Combining Relational & Document Stores Workloads
Welcome to the X DevAPI!
Motivation
●
We are doing something that has not been done before
●
Document databases exist! Relational databases exist!
●
We even see databases that support relational and document querying over the same data set
●
However we have yet to see a relational database include a document model so that a user can use
document objects alongside their existing relational data
30 © 2021 Oracle MySQL
MySQL X devAPI connector for:
● Java : https://insidemysql.com/connector-j-8-0-11-the-face-for-your-brand-new-document-oriented-database/
● .NET : https://insidemysql.com/introducing-connector-net-with-full-support-for-mysql-8-0/
● Node.JS : https://insidemysql.com/introducing-connector-node-js-for-mysql-8-0/
● C++ : https://insidemysql.com/what-is-new-in-connector-c-8-0/
● Python : https://insidemysql.com/using-mysql-connector-python-8-0-with-mysql-8-0/
● PHP : https://insidemysql.com/introducing-the-mysql-x-devapi-php-extension-for-mysql-8-0/
● ODBC : https://insidemysql.com/what-is-new-in-connector-odbc-8-0/
SQL is now optional!
Welcome to the X DevAPI! - Python Example
31 © 2021 Oracle MySQL
Writing a program using MySQL 8.0 Document Store
import mysqlx
session = mysqlx.get_session({
"host": "localhost",
"port": 33060,
"user": "my_user",
"password": "s0S3kR*T"
})
schema = session.get_schema("test")
collection = schema.get_collection("my_collection")
result = collection.find("name like :param").bind("param", "Olivier").limit(1).execute()
docs = result.fetch_all()
print("Name: {0}".format(docs[0]["name"]))
session.close()
Connector/Python 8.0 installation
shell> pip install mysql-connector-python
https://insidemysql.com/using-mysql-connector-python-8-0-with-mysql-8-0/
SQL is now optional!
Welcome to the X DevAPI! - PHP Example
32 © 2021 Oracle MySQL
Writing a program using MySQL 8.0 Document Store
$user = 'my_user';
$passwd = 's0S3kR*T';
$host = 'localhost';
$port = '33060';
$connection_uri = 'mysqlx://'.$user.':'.$passwd.'@'.$host.':'.$port;
$session = mysql_xdevapigetSession($connection_uri);
$schema = $session->getSchema("test");
$collection = $schema->getCollection("my_collection");
$result = $collection->find("Name like :param")->bind(["param" => "Olivier"])->execute();
$docs = $result->fetchAll();
//… print results …
$session->close();
Requirements / Installation
https://dev.mysql.com/doc/apis-php/en/apis-php-mysql-xdevapi.setup.html
https://insidemysql.com/introducing-the-mysql-x-devapi-php-extension-for-mysql-8-0/
SQL is now optional!
Using MySQL Document
Store with MySQL Shell
33 © 2021 Oracle MySQL
An integrated development & administration shell
where all MySQL products will be available through
a common scripting interface
MySQL Shell
●
DevOps Tool
– Designed for DevOps operations
●
Scripting for Javascript, Python, and SQL mode
– Rapid prototyping capabilities
●
InnoDB Cluster Support
– Setup your HA solution within minutes
●
Supports MySQL Standard and X Protocols
●
Document and Relational Models
– CRUD Document and Relational APIs via scripting
●
Traditional Table, JSON, Tab Separated output results formats
●
Both Interactive and Batch operations
34 © 2021 Oracle MySQL
Interface for Development and Administration of MySQL
MySQL Shell Overview
35 © 2021 Oracle MySQL
MySQL
Server 5.7
MySQL 8.0
Upgrade Checker
Prompt Themes
Auto Completion
&
Command History
MySQL
Server 8.0
Document
Store
X Dev API
SQL CLI
Output Formats
(Table, JSON,
Tabbed)
Batch Execution
JavaScript
Python
SQL
importJSON
ParalleI
importTABLE
InnoDB Cluster/
ReplicaSet
etc...
36 © 2021 Oracle MySQL
js> session.createSchema('demo')
js> use demo
js> db.getCollections()
js> db.createCollection('myCollection')
js> db.getCollections()
js> db.myCollection.add({"param1":"value1", "param2":"value2"})
js> db.myCollection.find()
js> db.myCollection.find().limit(1)
js> db.myCollection.find("_id = '00005af018430000000000000002'")
js> db.myCollection.modify("_id = '1234'").set("param","value")
js> db.myCollection.remove("_id = '1234'")
js> session.startTransaction()
js> …
js> session.rollback()
js> db.myCollection.createIndex("ageIdx",{fields:[{"field":"$.age","type":"INT",required:false}]})
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
MySQL Document Store “MySQL Shell’s cheat sheet”
C
Create
R
Read
U
Update
D
Delete
Index
T
Transaction
Demo
37 © 2021 Oracle MySQL
MySQL Document Store
38 © 2021 Oracle MySQL
Wrap-up
MySQL JSON datatype & Document Store API
39 © 2021 Oracle MySQL
Hybrid API
SQL Function
Data Type
MySQL X DevAPI
JSON Functions
JSON Datatype
Hybrid CRUD API of both
SQL and NoSQL provides
more flexibility for
development
Various SQL functions
to search and modify
JSON. Analysing JSON with
SQL by converting into
table with JSON_TABLE()
Seamlessly managing
“unstructured” data in
RDBMS tables with
efficient update
performance
{ } ();
✔ Built on Proven SQL/InnoDB/Replication technology
✔ Schemaless / Relational / Hybrid
✔ Data Integrity – ACID Compliant – Transactions
✔ No SQL required – CRUD/JSON/Documents/Indexes
✔ Modern Dev API – Easy to start
✔ Modern/Efficient Protocol
✔ SQL Queries/Analytics over JSON Documents
✔ Transparent and Easy HA with MySQL InnoDB Cluster
MySQL Document Store
NoSQL + SQL = MySQL
40 © 2021 Oracle MySQL
MySQL Covers 4 Core Areas
41 © 2021 Oracle MySQL
Relational
MySQL Tables and SQL
Relational
MySQL Tables and SQL
Relational Analytics
MySQL Tables and SQL
Relational Analytics
MySQL Tables and SQL
Document Store
MySQL Collections and
Table with JSON Datatype
Key/Value
MySQL Memcached
Document Store
MySQL Collections and
Table with JSON Datatype
Key/Value
MySQL Memcached
Mass Scale Analytics
Relational and/or
Document Store
Mass Scale Analytics
Relational and/or
Document Store
NoSQL
Operational
SQL / Relational
Analytical
This is the best of the two worlds in one product !
MySQL Document Store
42 © 2021 Oracle MySQL
Works transparently with MySQL Enterprise Features
Clients and Applications
InnoDB Storage Engine
mysqld process
Firewall
Audit
Encryption
Authentication
Online Backup
Monitoring
Integration
Support
3rd
Party
Tools
3rd
Party
Tools
3rd
Party
Tools
3rd
Party
Tools
3rd
Party
Tools
NoSQL
NoSQL
Simple access
patterns
Compromise on consistency
for performance
Ad-hoc data format
Simple operation
SQL
SQL
Complex queries with
joins
ACID transactions
Well defined schemas
Rich set of tools
Masking
MySQL Enterprise Edition
43 © 2021 Oracle MySQL
https://www.mysql.com/products/enterprise/
MySQL Enterprise Edition
44 © 2021 Oracle MySQL
Management Tools
Advanced Features Support
• Authentication
• Audit
• Encryption / TDE
• Firewall
• Data Masking
• High Availability
• Monitoring
• Backup
• Development
• Administration
• Migration
• Technical Support
• Consultative Support
• Oracle Certifications
Highest Levels of MySQL Security, Manageability and Reliability
MySQL Enterprise Edition
 MySQL Enterprise Authentication
– External Authentication Modules
●
Microsoft AD, Linux PAMs, Native LDAP
 MySQL Enterprise Encryption
– Public/Private Key Cryptography
– Asymmetric Encryption
– Digital Signatures, Data Validation
 MySQL Enterprise Firewall
– Block SQL Injection Attacks
– Intrusion Detection
 MySQL Enterprise Audit
– User Activity Auditing, Regulatory Compliance
 MySQL Enterprise Monitor
– Changes in Database Configurations, Users
Permissions, Database Schema, Passwords
 MySQL Enterprise Backup
– Securing Backups, AES 256 encryption
 MySQL Enterprise TDE
– AES 256 encryption
– Key Management
 MySQL Enterprise De-Identification
– Data Masking and Obfuscation
– Formatted Data Randomization
– Pseudonymization, Data Blacklists
– Random Data generation
45 © 2021 Oracle MySQL
More information available at :
Designed to provide monitoring, online backup, as well as improved security and scalability
MySQL Security Achitecture
46 © 2021 Oracle MySQL
Resources – MySQL Blogs
47 © 2021 Oracle MySQL
• Top 10 reasons for NoSQL with MySQL
– http://lefred.be/content/top-10-reasons-for-nosql-with-mysql/
• MySQL Document Store
– https://dev.mysql.com/doc/x-devapi-userguide/en/
– https://github.com/mysql/mysql-connector-nodejs
– https://www.npmjs.com/package/@mysql/xdevapi
– https://dev.mysql.com/doc/refman/8.0/en/document-store.html
– https://dev.mysql.com/doc/x-devapi-userguide/en/
– https://dev.mysql.com/doc/dev/connector-nodejs/8.0/
– https://www.mysql.com/news-and-events/web-seminars/mysql-document-store-and-node-js/
• MySQL Shell User Guide
– https://dev.mysql.com/doc/mysql-shell-excerpt/8.0/en/index.html
– https://dev.mysql.com/doc/dev/mysqlsh-api-python/8.0/
• MySQL Shell Documentation
– https://dev.mysql.com/doc/dev/mysqlsh-api-javascript/8.0/
• X Dev API User Guide
– https://dev.mysql.com/doc/x-devapi-userguide/en/
• X Plugin
– https://dev.mysql.com/doc/refman/8.0/en/x-plugin.html
• MySQL JSON Data Type
– https://dev.mysql.com/doc/refman/8.0/en/json.html
Resources – MySQL Blogs
48 © 2021 Oracle MySQL
• Common Table Expressions (CTE)
– http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes/
– http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes-part-two-how-to-generate-series/
– http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes-part-three-hierarchies/
– http://mysqlserverteam.com/mysql-8-0-1-recursive-common-table-expressions-in-mysql-ctes-part-four-depth-first-or-breadth-first-traversal-
transitive-closure-cycle-avoidance/
• Window Functions
– http://mysqlserverteam.com/mysql-8-0-2-introducing-window-functions/
– https://mysqlserverteam.com/row-numbering-ranking-how-to-use-less-user-variables-in-mysql-queries/
– https://fr.slideshare.net/DagHWanvik/dublin-4x3finalslideshare-80423777
• Security
– https://www.mysql.com/news-and-events/web-seminars/checking-and-hardening-mysql-8-0-security-via-sql-and-without-os-access/
– https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/
– http://lefred.be/content/mysql-8-0-listing-roles/
– https://dev.mysql.com/doc/refman/8.0/en/password-management.html
• Upgrade from 5.7 to 8.0
– https://mysqlserverteam.com/inplace-upgrade-from-mysql-5-7-to-mysql-8-0/
– https://mysqlserverteam.com/upgrading-to-mysql-8-0-here-is-what-you-need-to-know/
Resources – MySQL Blogs
49 © 2021 Oracle MySQL
• The complete list of new features in MySQL 8.0
– https://mysqlserverteam.com/the-complete-list-of-new-features-in-mysql-8-0/
• MySQL Server Team’s blog
– http://mysqlserverteam.com/
• MySQL High Availability Team’s blog
– http://mysqlhighavailability.com/
• MySQL Release Engineering Blog
– https://mysqlrelease.com/
• MySQL Dev Team Blog
– https://insidemysql.com/
• MySQL Enterprise Team Blogs
– https://blogs.oracle.com/mysql/
• MySQL Performance by Dimitri
– http://dimitrik.free.fr/blog/
• Lefred’s blog (MySQL Community Manager)
– http://lefred.be/
• Olivier Dasini’s blog
– http://dasini.net/blog/
50 © 2021 Oracle MySQL
Questions?
olivier.dasini@oracle.com
Thank you
51 © 2021 Oracle MySQL
Olivier Dasini
MySQL Principal Solutions Architect EMEA
olivier.dasini@oracle.com
Twitter : @freshdaz
Blog : http://dasini.net/blog/en
MySQL Document Store for Modern Applications

Contenu connexe

Tendances

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, 2019Dave Stokes
 
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 - 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 - 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 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 Enterprise Edition Feature and Tools
Mysql  Enterprise Edition Feature and Tools Mysql  Enterprise Edition Feature and Tools
Mysql Enterprise Edition Feature and Tools jones4u
 
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
 
Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Olivier DASINI
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015Mario Beck
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesDave Stokes
 
NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONMario Beck
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
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
 
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
 
Conference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance TuningConference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance TuningSeveralnines
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)Mario Beck
 
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
 
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 ReplicaSetDave Stokes
 

Tendances (20)

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
 
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 - 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 - 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 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 Enterprise Edition Feature and Tools
Mysql  Enterprise Edition Feature and Tools Mysql  Enterprise Edition Feature and Tools
Mysql Enterprise Edition Feature and Tools
 
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 ?
 
Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL Features
 
NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
 
MySQL ppt
MySQL ppt MySQL ppt
MySQL ppt
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
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
 
MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?MySQL 8.0 - What's New ?
MySQL 8.0 - What's New ?
 
Conference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance TuningConference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance Tuning
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
 
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
 
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
 

Similaire à MySQL Document Store for Modern Applications

Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016Dave Stokes
 
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
 
Oracle no sql database bigdata
Oracle no sql database   bigdataOracle no sql database   bigdata
Oracle no sql database bigdataJoão Gabriel Lima
 
Non relational databases-no sql
Non relational databases-no sqlNon relational databases-no sql
Non relational databases-no sqlRam kumar
 
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...Frederic Descamps
 
MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL Brasil
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosGeorge Grammatikos
 
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019Dave Stokes
 
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...
PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...Dave Stokes
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1Ivan Ma
 
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
 
Scaling the Content Repository with Elasticsearch
Scaling the Content Repository with ElasticsearchScaling the Content Repository with Elasticsearch
Scaling the Content Repository with ElasticsearchNuxeo
 
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
 
Making MySQL Agile-ish
Making MySQL Agile-ishMaking MySQL Agile-ish
Making MySQL Agile-ishDave Stokes
 
Introduction to MySQL Document Store
Introduction to MySQL Document StoreIntroduction to MySQL Document Store
Introduction to MySQL Document StoreFrederic Descamps
 
Diana_latest_resume
Diana_latest_resumeDiana_latest_resume
Diana_latest_resumeDiana Dai
 

Similaire à MySQL Document Store for Modern Applications (20)

Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016Polyglot Database - Linuxcon North America 2016
Polyglot Database - Linuxcon North America 2016
 
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...
 
Oracle no sql database bigdata
Oracle no sql database   bigdataOracle no sql database   bigdata
Oracle no sql database bigdata
 
SQL & NoSQL
SQL & NoSQLSQL & NoSQL
SQL & NoSQL
 
Non relational databases-no sql
Non relational databases-no sqlNon relational databases-no sql
Non relational databases-no sql
 
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
MySQL Document Store - How to replace a NoSQL database by MySQL without effor...
 
MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
SQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George GrammatikosSQL or NoSQL, is this the question? - George Grammatikos
SQL or NoSQL, is this the question? - George Grammatikos
 
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
PHP, The X DevAPI, and the MySQL Document Store -- Benelux PHP Confernece 2019
 
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...
PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...PHP,  The X DevAPI,  and the  MySQL Document Store Presented January 23rd, 20...
PHP, The X DevAPI, and the MySQL Document Store Presented January 23rd, 20...
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1
 
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...
 
Scaling the Content Repository with Elasticsearch
Scaling the Content Repository with ElasticsearchScaling the Content Repository with Elasticsearch
Scaling the Content Repository with Elasticsearch
 
Mysql
MysqlMysql
Mysql
 
Mysql8for blr usercamp
Mysql8for blr usercampMysql8for blr usercamp
Mysql8for blr usercamp
 
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
 
Making MySQL Agile-ish
Making MySQL Agile-ishMaking MySQL Agile-ish
Making MySQL Agile-ish
 
Introduction to MySQL Document Store
Introduction to MySQL Document StoreIntroduction to MySQL Document Store
Introduction to MySQL Document Store
 
Diana_latest_resume
Diana_latest_resumeDiana_latest_resume
Diana_latest_resume
 
Michael_Dickens
Michael_DickensMichael_Dickens
Michael_Dickens
 

Plus de Olivier DASINI

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 SummaryOlivier DASINI
 
MySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryMySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryOlivier 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 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
 
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
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeOlivier DASINI
 

Plus de Olivier DASINI (12)

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
 
MySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features SummaryMySQL 8.0.19 - New Features Summary
MySQL 8.0.19 - New Features Summary
 
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 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
 
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
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 

Dernier

The market for cross-border mortgages in Europe
The market for cross-border mortgages in EuropeThe market for cross-border mortgages in Europe
The market for cross-border mortgages in Europe321k
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsNeo4j
 
2024 Build Generative AI for Non-Profits
2024 Build Generative AI for Non-Profits2024 Build Generative AI for Non-Profits
2024 Build Generative AI for Non-ProfitsTimothy Spann
 
Neo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdf
Neo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdfNeo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdf
Neo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdfNeo4j
 
Báo cáo Social Media Benchmark 2024 cho dân Marketing
Báo cáo Social Media Benchmark 2024 cho dân MarketingBáo cáo Social Media Benchmark 2024 cho dân Marketing
Báo cáo Social Media Benchmark 2024 cho dân MarketingMarketingTrips
 
Using DAX & Time-based Analysis in Data Warehouse
Using DAX & Time-based Analysis in Data WarehouseUsing DAX & Time-based Analysis in Data Warehouse
Using DAX & Time-based Analysis in Data WarehouseThinkInnovation
 
Empowering Decisions A Guide to Embedded Analytics
Empowering Decisions A Guide to Embedded AnalyticsEmpowering Decisions A Guide to Embedded Analytics
Empowering Decisions A Guide to Embedded AnalyticsGain Insights
 
Brain Tumor Detection with Machine Learning.pptx
Brain Tumor Detection with Machine Learning.pptxBrain Tumor Detection with Machine Learning.pptx
Brain Tumor Detection with Machine Learning.pptxShammiRai3
 
How to Build an Experimentation Culture for Data-Driven Product Development
How to Build an Experimentation Culture for Data-Driven Product DevelopmentHow to Build an Experimentation Culture for Data-Driven Product Development
How to Build an Experimentation Culture for Data-Driven Product DevelopmentAggregage
 
STOCK PRICE ANALYSIS Furkan Ali TASCI --.pptx
STOCK PRICE ANALYSIS  Furkan Ali TASCI --.pptxSTOCK PRICE ANALYSIS  Furkan Ali TASCI --.pptx
STOCK PRICE ANALYSIS Furkan Ali TASCI --.pptxFurkanTasci3
 
Understanding the Impact of video length on student performance
Understanding the Impact of video length on student performanceUnderstanding the Impact of video length on student performance
Understanding the Impact of video length on student performancePrithaVashisht1
 
TCFPro24 Building Real-Time Generative AI Pipelines
TCFPro24 Building Real-Time Generative AI PipelinesTCFPro24 Building Real-Time Generative AI Pipelines
TCFPro24 Building Real-Time Generative AI PipelinesTimothy Spann
 
Unleashing Datas Potential - Mastering Precision with FCO-IM
Unleashing Datas Potential - Mastering Precision with FCO-IMUnleashing Datas Potential - Mastering Precision with FCO-IM
Unleashing Datas Potential - Mastering Precision with FCO-IMMarco Wobben
 
Air Con Energy Rating Info411 Presentation.pdf
Air Con Energy Rating Info411 Presentation.pdfAir Con Energy Rating Info411 Presentation.pdf
Air Con Energy Rating Info411 Presentation.pdfJasonBoboKyaw
 
Stochastic Dynamic Programming and You.pptx
Stochastic Dynamic Programming and You.pptxStochastic Dynamic Programming and You.pptx
Stochastic Dynamic Programming and You.pptxjkmrshll88
 
Data Collection from Social Media Platforms
Data Collection from Social Media PlatformsData Collection from Social Media Platforms
Data Collection from Social Media PlatformsMahmoud Yasser
 
Data Analytics Fundamentals: data analytics types.potx
Data Analytics Fundamentals: data analytics types.potxData Analytics Fundamentals: data analytics types.potx
Data Analytics Fundamentals: data analytics types.potxEmmanuel Dauda
 
Paul Martin (Gartner) - Show Me the AI Money.pdf
Paul Martin (Gartner) - Show Me the AI Money.pdfPaul Martin (Gartner) - Show Me the AI Money.pdf
Paul Martin (Gartner) - Show Me the AI Money.pdfdcphostmaster
 
Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...
Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...
Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...ferisulianta.com
 

Dernier (20)

The market for cross-border mortgages in Europe
The market for cross-border mortgages in EuropeThe market for cross-border mortgages in Europe
The market for cross-border mortgages in Europe
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 
2024 Build Generative AI for Non-Profits
2024 Build Generative AI for Non-Profits2024 Build Generative AI for Non-Profits
2024 Build Generative AI for Non-Profits
 
Neo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdf
Neo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdfNeo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdf
Neo4j_Jesus Barrasa_The Art of the Possible with Graph.pptx.pdf
 
Báo cáo Social Media Benchmark 2024 cho dân Marketing
Báo cáo Social Media Benchmark 2024 cho dân MarketingBáo cáo Social Media Benchmark 2024 cho dân Marketing
Báo cáo Social Media Benchmark 2024 cho dân Marketing
 
Using DAX & Time-based Analysis in Data Warehouse
Using DAX & Time-based Analysis in Data WarehouseUsing DAX & Time-based Analysis in Data Warehouse
Using DAX & Time-based Analysis in Data Warehouse
 
Empowering Decisions A Guide to Embedded Analytics
Empowering Decisions A Guide to Embedded AnalyticsEmpowering Decisions A Guide to Embedded Analytics
Empowering Decisions A Guide to Embedded Analytics
 
Brain Tumor Detection with Machine Learning.pptx
Brain Tumor Detection with Machine Learning.pptxBrain Tumor Detection with Machine Learning.pptx
Brain Tumor Detection with Machine Learning.pptx
 
How to Build an Experimentation Culture for Data-Driven Product Development
How to Build an Experimentation Culture for Data-Driven Product DevelopmentHow to Build an Experimentation Culture for Data-Driven Product Development
How to Build an Experimentation Culture for Data-Driven Product Development
 
STOCK PRICE ANALYSIS Furkan Ali TASCI --.pptx
STOCK PRICE ANALYSIS  Furkan Ali TASCI --.pptxSTOCK PRICE ANALYSIS  Furkan Ali TASCI --.pptx
STOCK PRICE ANALYSIS Furkan Ali TASCI --.pptx
 
Understanding the Impact of video length on student performance
Understanding the Impact of video length on student performanceUnderstanding the Impact of video length on student performance
Understanding the Impact of video length on student performance
 
TCFPro24 Building Real-Time Generative AI Pipelines
TCFPro24 Building Real-Time Generative AI PipelinesTCFPro24 Building Real-Time Generative AI Pipelines
TCFPro24 Building Real-Time Generative AI Pipelines
 
Unleashing Datas Potential - Mastering Precision with FCO-IM
Unleashing Datas Potential - Mastering Precision with FCO-IMUnleashing Datas Potential - Mastering Precision with FCO-IM
Unleashing Datas Potential - Mastering Precision with FCO-IM
 
Air Con Energy Rating Info411 Presentation.pdf
Air Con Energy Rating Info411 Presentation.pdfAir Con Energy Rating Info411 Presentation.pdf
Air Con Energy Rating Info411 Presentation.pdf
 
Target_Company_Data_breach_2013_110million
Target_Company_Data_breach_2013_110millionTarget_Company_Data_breach_2013_110million
Target_Company_Data_breach_2013_110million
 
Stochastic Dynamic Programming and You.pptx
Stochastic Dynamic Programming and You.pptxStochastic Dynamic Programming and You.pptx
Stochastic Dynamic Programming and You.pptx
 
Data Collection from Social Media Platforms
Data Collection from Social Media PlatformsData Collection from Social Media Platforms
Data Collection from Social Media Platforms
 
Data Analytics Fundamentals: data analytics types.potx
Data Analytics Fundamentals: data analytics types.potxData Analytics Fundamentals: data analytics types.potx
Data Analytics Fundamentals: data analytics types.potx
 
Paul Martin (Gartner) - Show Me the AI Money.pdf
Paul Martin (Gartner) - Show Me the AI Money.pdfPaul Martin (Gartner) - Show Me the AI Money.pdf
Paul Martin (Gartner) - Show Me the AI Money.pdf
 
Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...
Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...
Prediction Of Cryptocurrency Prices Using Lstm, Svm And Polynomial Regression...
 

MySQL Document Store for Modern Applications

  • 1. MySQL Document Store for Modern Applications A Document Store with all the benefits of a Transactional RDBMS © 2021 Oracle MySQL Olivier Dasini MySQL Principal Solutions Architect EMEA olivier.dasini@oracle.com Twitter : @freshdaz Blogs : http://dasini.net/blog/en : http://dasini.net/blog/fr
  • 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 © 2021 Oracle MySQL
  • 3. 3 3 Olivier DASINI Copyright © 2021 Oracle and/or its affiliates. All rights reserved.  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 up to date!  Twitter: @freshdaz  Blog: www.dasini.net/blog/en Me, Myself & I
  • 4. Why MySQL ? Program agenda 1 2 3 RDBMS & NoSQL concepts MySQL Document Store 4 © 2021 Oracle MySQL Demo MySQL Enterprise Edition 4 5
  • 5. 5 © 2021 Oracle MySQL The world’s most popular open source database
  • 6. Some Of Our Customers  MySQL powers the most demanding Web, E-commerce, SaaS and Online Transaction Processing (OLTP) applications  It is a fully integrated transaction-safe, ACID compliant database with full commit, rollback, crash recovery and row level locking capabilities  MySQL delivers the ease of use, scalability, and performance to power: 6 © 2021 Oracle MySQL
  • 7. Explosive Data Growth 7 © 2021 Oracle MySQL Source IDC, 2017 Source Domo, 2018
  • 8. MySQL 8.0 Enables Modern Web Applications 9 © 2021 Oracle MySQL Scalable & Stable Better handling of high contention, improved security, and minimizing downtime Data Driven Optimizing services with real time data analysis Developer First Hybrid data model and data access APIs for flexibility for developers Mobile Friendly Ready for location based services. Handling Emoji and Unicode characters 24x7 at Scale
  • 9. Back to Basics 10 © 2021 Oracle MySQL
  • 10. Relational Databases  Data Integrity – Normalization – Constraints (Foreign keys, …)  Atomicity, Consistency, Isolation, Durability – ACID Compliant – Transactions  SQL – Powerful Query Language – Schema, Table, Row – SELECT / UPDATE / DELETE / INSERT 11 © 2021 Oracle MySQL Terminologies
  • 11. J JavaS Script O Object N Notation  JSON is a lightweight data-interchange format  It is easy for humans to read and write  It is easy for machines to parse and generate  It is based on a subset of the JavaScript Programming  Language, Standard ECMA-262 3rd Edition – Dec. 1999  Use for storing and exchanging data 12 © 2021 Oracle MySQL What is a JSON Document ?  An object that can represent structured data  Structure is implicit in the document; usually no external/central schema  Compact, popular and standardized  Can be represented natively in many languages (JavaScript,Python, etc.)
  • 12. MySQL JSON Support  Native File Format – Standardized as ECMA-404 (http://json.org) – Binary Storage  Generated Columns  30+ Functions – Search Functions – Aggregations Functions  Query structured data and semi-structured JSON data 13 © 2021 Oracle MySQL
  • 13. MySQL JSON Functions 14 © 2021 Oracle MySQL Perform operations on JSON documents 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_PATCH() JSON_MERGE_PRESERVE() JSON_OBJECT() JSON_OVERLAPS() JSON_PRETTY() JSON_QUOTE() JSON_REMOVE() JSON_REPLACE() JSON_SCHEMA_VALID() JSON_SCHEMA_VALIDATION_REPORT() JSON_SEARCH() JSON_SET() JSON_STORAGE_SIZE() JSON_STORAGE_FREE() JSON_TABLE() JSON_TYPE() JSON_UNQUOTE() JSON_MERGE_PATCH() JSON_VALID() JSON_VALUE() MEMBER OF() JSON_ARRAYAGG() JSON_OBJECTAGG() https://dev.mysql.com/doc/refman/8.0/en/json-functions.html
  • 14. NoSQL : Document Store  Schemaless – No schema design, No normalization, No Foreign Keys, No data types, … – Very quick initial development  Flexible data structure – Embedded arrays or objects – Valid solution when natural data can’t be modeled optimally into a relational model – Objects persistence without the use of any ORM – Mapping Object-Oriented  JSON – Close to frontend – Native in JavaScript – Easy to learn 15 © 2021 Oracle MySQL
  • 15. How DBAs see data 16 © 2021 Oracle MySQL How Devs see data { " G N P " : 2 7 3 1 , " _ i d " : " M T Q " , " N a m e " : " M a r t i n i q u e " , " I n d e p Ye a r " : n u l l , " g e o g r a p h y " : { " R e g i o n " : " C a r i b b e a n " , " C o n t i n e n t " : " N o r t h A m e r i c a " , " S u r f a c e A r e a " : 11 2 8 } , " g o v e r n m e n t " : { " H e a d O f S t a t e " : " E m m a n u e l M a c r o n " , " G o v e r n m e n t F o r m " : " O v e r s e a s D e p a r t m e n t o f F r a n c e " } , " d e m o g r a p h i c s " : { " P o p u l a t i o n " : 3 9 5 0 0 0 , " L i f e E x p e c t a n c y " : 7 8 . 3 0 0 0 0 3 0 5 1 7 5 7 8 1 } }
  • 16. Document Oriented Databases  Schema (Database)  Collection – Group of JSON documents. – Equivalent of table  Document – Set of key-value pairs in JSON format – Equivalent of row (tuple) © 2021 Oracle MySQL Terminologies  CRUD (basic functions of persistent storage) – CREATE – READ – UPDATE – DELETE 17
  • 17. Document Oriented Databases  Schemaless: No centralized database schema – Data model enforcement and validation (if any) at application layer – Simpler schema updates (no ALTER TABLE penalty)  NoSQL APIs: Simpler programming interfaces – No specialized language for queries and data manipulation – Complex queries handled at application layer (no complex SELECTs, JOINs) – Document in, document out, manipulations at client side  Scalability, but some drawbacks: – Limited database features (no foreign keys, no transactions, etc.) – Weak consistency guarantees © 2021 Oracle MySQL Usability & Scalability 18
  • 18. Traditional architecture Combining Relational Datastore + ETL (or similar mechanism) + Document Datastore https://www2.slideshare.net/lefred.descamps/mysql-80-document-store-discovery-of-a-new-world
  • 19. RDBMS or NoSQL ? Why not both ?
  • 20. Using MySQL Document Store Combining Relational & Document Stores https://www2.slideshare.net/lefred.descamps/mysql-80-document-store-discovery-of-a-new-world
  • 21. MySQL Document Store 22 © 2021 Oracle MySQL An easy, straightforward way to work with JSON documents in MySQL www.dasini.net/blog/2019/04/02/mysql-json-document-store/
  • 22. NoSQL, MySQL, why not...  Have both schema-less AND schema in the same technology stack?  One that checks all the boxes of all stakeholders: 24 © 2021 Oracle MySQL Developers: [x] Schemaless or/and Schema [x] Rapid Prototyping/Simpler APIs [x] Document Model [x] Transactions Operations: [x] Performance Management/Visibility [x] Robust Replication, Backup, Restore [x] Comprehensive Tooling Ecosystem [x] Simpler application schema upgrades Business Owner: [x] Don’t lose my data = ACID transactions [x] Capture all my data = Extensible/Schemaless [x] Products On Schedule/Time to Market = Rapid Development NoSQL + SQL = MySQL
  • 23. MySQL Document Store: Components  MySQL X Plugin Introduces X Protocol for relational & document operations Maps CRUD operations to standard SQL (relational tables, JSON datatype and functions)  X Protocol New MySQL client protocol based on top of industry standard (Protobuf) Works for both, CRUD and SQL operations  MySQL InnoDB Cluster A complete High Availability solution for MySQL  X DevAPI New, modern, async developer API for CRUD & SQL operations on top of X Protocol Introduces collections as new schema object  MySQL Shell Offers interactive X DevAPI mode for app prototyping  MySQL Connectors Support for X DevAPI for ● JavaScript, Python, PHP, Java, C#, C++ 25 © 2021 Oracle MySQL NoSQL + SQL = MySQL
  • 24. MySQL Document Store: Architecture 26 © 2021 Oracle MySQL NoSQL + SQL = MySQL
  • 25. MySQL Covers 4 Core Areas 28 © 2021 Oracle MySQL Relational MySQL Tables and SQL Relational MySQL Tables and SQL Relational Analytics MySQL Tables and SQL Relational Analytics MySQL Tables and SQL Document Store MySQL Collections and Table with JSON Datatype Key/Value MySQL Memcached Document Store MySQL Collections and Table with JSON Datatype Key/Value MySQL Memcached Mass Scale Analytics Relational and/or Document Store Mass Scale Analytics Relational and/or Document Store NoSQL Operational SQL / Relational Analytical Combining Relational & Document Stores Workloads
  • 26. Welcome to the X DevAPI! Motivation ● We are doing something that has not been done before ● Document databases exist! Relational databases exist! ● We even see databases that support relational and document querying over the same data set ● However we have yet to see a relational database include a document model so that a user can use document objects alongside their existing relational data 30 © 2021 Oracle MySQL MySQL X devAPI connector for: ● Java : https://insidemysql.com/connector-j-8-0-11-the-face-for-your-brand-new-document-oriented-database/ ● .NET : https://insidemysql.com/introducing-connector-net-with-full-support-for-mysql-8-0/ ● Node.JS : https://insidemysql.com/introducing-connector-node-js-for-mysql-8-0/ ● C++ : https://insidemysql.com/what-is-new-in-connector-c-8-0/ ● Python : https://insidemysql.com/using-mysql-connector-python-8-0-with-mysql-8-0/ ● PHP : https://insidemysql.com/introducing-the-mysql-x-devapi-php-extension-for-mysql-8-0/ ● ODBC : https://insidemysql.com/what-is-new-in-connector-odbc-8-0/ SQL is now optional!
  • 27. Welcome to the X DevAPI! - Python Example 31 © 2021 Oracle MySQL Writing a program using MySQL 8.0 Document Store import mysqlx session = mysqlx.get_session({ "host": "localhost", "port": 33060, "user": "my_user", "password": "s0S3kR*T" }) schema = session.get_schema("test") collection = schema.get_collection("my_collection") result = collection.find("name like :param").bind("param", "Olivier").limit(1).execute() docs = result.fetch_all() print("Name: {0}".format(docs[0]["name"])) session.close() Connector/Python 8.0 installation shell> pip install mysql-connector-python https://insidemysql.com/using-mysql-connector-python-8-0-with-mysql-8-0/ SQL is now optional!
  • 28. Welcome to the X DevAPI! - PHP Example 32 © 2021 Oracle MySQL Writing a program using MySQL 8.0 Document Store $user = 'my_user'; $passwd = 's0S3kR*T'; $host = 'localhost'; $port = '33060'; $connection_uri = 'mysqlx://'.$user.':'.$passwd.'@'.$host.':'.$port; $session = mysql_xdevapigetSession($connection_uri); $schema = $session->getSchema("test"); $collection = $schema->getCollection("my_collection"); $result = $collection->find("Name like :param")->bind(["param" => "Olivier"])->execute(); $docs = $result->fetchAll(); //… print results … $session->close(); Requirements / Installation https://dev.mysql.com/doc/apis-php/en/apis-php-mysql-xdevapi.setup.html https://insidemysql.com/introducing-the-mysql-x-devapi-php-extension-for-mysql-8-0/ SQL is now optional!
  • 29. Using MySQL Document Store with MySQL Shell 33 © 2021 Oracle MySQL An integrated development & administration shell where all MySQL products will be available through a common scripting interface
  • 30. MySQL Shell ● DevOps Tool – Designed for DevOps operations ● Scripting for Javascript, Python, and SQL mode – Rapid prototyping capabilities ● InnoDB Cluster Support – Setup your HA solution within minutes ● Supports MySQL Standard and X Protocols ● Document and Relational Models – CRUD Document and Relational APIs via scripting ● Traditional Table, JSON, Tab Separated output results formats ● Both Interactive and Batch operations 34 © 2021 Oracle MySQL Interface for Development and Administration of MySQL
  • 31. MySQL Shell Overview 35 © 2021 Oracle MySQL MySQL Server 5.7 MySQL 8.0 Upgrade Checker Prompt Themes Auto Completion & Command History MySQL Server 8.0 Document Store X Dev API SQL CLI Output Formats (Table, JSON, Tabbed) Batch Execution JavaScript Python SQL importJSON ParalleI importTABLE InnoDB Cluster/ ReplicaSet etc...
  • 32. 36 © 2021 Oracle MySQL js> session.createSchema('demo') js> use demo js> db.getCollections() js> db.createCollection('myCollection') js> db.getCollections() js> db.myCollection.add({"param1":"value1", "param2":"value2"}) js> db.myCollection.find() js> db.myCollection.find().limit(1) js> db.myCollection.find("_id = '00005af018430000000000000002'") js> db.myCollection.modify("_id = '1234'").set("param","value") js> db.myCollection.remove("_id = '1234'") js> session.startTransaction() js> … js> session.rollback() js> db.myCollection.createIndex("ageIdx",{fields:[{"field":"$.age","type":"INT",required:false}]}) Copyright @ 2019 Oracle and/or its affiliates. All rights reserved. MySQL Document Store “MySQL Shell’s cheat sheet” C Create R Read U Update D Delete Index T Transaction
  • 33. Demo 37 © 2021 Oracle MySQL
  • 34. MySQL Document Store 38 © 2021 Oracle MySQL Wrap-up
  • 35. MySQL JSON datatype & Document Store API 39 © 2021 Oracle MySQL Hybrid API SQL Function Data Type MySQL X DevAPI JSON Functions JSON Datatype Hybrid CRUD API of both SQL and NoSQL provides more flexibility for development Various SQL functions to search and modify JSON. Analysing JSON with SQL by converting into table with JSON_TABLE() Seamlessly managing “unstructured” data in RDBMS tables with efficient update performance { } ();
  • 36. ✔ Built on Proven SQL/InnoDB/Replication technology ✔ Schemaless / Relational / Hybrid ✔ Data Integrity – ACID Compliant – Transactions ✔ No SQL required – CRUD/JSON/Documents/Indexes ✔ Modern Dev API – Easy to start ✔ Modern/Efficient Protocol ✔ SQL Queries/Analytics over JSON Documents ✔ Transparent and Easy HA with MySQL InnoDB Cluster MySQL Document Store NoSQL + SQL = MySQL 40 © 2021 Oracle MySQL
  • 37. MySQL Covers 4 Core Areas 41 © 2021 Oracle MySQL Relational MySQL Tables and SQL Relational MySQL Tables and SQL Relational Analytics MySQL Tables and SQL Relational Analytics MySQL Tables and SQL Document Store MySQL Collections and Table with JSON Datatype Key/Value MySQL Memcached Document Store MySQL Collections and Table with JSON Datatype Key/Value MySQL Memcached Mass Scale Analytics Relational and/or Document Store Mass Scale Analytics Relational and/or Document Store NoSQL Operational SQL / Relational Analytical This is the best of the two worlds in one product !
  • 38. MySQL Document Store 42 © 2021 Oracle MySQL Works transparently with MySQL Enterprise Features Clients and Applications InnoDB Storage Engine mysqld process Firewall Audit Encryption Authentication Online Backup Monitoring Integration Support 3rd Party Tools 3rd Party Tools 3rd Party Tools 3rd Party Tools 3rd Party Tools NoSQL NoSQL Simple access patterns Compromise on consistency for performance Ad-hoc data format Simple operation SQL SQL Complex queries with joins ACID transactions Well defined schemas Rich set of tools Masking
  • 39. MySQL Enterprise Edition 43 © 2021 Oracle MySQL https://www.mysql.com/products/enterprise/
  • 40. MySQL Enterprise Edition 44 © 2021 Oracle MySQL Management Tools Advanced Features Support • Authentication • Audit • Encryption / TDE • Firewall • Data Masking • High Availability • Monitoring • Backup • Development • Administration • Migration • Technical Support • Consultative Support • Oracle Certifications Highest Levels of MySQL Security, Manageability and Reliability
  • 41. MySQL Enterprise Edition  MySQL Enterprise Authentication – External Authentication Modules ● Microsoft AD, Linux PAMs, Native LDAP  MySQL Enterprise Encryption – Public/Private Key Cryptography – Asymmetric Encryption – Digital Signatures, Data Validation  MySQL Enterprise Firewall – Block SQL Injection Attacks – Intrusion Detection  MySQL Enterprise Audit – User Activity Auditing, Regulatory Compliance  MySQL Enterprise Monitor – Changes in Database Configurations, Users Permissions, Database Schema, Passwords  MySQL Enterprise Backup – Securing Backups, AES 256 encryption  MySQL Enterprise TDE – AES 256 encryption – Key Management  MySQL Enterprise De-Identification – Data Masking and Obfuscation – Formatted Data Randomization – Pseudonymization, Data Blacklists – Random Data generation 45 © 2021 Oracle MySQL More information available at : Designed to provide monitoring, online backup, as well as improved security and scalability
  • 42. MySQL Security Achitecture 46 © 2021 Oracle MySQL
  • 43. Resources – MySQL Blogs 47 © 2021 Oracle MySQL • Top 10 reasons for NoSQL with MySQL – http://lefred.be/content/top-10-reasons-for-nosql-with-mysql/ • MySQL Document Store – https://dev.mysql.com/doc/x-devapi-userguide/en/ – https://github.com/mysql/mysql-connector-nodejs – https://www.npmjs.com/package/@mysql/xdevapi – https://dev.mysql.com/doc/refman/8.0/en/document-store.html – https://dev.mysql.com/doc/x-devapi-userguide/en/ – https://dev.mysql.com/doc/dev/connector-nodejs/8.0/ – https://www.mysql.com/news-and-events/web-seminars/mysql-document-store-and-node-js/ • MySQL Shell User Guide – https://dev.mysql.com/doc/mysql-shell-excerpt/8.0/en/index.html – https://dev.mysql.com/doc/dev/mysqlsh-api-python/8.0/ • MySQL Shell Documentation – https://dev.mysql.com/doc/dev/mysqlsh-api-javascript/8.0/ • X Dev API User Guide – https://dev.mysql.com/doc/x-devapi-userguide/en/ • X Plugin – https://dev.mysql.com/doc/refman/8.0/en/x-plugin.html • MySQL JSON Data Type – https://dev.mysql.com/doc/refman/8.0/en/json.html
  • 44. Resources – MySQL Blogs 48 © 2021 Oracle MySQL • Common Table Expressions (CTE) – http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes/ – http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes-part-two-how-to-generate-series/ – http://mysqlserverteam.com/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes-part-three-hierarchies/ – http://mysqlserverteam.com/mysql-8-0-1-recursive-common-table-expressions-in-mysql-ctes-part-four-depth-first-or-breadth-first-traversal- transitive-closure-cycle-avoidance/ • Window Functions – http://mysqlserverteam.com/mysql-8-0-2-introducing-window-functions/ – https://mysqlserverteam.com/row-numbering-ranking-how-to-use-less-user-variables-in-mysql-queries/ – https://fr.slideshare.net/DagHWanvik/dublin-4x3finalslideshare-80423777 • Security – https://www.mysql.com/news-and-events/web-seminars/checking-and-hardening-mysql-8-0-security-via-sql-and-without-os-access/ – https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/ – http://lefred.be/content/mysql-8-0-listing-roles/ – https://dev.mysql.com/doc/refman/8.0/en/password-management.html • Upgrade from 5.7 to 8.0 – https://mysqlserverteam.com/inplace-upgrade-from-mysql-5-7-to-mysql-8-0/ – https://mysqlserverteam.com/upgrading-to-mysql-8-0-here-is-what-you-need-to-know/
  • 45. Resources – MySQL Blogs 49 © 2021 Oracle MySQL • The complete list of new features in MySQL 8.0 – https://mysqlserverteam.com/the-complete-list-of-new-features-in-mysql-8-0/ • MySQL Server Team’s blog – http://mysqlserverteam.com/ • MySQL High Availability Team’s blog – http://mysqlhighavailability.com/ • MySQL Release Engineering Blog – https://mysqlrelease.com/ • MySQL Dev Team Blog – https://insidemysql.com/ • MySQL Enterprise Team Blogs – https://blogs.oracle.com/mysql/ • MySQL Performance by Dimitri – http://dimitrik.free.fr/blog/ • Lefred’s blog (MySQL Community Manager) – http://lefred.be/ • Olivier Dasini’s blog – http://dasini.net/blog/
  • 46. 50 © 2021 Oracle MySQL Questions? olivier.dasini@oracle.com
  • 47. Thank you 51 © 2021 Oracle MySQL Olivier Dasini MySQL Principal Solutions Architect EMEA olivier.dasini@oracle.com Twitter : @freshdaz Blog : http://dasini.net/blog/en