State of the Dolphin Developing new Apps in MySQL 8 Highlights of MySQL 8.0 technology updates Mark Swarbrick MySQL Principle Presales Consultant Jill Anolik MySQL Global Business Unit Israel Copyright 2017, Oracle and/or its affiliates. All rights reserved. 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, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. Copyright 2017, Oracle and/or its affiliates. All rights reserved. 3
A Modern Database for the Digital Age Digital Disruptors & Large Enterprises Rely on MySQL to Innovate Copyright 2017, Oracle and/or its affiliates. All rights reserved. 4
Mobile Network Supporting Over 800 Million Subscribers 2 Billion Events/Day for Booking.com They Scale with MySQL IDs Processed for 1 Billion Citizens 1.7 Billion Active Users 100 TB of User Data for PayPal 850 Million Candy Crush Game Plays/Day Copyright 2017, Oracle and/or its affiliates. All rights reserved. 5
Developing new Apps in MySQL 8 Copyright 2017, 2017, Oracle and/or its its affiliates. All All rights rights reserved. 6
Enabling Customer Innovation MySQL 5.7-3x Better Performance - Replication Enhancements - JSON Support - Improved Security MySQL InnoDB Cluster - MySQL Group Replication - MySQL Router - MySQL Shell MySQL 8.0 (RC) - Data Dictionary - Roles - Unicode - CTEs - Window Functions - Security - Replication Copyright 2017, 2017, Oracle and/or its its affiliates. All All rights rights reserved. 7
MySQL 8.0 : Enables Modern Web Applications Mobile Friendly Ready for location based services. Handling Emoji and Unicode characters Developer First Hybrid data model and data access APIs for flexibility for developers Data Driven Optimizing services with real time data analysis 24x7 at Scale Scalable & Stable Better handling of high contention, improved security, and minimizing downtime Copyright 2017, Oracle and/or its affiliates. All rights reserved. 8
MySQL 8.0 : Mobile Application Friendly Enhanced GIS Support Better integration for location based services Switched to Boost.Geometry library in MySQL 5.7 Supporting Geography and Spatial Reference Systems (SRS) in MySQL 8.0 Unicode as Default utf8mb4 supporting Emoji is default Character Set of MySQL 8.0 Up to 16x Faster Performance Based on Unicode 9.0 New collations based on UCA with Accent/Case sensitivity Copyright 2017, Oracle and/or its affiliates. All rights reserved. 9
MySQL 8.0 : Flexibility for Developers Data Type { } SQL Function (); Hybrid API JSON Datatype Seamlessly managing unstructured data in RDBMS tables with efficient update performance JSON Functions Various SQL functions to search and modify JSON. Analysing JSON with SQL by converting into table with JSON_TABLE() MySQL X DevAPI Hybrid CRUD API of both SQL and NoSQL provides more flexibility for development Copyright 2017, Oracle and/or its affiliates. All rights reserved. 10
MySQL 8.0 : Developers to Accelerate Applications Solving Contention NOWAIT and SKIP LOCKED options of SELECT FOR UPDATE provides better handling of hot row contention Invisible Indexes Indexes hidden from optimizer, enables soft delete and staged rollout of indexes Performance Schema More instrumentation enabled by default and better response to view with indexes added Set Session Variables Set a session variable for the duration of a single statement with new hint option SET_VAR Descending Indexes Faster by avoiding sorting data in composite index using different sorting orders Expanded Hints Hints to control table orders for join and indexes to be merged without reorganize queries Copyright 2017, Oracle and/or its affiliates. All rights reserved. 11
MySQL 8.0 : Making Application more Scalable InnoDB Dedicated Server Auto scales InnoDB configurations great for virtual machines & Cloud deployments Cloud Friendly Configurations Persist server variables with SET PERSIST and review source of changes in Information Schema Resource Group To obtain better efficiency and/or performance by the mapping between threads and CPUs Column Histograms Provides the optimizer with information about column value distribution Better Cost Estimation Cost model optimized for newer storage technology and optimizer with memory buffer aware cost estimation Transaction Scheduling Contention-Aware Transaction Scheduling is default scheduling algorithm in InnoDB to boost performance Copyright 2017, Oracle and/or its affiliates. All rights reserved. 12
MySQL 8.0 : Making Application more Stable & Secure MySQL InnoDB Cluster Built-in automatic distributed recovery, conflict detection and group membership Data Dictionary Increased reliability and consistency with transactional meta data repository Security Enhancements Introducing SQL Role and Dynamic Privileges, expanded transparent data encryption Copyright 2017, Oracle and/or its affiliates. All rights reserved. 13
MySQL 8.0 : Enhanced Security SQL Role Implementation Easier to manage user and applications rights and SQL standard compliant Atomic Access Control List New InnoDB based data dictionary enables ACL statements atomic and reliable Dynamic Privileges Provides finer grained administrative level access controls for less use of root user TDE for Logs AES 256 encryption of REDO, UNDO and Binary Log in addition to tablespace files Enhanced Password Options Establish password-reuse policy with Password History, and faster with caching OpenSSL Integration MySQL Community Edition to use OpenSSL as its standard cryptography library Copyright 2017, Oracle and/or its affiliates. All rights reserved. 14
InnoDB Cluster High Availability becomes a core first class feature of MySQL! MySQL Shell Setup, Manage, Orchestrate App Servers with MySQL Router MySQL Group Replication Copyright 2017, Oracle and/or its affiliates. All rights reserved. 15
MySQL Shell: DBA Admin API The global variable 'dba' is used to access the MySQL AdminAPI mysql-js> dba.help() Perform DBA operations Manage MySQL InnoDB clusters Create clusters Validate MySQL instances Configure MySQL instances Get cluster info Modify clusters and much more... MySQL Shell Setup, Manage, Orchestrate App Servers with MySQL Router MySQL Group Replication Copyright 2017, Oracle and/or its affiliates. All rights reserved. 16
MySQL Router: Client Routing and HA Native support for InnoDB clusters Understands Group Replication topology Utilizes metadata schema stored on each member Bootstraps itself and sets up client routing for the InnoDB cluster Allows for intelligent client routing into the InnoDB cluster Supports multi-master and single primary modes Core improvements Built-in keyring for easy and secure password management MySQL Shell Setup, Manage, Orchestrate App Servers with MySQL Router MySQL Router 2.1, with the new metadata_cache plugin, provides transparent client connection routing and failover into your InnoDB clusters! MySQL Group Replication Copyright 2017, Oracle and/or its affiliates. All rights reserved. 17
MySQL Group Replication: Database HA Group Replication library Implementation of Replicated Database State Machine MySQL GCS is based on our home-grown Paxos implementation Provides virtually synchronous replication for MySQL 5.7+ Guarantees eventual consistency Automates operations Conflict detection and resolution Failure detection, fail-over, recovery Group membership management and reconfiguration MySQL Shell Setup, Manage, Orchestrate App Servers with MySQL Router Multi-master update anywhere replication plugin for MySQL with built-in conflict detection and resolution, automatic distributed recovery, and group membership. MySQL Group Replication Copyright 2017, Oracle and/or its affiliates. All rights reserved. 18
Enterprise Monitor: 4.0 NEW! New and improved User Interface Modern look-and-feel Easier navigation Better performance and scale Full NDB Cluster support Auto discovery Visual topology Memory and CPU reports New advisors User statistics report Copyright 2017, Oracle and/or its affiliates. All rights reserved. 19
Copyright 2017, Oracle and/or its affiliates. All rights reserved. 20
Flexible Deployment Options Same Standards, Same Software, Unified Management Oracle Cloud Machine Hybrid Oracle Cloud CUSTOMER DATA CENTER Cloud machine ORACLE CLOUD FIREWALL On Premises Hybrid Cloud Oracle Cloud Oracle Cloud operated and delivered as a service behind your firewall Same MySQL Cloud Service technology, same updates as Oracle Cloud Conforms to regulatory, privacy, legal and business requirements Move workloads between onpremises and Oracle Cloud Keep control over businesscritical systems Oracle Enterprise Manager & MySQL Enterprise Tools for unified management Migrate existing MySQL applications Build cloud native MySQL applications Same programming languages support as on-premise Infrastructure choices across various Oracle Cloud Infrastructure services Copyright 2017, Oracle and/or its affiliates. All rights reserved. 21