nosql + sql = mysql - doag.org · mysql is the most popular database . mysql evolution •mysql 5.1...

59
NoSQL + SQL = MySQL Developing Next Gen Apps with MySQL 8 Carsten Thalheimer Sales Consultant MySQL GBU EMEA ([email protected])

Upload: nguyenthuy

Post on 11-Mar-2019

298 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

NoSQL + SQL = MySQL Developing Next Gen Apps with MySQL 8 Carsten Thalheimer

Sales Consultant MySQL GBU EMEA ([email protected])

Page 2: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

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.

2

Page 3: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a
Page 4: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Agenda

• MySQL “Status Quo Nov 2018”

• Key SQL Updates in MySQL 8

• The new MySQL Shell

• NoSQL – No SQL in MySQL anymore?

• MySQL in 6 months … what you can expect

Page 5: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Explosive Data Growth

5

4.33 Million Videos Views

473,400 Tweets

854,166 Logins

97,222 Hours of Video

Streamed

1,389 Rides

120+ New Professionals

Every 60 Seconds

0

20

40

60

80

100

120

140

160

180

2010 2012 2014 2016 2018 2020 2022 2024

Zett

abyt

es

Source: IDC, 2017 Source: Domo, 2018

Page 6: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Stack Overflow Developer Survey 2018 Developer Survey Results

MySQL is the most popular database

Page 7: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Evolution

• MySQL 5.1

• MySQL 5.5

• MySQL 5.6

• MySQL 5.7

• MySQL 8.0

7

Page 8: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Evolution

• MySQL 5.1 Partitioning

• MySQL 5.5

• MySQL 5.6

• MySQL 5.7

• MySQL 8.0

8

Page 9: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Evolution

• MySQL 5.1 Partitioning

• MySQL 5.5 InnoDB

• MySQL 5.6

• MySQL 5.7

• MySQL 8.0

Page 10: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Evolution

• MySQL 5.1 Partitioning…

• MySQL 5.5 InnoDB

• MySQL 5.6 Replication

• MySQL 5.7

• MySQL 8.0

10

Page 11: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Evolution

• MySQL 5.1 Partitioning…

• MySQL 5.5 InnoDB

• MySQL 5.6 Replication

• MySQL 5.7 InnoDB Cluster

• MySQL 8.0 …

11

Page 12: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

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

- 2x Better Performance - Native Data Dictionary - Unicode - Updated Security - New MySQL Clients - Advanced SQL - InnoDB Redo Log - Instant Add Column - Replication improvements - NoSQL Document Store

3+ Years in Development (since 10/2014) 400+ WL (https://dev.mysql.com/worklog/) 5000+ Bugs Fixed 500 New Tests

GA

Page 13: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

New MySQL 8.0 means also

• Oracle License (Std and EE) or GPLv2 (Community)…

• New Clients and Connector

• New MySQL Workbench 8

• New Docker Images and MySQL Operator

• New MySQL Enterprise Backup

• New MySQL Enterprise Monitor

• New Security features

• Overworked Plug-Ins

13

Page 14: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Agenda

• MySQL “Status Quo Nov 2018”

• Key SQL updates in MySQL 8

• MySQL Shell

• NoSQL – No SQL in MySQL anymore?

• MySQL in 6 months … what you can expect

Page 15: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Intro: One Giant Leap for SQL: MySQL 8.0 Released

“This is a landmark release as MySQL

eventually evolved beyond SQL-92

and the purely relational dogma.

Among a few other standard SQL

features, MySQL now supports window

functions (over) and common table

expressions (with). Without a doubt,

these are the two most important post-

SQL-92 features.”

https://modern-sql.com/blog/2018-04/mysql-8.0

Page 16: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

SQL Updates in MySQL 8.0

• Window Functions

16

Page 17: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

SQL Updates in MySQL 8.0

• Window Functions

• Common Table Expression (Cursive/Recursive)

17

Page 18: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

SQL Updates in MySQL 8.0

• Window Functions

• Common Table Expression (Cursive/Recursive)

• Invisible Indexes

18

Page 19: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

SQL Updates in MySQL 8.0

• Window Functions

• Common Table Expression (Cursive/Recursive)

• Invisible Indexes

• Functional Indexes

19

Index over an expression CREATE TABLE t1 (col1 INT, col2 INT, INDEX func_index ((ABS(col1))));

CREATE INDEX idx1 ON t1 ((col1 + col2));

CREATE INDEX idx2 ON t1 ((col1 + col2), (col1 - col2), col1);

Page 20: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Agenda

• MySQL “Status Quo Nov 2018”

• Key SQL updates in MySQL 8

• The new MySQL Shell

• NoSQL – No SQL in MySQL anymore?

• MySQL in 6 months … what you can expect

Page 21: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Shell

Vision

“Integrated development and administration shell where all MySQL products will be available through a common scripting interface”

Motivation

• Ease new product integration

• One For All: Same interface for all products, JavaScript/Python

• All In One: Expose common use cases for different products

Introduction

21

Page 22: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Shell 1.x

The first iteration

Confidential - Oracle Internal

22

JavaScript

SQL

Python

Output Formats (Table, JSON, Tabbed)

Document Store X DevAPI

(Developer Preview)

SQL CLI

InnoDB Cluster

Batch Execution

MySQL Server 5.7

Page 23: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Shell 8.x

The second iteration

23

JavaScript

SQL

Python

Output Formats (Table, JSON,

Tabbed, Vertical)

Batch Execution

MySQL Server 5.7

MySQL 8.0 Upgrade Checker

Prompt Themes Auto Completion

& Command History

MySQL Server 8.0

Document Store X DevAPI

SQL CLI

InnoDB Cluster

Page 24: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Shell 8.0

Display useful information

– Session data

– Status, global or session variables.

– Environment variables.

– User defined variables.

Additional features –Auto Completion

–Persistency of the command history across sessions

–The ability to customize the information shown on the Shell prompt

Prompt Themes

Page 25: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

25

MySQL Group Replication

InnoDB Cluster

Page 26: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

26

App Servers with MySQL Router

InnoDB Cluster

MySQL Group Replication

Page 27: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

27

App Servers with MySQL Router

InnoDB Cluster

MySQL Group Replication

MySQL Shell Setup, Manage,

Orchestrate

Page 28: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

App Servers with MySQL Router

InnoDB Cluster

MySQL Group Replication

MySQL Shell Setup, Manage,

Orchestrate Clients

1.) mysqlsh - 2.) dba.deploySandboxInstance(3501) 3.) dba.deploySandboxInstance(3502) 4.) dba.deploySandboxInstance(3503) 5.) \connect root@localhost:3501 - 6.) mc = dba.createCluster("mycluster") 7.) mc.addInstance("root@localhost:3502") 8.) mc.addInstance("root@localhost:3503") - mysqlrouter --bootstrap localhost:3501 --user=root

Page 29: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL 8 Upgrade Check

• “mysqlcheck --check-upgrade” - does not detect all problems that might result in failed upgrade

• Goal of Upgrade checker is to point out backwards incompatible changes from the new server version that will affect the specific server it runs on

– Automate checks that need to be performed

– Offer advice targeted advice to encountered problems e.g. • Usage of db objects with names conflicting with reserved keywords in 8.0

• Usage of utf8mb3 charset

• Usage of use ZEROFILL/display length type attributes

• check table x for upgrade

• Table names in the mysql schema conflicting with new tables in 8.0

• Usage of old temporal type

• Foreign key constraint names longer than 64 characters

Help customers *before* the Upgrade

MySQL Server 5.7

MySQL Server 8.0

Page 30: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

NoSQL Schemaless JSON Collections

MySQL Relational Tables

X Dev API SQL

CRUD

MySQL

Document Store

Page 31: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Shell 8.0

"An easy, straight forward way to work with JSON documents in MySQL"

• A Document-oriented database built on top of MySQL

• Relational database aspects are abstracted

– No tables, no columns, no schema

– Just JSON documents in collections

Document Store - Overview

• Collection:

– New Schema Object

– Stored as InnoDB Table

– ACID compliance

– Transaction Support

– Replication Support

– Row Locking

Page 32: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Agenda

• MySQL “Status Quo Nov 2018”

• Key SQL updates in MySQL 8

• MySQL Shell

• NoSQL – No SQL in MySQL anymore?

• MySQL in 6 months … what you can expect

Page 33: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

What is the MySQL Document Store?

"An easy, straight forward way to work with JSON documents in MySQL"

Page 34: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

JSON: Why is it popular?

• Simple data format that allows programmers to store and communicate sets of values. Its ease of use, speed of processing and easy integration made it extremely popular for Web-based applications

• JSON's lack of a predefined schema makes it easy for developers to store and update documents

• As JSON adoption has grown, JSON-centric document databases have become more popular

MySQL 5.7+ integrated JSON features, resulting in a best-of-both worlds benefit to developers and database administrators

Developer Friendly

Page 35: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

How DBAs see data How Developers see data

{ "GNP" : 249704, "Name" : "Belgium", "government" : {

"GovernmentForm" : "Const i tut ional Monarchy, Federation",

"HeadOfState" : "Phi l ippe I " } , "_ id " : "BEL", "IndepYear" : 1830, "demographics" : {

"Population" : 10239000, "LifeExpectancy" : 77.8000030517578

} , "geography" : {

"Region" : "Western Europe", "SurfaceArea" : 30518, "Continent" : "Europe"

} }

Copyright @ 2018 Oracle and/or its affiliates. All rights reserved.

Page 36: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

36

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 = MySQL

Page 37: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts

MySQL – SQL (:3306) MySQL – DocumentStore (:33060)

database/schema database

table collection

record document

column field

Page 38: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

MySQL Document Store: Architecture

Copyright @ 2018 Oracle and/or its affiliates. All rights reserved.

ACID compliance

Transaction Support

Replication Support InnoDB Engine

Page 39: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts – Databases/Schemas, Table/Collections

Page 40: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts Tables/Collections (Schemaless)

Page 41: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts Tables/Collections

Page 42: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts select (\sql)

Page 43: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts select (\js)

Page 44: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Collection Search – find(), bind(), fields()

• Supports many operators to specify searches

– ||, &&, XOR, IS, NOT, BETWEEN, IN, LIKE, !=, <>, >, >=, <, <=, &, |, <<, >>, +, -, *, /, ~, %.

• Searching

– db.CountryInfo.find("GNP > 500000 and demographics.Population < 100000000")

– db.CountryInfo.find("GNP*1000000/demographics.Population > 30000")

• Binding - bind()

– db.CountryInfo.find("Name = :country").bind("country", "Italy")

• Project Results – fields() – returns specific fields

– db.CountryInfo.find("Name = :country").bind("country", "Italy")

44

Page 45: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts changing data(\js)

Page 46: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

js> session.createSchema('name') js> db.getCollections() js> db.createCollection(‘myCollection') 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()

Copyright @ 2018 Oracle and/or its affiliates. All rights reserved.

MySQL Document Store demo “cheat sheet”

Create

Read

Update

Delete

Transaction

Page 47: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

CRUD Operations in php NoSQL/Document

/* open a new connection */ $session = mysql_xdevapi\getSession("localhost","root", "secretpwd"); /* CREATE a new collection and document*/ $schema = $session->getSchema("products"); $collection = $schema->createCollection("best_products"); $product = array('name' => 'superdent', ' quantity' => 42); $collection->add($product)->execute(); /* READ documents */ $largestock = $collection->find()->sort(“quantity desc")->limit(3)->execute();

Page 48: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

CRUD Operations in php NoSQL/Document

/* UPDATE a document*/ $collection->modify("name like 'SuperDent'")->set(“quantity", 15)->execute(); $collection->modify("name like :pr_name")->bind(["pr_name" => $productName])-> set(“quantity", 15)->execute(); $collection->modify(“quantity < 10")->set("comment", "order more")->execute(); /* DELETE documents */ $collection->remove("name like 'Super%'")->execute();

Page 49: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

DBMS or NoSQL ?

Why not both ?

Copyright @ 2018 Oracle and/or its affiliates. All rights reserved.

Page 50: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts

Page 51: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Basic Concepts SQL & NoSQL (joining the worlds)

Page 52: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Agenda

• MySQL “Status Quo Nov 2018”

• Key SQL updates in MySQL 8

• The new MySQL Shell

• NoSQL – No SQL in MySQL anymore?

• MySQL in 6 months … what you can expect

Page 53: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

• Powerful union of MySQL Enterprise Edition & Oracle Cloud Infrastructure – Amazing underlying software and high-performance hardware

• Self-managed & Easy to use – Automates most common DBA tasks: backups, patches,

updates, replication configuration, etc.

– Web console, REST API, CLI, SDKs, and seamless integration

• Elasticity & High Availability – Replication across different physical locations

• Security & Compliance – Ready-to-use advanced security options and compliant with

the most demanding Enterprise regulations

MySQL as a Service

Page 54: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Oracle Responsibility

• Backup and recovery

• High-availability with automatic fail-over

• Vertical and horizontal scaling

• Database and OS patching

• Monitoring and log handling

• Security with advanced options available in MySQL Enterprise Edition

User Responsibility

• Logical schema modeling

• Query design and optimization

• Define data access and retention policies

54

Managed MySQL

Page 55: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

A Joint Venture

RAPID

MySQL Oracle Labs

Page 56: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

• Ground breaking technology from Oracle Labs

• Extreme Performance with In-Memory Analytics

• Integrated with MySQL – Can instantiate a new service or add to a running MySQL service

• Support for Real-Time SQL Analytics – Analytics provided over the same transactional store

• Architected for Oracle Cloud Infrastructure – Designed for Massive Elasticity

• Supports data on premise or in the cloud

MySQL as a Service

Analytics

Page 57: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

Architecture

MySQL Server

InnoDB RAPID Client RAPID Server

Client/App

Dat

a Lo

ad

SQL

Qu

ery

Qu

ery

Res

ult

Town State Population

Ontario CA 158007

Salinas CA 151060

Rockford IL 150115

Pomona CA 149474

Lakewood CO 144126

Hampton VA 146437

• MySQL

• Fastest OLTP

• RAPID

• Fastest OLAP

• Columnar

• In memory

• Vectorized

• Distributed

• Initial LOAD direct from InnoDB to RAPID

• Real-time updates for subsequent writes

Page 58: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

RAPID MySQL Integration Architecture

MySQL Server

RAPID Cluster

Manager

RAPID Load

Module

RAPID Exec

Client

RAPID Compiler

& Optimizer

Global State DS Network Layer

RAPID

RAPID Server Node 1

RAPID Server Node 2

RAPID Server Node N

Storage Engine

(InnoDB) Single System for OLTP & Analytics

Provides Real-Time Analytics Support

Page 59: NoSQL + SQL = MySQL - doag.org · MySQL is the most popular database . MySQL Evolution •MySQL 5.1 •MySQL 5.5 ... Intro: One Giant Leap for SQL: MySQL 8.0 Released “This is a

59

Carsten Thalheimer

[email protected] // M: +49 172 / 8833386 You can meet me @DOAG 2018 (320)