Oracle MySQL, ein Einstieg in die 'andere' Datenbank von Oracle

Carsten Thalheimer, PreSales MySQL EMEA

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL – Still a startup?

... More than 25 Years MySQL !!! … More than 15 Years InnoDB of Oracle Stewardship … More than 10 Years MySQL within Oracle

2 Agenda

• MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition Basics of Business Administration Something went wrong…

Let‘s assume we turn back time to end of the 19th century, what is one of the major business (US East coast)?

Ice trading (1894)

- U.S. ice trade employed an estimated 94,000 people - Revenue ~1.3 Billion$, compared with today [$ in 2014] - In 1903, the business reduced to <8% of 1899

4 MySQL is #2 most widely used … Source: http://db-engines.com/en/ranking (Status: June 2019) State of Open-Source RDBMSs, 2015 – Gartner:

Open-source relational DBMSs have matured significantly and can be used to replace commercial RDBMSs at a considerable TCO saving. Information leaders, DBAs and application development management can now consider them as a standard choice for deploying applications.

Gartner Strategic assumptions for 2018: […] more than 70% of new in-house applications will be developed on an OSDBMS and […] 50% of existing commercial RDBMS instances will have been converted or will be in process

https://www.gartner.com/doc/3033819/state-opensource-rdbmss- Stack Overflow Developer Survey Developer Survey Results

2017

2018

…but MySQL is the #1 choice for development

https://insights.stackoverflow.com/survey/2018/#technology-databases MySQL Powers Social:

MySQL Powers eCommerce:

MySQL Powers SaaS:

MySQL Powers FinTech:

MySQL Powers Cloud: Agenda

• MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition MySQL Community Edition

Clients and Applications

NoSQL SQL • Instance

Simple access patterns Complex queries with joins → OS process (1x) + LWP

Compromise on consistency ACID transactions for performance

Ad-hoc data format Well defined schemas • Database = Schema

Simple operation Rich set of tools → OS directory (some) InnoDB Storage Engine • Tables mysqld process → OS file (many) Replication and Clustering

10 MySQL

• ACID compliant and fully transactional with ROLLBACK/COMMIT/Foreign Keys • Build in Clustering available (InnoDB Cluster) • InnoDB supports encryption and compression • A typical MySQL database is normally in the three digit GB • Theoretical limits – maximum tablespace size is 64TB – serve more than 1000 columns per and can – contain a maximum of 64 secondary indexes. • MySQL → Oracle DB ?

• MySQL Shell/MySQL Workbench → SQL*Plus/SQL Developer

• MySQL Enterprise Backup* → Oracle RMAN

• MySQL Replication → Oracle Data Guard

• MySQL InnoDB Cluster → Oracle RAC

• MySQL Enterprise TDE* → Oracle ASO

+ Integration in Oracle Enterprise Manager * und Oracle Secure Backup *

* Enterprise Edition/Commercial only

12 MySQL

Clients and Applications

Default 3306 [33060] via TLS 1.2 or TLS 1.3

MySQL Client

MySQL Shell

MySQL Workbench

Replication and Clustering

13 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 MySQL Usecases MySQL - A Relational database MySQL like Microsoft SQL , DB2, Sybase, Postgres … MySQL - A DocumentStore a bit like MongoDB …

15 How DBAs see data How Developers see data

{ "GNP" : 249704, "Name" : "Belgium", "government" : { "GovernmentForm" : "Constitutional Monarchy, Federation", "HeadOfState" : "Philippe I" }, "_ i d " : "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. MySQL Document Store demo “cheat sheet”

js> session.createSchema('name') js> db.getCollections() Create js> db.createCollection(‘myCollection') js> db.myCollection.add({“param1":“value1", “param2":“value2”}) js> db.myCollection.find() Read js> db.myCollection.find().limit(1) js> db.myCollection.find("_id = '00005af018430000000000000002'") Update js> db.myCollection.modify("_id = '1234'").set(“param",“value") Delete js> db.myCollection.remove("_id = '1234'") js> session.startTransaction() js> … js> session.rollback() Transaction

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

Why not both ?

Copyright @ 2018 Oracle and/or its affiliates. All rights reserved. Basic Concepts SQL & NoSQL (joining the worlds) Agenda

• MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition Breakout: MySQL InnoDB Cluster

21 Virtually all organizations require their most critical systems to be 100% highly available

22 23

MySQL Group Replication: What Is It? • Group Replication library – Implementation of Replicated Database State Machine theory • MySQL GCS is based on Paxos (variant of Mencius) App Servers with – Provides virtually synchronous replication for MySQL 5.7+ & MySQL 8 MySQL Router – Supported on all MySQL platforms • , Windows, Solaris, OSX, FreeBSD

“Multi-master update anywhere replication plugin for MySQL with built-in conflict detection and resolution, automatic distributed recovery, and group membership.”

MySQL Group Replication InnoDB Cluster Clients

1.) mysqlsh - App Servers with 2.) dba.deploySandboxInstance(3501) MySQL Router 3.) dba.deploySandboxInstance(3502) 4.) dba.deploySandboxInstance(3503) 5.) \connect root@localhost:3501 - 6.) mc = dba.createCluster("mycluster") MySQL Shell 7.) mc.addInstance("root@localhost:3502") Setup, Manage, 8.) mc.addInstance("root@localhost:3503") Orchestrate - mysqlrouter --bootstrap localhost:3501 --user=root

MySQL Group Replication End of Breakout: MySQL InnoDB Cluster

25 Agenda

• MySQL “Status Quo June 2019” • MySQL Overview • MySQL InnoDB Cluster • MySQL Community vs MySQL Enterprise Edition MySQL Community MySQL Enterprise Edition Edition

Lifecycle - 5y+3y=8y Major Release - Every 2-3 years Minor Releases - Every Quarter - Oracle CPU, MySQL Database (Critical Patch Updates Security Alerts and Bulletins) MySQL Community

Clients and Applications

NoSQL SQL

Simple access patterns Complex queries with joins

Compromise on consistency ACID transactions for performance

Ad-hoc data format Well defined schemas

Simple operation Rich set of tools

InnoDB Storage Engine

mysqld process Replication / Cluster

28 MySQL Enterprise Edition - Support

Clients and Applications

NoSQL SQL

Simple access patterns Complex queries with joins

Compromise on consistency ACID transactions for performance

Ad-hoc data format Well defined schemas

Simple operation Rich set of tools

Support InnoDB Storage Engine

mysqld process Replication / Cluster

29 MySQL Enterprise Support • Based on Metalink , https://support.oracle.com • Largest MySQL engineering and support organization • Backed by the MySQL developers • World-class support, in 29 languages • Hot fixes & maintenance releases • 24x7x365 • Unlimited incidents Get immediate help for any MySQL • Consultative support issue, plus expert advice • Global scale and reach

30 MySQL Enterprise Edition [Integration]

Clients and Applications

NoSQL SQL

Simple access patterns Complex queries with joins

Compromise on consistency ACID transactions for performance 3rd Party Tools 3rd Party Tools Ad-hoc data format Well defined schemas 3rd Party Tools 3rd Party Tools rd Integration Simple operation Rich set of tools 3 Party Tools

Support InnoDB Storage Engine

mysqld process Replication / Cluster

31 MySQL & Oracle Product Integrations • • Oracle Enterprise Manager • Oracle VM • • Oracle GoldenGate • Oracle Clusterware • Oracle Audit Vault & Database Firewall • Oracle Secure Backup • MyOracle Online Support

MySQL Integrates into your Oracle Environment

32 MySQL Enterprise Edition – Plugins [SQL Firewall, TDE … ]

Clients and Applications

NoSQL SQL Authentication Simple access patterns Complex queries with joins

Compromise on consistency ACID transactions Audit for performance 3rd Party Tools 3rd Party Tools Ad-hoc data format Well defined schemas Firewall 3rd Party Tools 3rd Party Tools rd Integration Simple operation Rich set of tools 3 Party Tools TDE/Encryption Support InnoDB Storage Engine Masking mysqld process Replication / Cluster * All Plugins and Tools are ‚free‘ as part of the Support Subscription

33 MySQL Enterprise Edition • MySQL Enterprise Masking – De-identify, Anonymize Sensitive Data • MySQL Enterprise TDE – AES 256 encryption, Key Management • MySQL Enterprise Authentication – External Authentication Modules • MySQL Enterprise Encryption – Public/Private Key Cryptography, Asymmetric Encryption • MySQL Enterprise Firewall – Block SQL Injection Attacks, Intrusion Detection • MySQL Enterprise Audit – User Activity Auditing, Regulatory Compliance

34 MySQL Enterprise Edition – Plugins [SQL Firewall, TDE … ]

Clients and Applications

NoSQL SQL Authentication Online Backup Simple access patterns Complex queries with joins

Compromise on consistency ACID transactions Audit for performance 3rd Party Tools Monitoring 3rd Party Tools Ad-hoc data format Well defined schemas Firewall 3rd Party Tools 3rd Party Tools rd Integration Simple operation Rich set of tools 3 Party Tools TDE/Encryption Support InnoDB Storage Engine Masking mysqld process Replication / Cluster * All Plugins and Tools are ‚free‘ as part of the Support Subscription

35 MySQL Enterprise Edition

• MySQL Enterprise Masking • MySQL Enterprise Monitor – De-identify, Anonymize Sensitive Data – Monitor Changes in Database Configurations, Users Permissions, Database Schema, Passwords • MySQL Enterprise TDE – AES 256 encryption, Key Management • MySQL Enterprise Backup – Securing Backups, AES 256 encryption • MySQL Enterprise Authentication – External Authentication Modules • MySQL Enterprise Encryption – Public/Private Key Cryptography, Asymmetric Encryption • MySQL Enterprise Firewall – Block SQL Injection Attacks, Intrusion Detection • MySQL Enterprise Audit – User Activity Auditing, Regulatory Compliance

36 MySQL as a Service • 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 Analytics • Elasticity & High Availability – Replication across different physical locations • Security & Compliance – Ready-to-use advanced security options and compliant with the most demanding Enterprise regulations You can meet us @DOAG 2019

MySQL Evaluation Software All Oracle software is available for 30 days evaluation without obligation: http://edelivery.oracle.com

38 MySQL Pricing Strategy: Enterprise • Tiered Pricing: – Tier 1 = 1-4 Socket Servers • Pricing is calculated "per Server", "per Year” (no limit on Users or Virtual Machines) • Informative price examples (excl. taxes, electronic delivery):

Per Server (up to 4 Sockets)* EURO USD

MySQL Standard Edition € 1,740.00 $2,000.00

MySQL Enterprise Edition € 4.434.00 $5,000.00

MySQL Cluster CGE € 8.868.00 $10,000.00

* Socket: is defined as a occupied slot that houses a chip. Regardless of the number of cores, each chip (or multi-chip module) counts as a single socket.

39