Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What’s New in MySQL 8.0

What’s New in MySQL 8.0

Review the latest features and innovations that have been released in any of the available MySQL editions during the last years.
- High availability and disaster recovery
- operator for Kubernetes
- security enhancements
- MySQL Shell and VS Code
- MySQL HeatWave, analytics and OLAP, machine learning, lakehouse
... and much more!

Olivier DASINI

December 16, 2022
Tweet

More Decks by Olivier DASINI

Other Decks in Technology

Transcript

  1. What’s New in MySQL 8.0
    A review of what happened in the last two years…
    Olivier Dasini
    MySQL Cloud Principal Solutions Architect EMEA
    [email protected]
    Blogs : www.dasini.net/blog/en
    : www.dasini.net/blog/fr
    Linkedin: www.linkedin.com/in/olivier-dasini
    Twitter : @freshdaz

    View Slide

  2. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    2
    Me, Myself & I

    MySQL Geek
     Addicted to MySQL for 15+ years
     Playing with databases for 20+ years

    MySQL Writer, Blogger and Speaker
     Also: DBA, Consultant, Architect, Trainer, ...

    MySQL Cloud Principal Solutions Architect EMEA at Oracle

    Stay up to date!
     Blog: www.dasini.net/blog/en
     Linkedin: www.linkedin.com/in/olivier-dasini/
     Twitter: @freshdaz
    Olivier DASINI

    View Slide

  3. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    3
    MySQL – Status Quo 11/2022
    Agenda
    1
    2
    3
    MySQL 8 - Pre- COVID
    MySQL in the last 2 years ...
    Q & A
    5
    4 MySQL HeatWave Databases Service(s)

    View Slide

  4. MySQL 8.0 – Status Quo 11/2022
    Copyright © 2022, Oracle and/or its affiliates

    View Slide

  5. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    5
    • First (internal) release May 1995 (MySQL AB Sweden)
    • MySQL AB was acquired by Sun Microsystems in 2008
    • Sun was acquired by Oracle in 2010
    • MySQL is a Global Business Unit
    MySQL ‘Status Quo’ Summer 2022
    MySQL ‘Status Quo’ Summer 2022
    MySQL – A short review
    2022

    View Slide

  6. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    6
    The 10 last years of MySQL development
    • Refactoring
    • Modularizing
    o Adding interfaces
    o Adding functionality as plugins
    o Remove functionality from core, e.g. Query cache
    • Transactional storage engines (InnoDB)
    • UTF8
    • Modernizing the tool chain
    • and much more...
    https://archive.fosdem.org/2020/schedule/event/mysql8/
    https://archive.fosdem.org/2020/schedule/event/mysql8/

    View Slide

  7. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    7
    Customers are changing too…

    View Slide

  8. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    8
    The MySQL world - The view from the moon…
    MySQL Commercial/Enterprise
    MySQL Community +
    MySQL Enterprise Backup
    MySQL Enterprise Monitor
    MySQL Enterprise Authentication
    MySQL Enterprise Audit
    MySQL Enterprise TDE
    MySQL Enterprise Masking
    MySQL Enterprise Firewall
    Support / Consultative Support

    MySQL Cluster CGE
    MySQL Cluster NDB + MySQL Enterprise +
    MySQL Cluster Manager
    8
    MySQL Community
    MySQL Server
    MySQL Client, Workbench
    MySQL Shell
    MySQL GR plugin & InnoDB Cluster & Router
    MySQL Operator
    MySQL Connector (C API, ODBC, Node.js, others)
    MySQL Support for MS VS Code (Preview)

    MySQL Cluster NDB
    MySQL NDB Storage Engine
    MySQL NDB Operator
    MySQL Cloud Services
    MySQL HeatWave Databases Services (MDS)
    MySQL HeatWave (for Analytics)
    MySQL HeatWave ML
    MySQL HeatWave on AWS
    MySQL HeatWave on Azure
    MySQL HeatWave Lakehouse (Preview)
    https://survey.stackoverflow.co/2022/#technology
    MySQL 8.0.31, MySQL Cloud and MySQL HeatWave
    MySQL 8.0.31, MySQL Cloud and MySQL HeatWave

    View Slide

  9. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    10
    Critical Patch Updates, Security Alerts and Bulletins
    https://www.oracle.com/security-alerts/
    https://www.oracle.com/security-alerts/
    • Major MySQL Release
    o Every ~3 years
    • Minor Releases
    o Every Quarter/Oracle CPU
    (Critical Patch Updates Security Alerts and Bulletins)
    https://www.oracle.com/security-alerts/
    • No large re-factoring, but contains new features (often as a Plugin)
    o Read our relase notes, pay extra attention to sections
    ”Deprecation and Removal Notes” & ” Functionality Added or Changed”

    View Slide

  10. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    11
    MySQL 8.0 since 8.0.11 GA (04/18) – Continuous evolution
    • 8.0.12 07/18 Instant Add Columns, Query Rewrite Plugin+
    • 8.0.13 10/18 SQL Functional Indexes, Importing MongoDB Data
    • 8.0.14 01/19 Consistent Reads, Parallel read of index
    • 8.0.15 01/19 Bugs only
    • 8.0.16 04/19 CHECK constraints, Support of TLS 1.3
    • 8.0.17 07/19 Provisioning by Cloning, Multi-valued indexes
    • 8.0.18 10/19 Hash join, MEB Page Tracking
    • 8.0.19 01/20 MySQL InnoDB ReplicaSet
    • 8.0.20 04/20 Binlog Compression
    • 8.0.21 07/20 MySQL Shell Logical Dump, SQL DDL ( create table as select)
    • 8.0.22 10/20 Write optimizations, Automatic Replication Failover
    • 8.0.23 01/21 Invisible Columns, Query Attributes
    • 8.0.24 04/21 P_S Memory instrumentation, MySQL Shell SQL Logging
    • 8.0.25 05/21 Bugs only
    • 8.0.26 07/21 Master/Slave vs. Source/Replica, Kerberos Authentication
    • 8.0.27 10/21 InnoDB ClusterSet / DR Aware Clustering
    • 8.0.28 01/22 ALTER TABLE … RENAME COLUMN ALGORITHM=INSTANT; global/session limit for memory allocation
    • 8.0.29 04/22 ALTER TABLE … DROP COLUMN ALGORITHM=INSTANT
    • 8.0.30 07/22 Automatic invisable primary keys
    • 8.0.31 10/22 New Threadpool, Intersect and Except
    • 8.0.32 01/23 …
    https://dev.mysql.com/blog-archive/ (New Link)
    https://dev.mysql.com/doc/relnotes/mysql/8.0/en/
    Some examples...
    Some examples...

    View Slide

  11. MySQL - Pre- COVID
    Copyright © 2022, Oracle and/or its affiliates

    View Slide

  12. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    13
    MySQL Innovation: 5.7 → 8.0
    - 3x Better Performance
    - Replication Enhancements
    - Optimizer Cost Model
    - JSON Support
    - Improved Security
    - Sys & Performance Schema
    - GIS
    2015
    MySQL 5.7
    2017
    MySQL InnoDB Cluster
    - MySQL Router
    - MySQL Shell
    2018
    MySQL 8.0
    - 2x Better Perfromance
    - Data Dictionary
    - Advanced SQL
    - Utf8mb4 & Unicode
    - Document Store
    - MySQL X Protocol
    2016
    MySQL 5.7 GR Plugin
    - MySQL Group Replication
    - MySQL X-Protocol

    View Slide

  13. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    14
    MySQL 8.0 (2018)
    • 4+ years in Development (Oct. 2014)
    • ~400 WL when GAed (April 2018 https://dev.mysql.com/worklog/)
    • 5000+ Bugs fixed
    • 500 new tests

    View Slide

  14. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    15
    MySQL embraces Cloud Native
    https://dev.mysql.com/doc/refman/8.0/en/docker-mysql-getting-started.html
    MySQL 8 (Pre Covid)
    MySQL 8 (Pre Covid)
    • MySQL is easy to run in containers
    o Oracle MySQL Community Edition image
    o Oracle MySQL Enterprise Edition image
    o Docker community image
    • Lots of new features in MySQL 8.0
    o set persist, restart, performance_schema.error_log
    • Support for DNS SRV (since MySQL 8.0.18+)
    o MySQL Connector support for DNS SRV (RFC 2782)
    o DNS request for service results in list of results
    o JDBC, .NET, ODBC, NodeJS, Connector/C, Python…
    o https://dev.mysql.com/doc/refman/8.0/en/connecting-using-dns-srv.html

    View Slide

  15. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    16
    MySQL Group Replication + Router + Shell = InnoDB Cluster
    2014 - MySQL InnoDB Cluster
    • MySQL Group Replication: Automatic membership
    changes, network partition handling, consistency...
    • MySQL Shell Configuring, Adding, Removing members
    • MySQL Router to route application traffic
    • InnoDB CLONE to automatically provision members, fully
    integrated in InnoDB
    • RPO = 0
    • RTO = seconds
    MySQL 8 (Pre Covid)
    MySQL 8 (Pre Covid)

    View Slide

  16. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    17
    MySQL InnoDB Cluster
    MySQL 8 (Pre Covid)
    MySQL 8 (Pre Covid)
    • MySQL InnoDB Cluster – Consistent reads (since 8.0.14)
    o New options: Sync Before Execution, Sync After Execution, Sync Before Primary Fail-over
    • MySQL Clone Plugin (since 8.0.17)
    o Clone remote and local data
    o Deploy new Secondaries by cloning
    • Binlog compression (since 8.0.20)
    o Implements binary log compression (ZSTD) for transaction compression
    o Save disk space (binlog size during runtime and for backup)
    • InnoDB Cluster support for “create table as select” (since 8.0.21)
    o No limitation for InnoDB Cluster anymore…

    View Slide

  17. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    18
    MySQL InnoDB ReplicaSet
    MySQL 8 (Pre Covid)
    MySQL 8 (Pre Covid)
    • Introduced in 8.0.20, think “asynchronous Replication”
    o Asynchronous Replication Architecture
    o RPO = ! 0 / RTO = minutes
     Read Scaleout
     Simple Replication architecture
    • Operations based on the idea of MySQL InnoDB Cluster
    o MySQL Shell Configuring, Adding, Removing members
    o CLONE Plugin used to automatically provision members,
    o Fully integrated MySQL Router to route application traffic

    View Slide

  18. MySQL in the last 2 years …
    Copyright © 2022, Oracle and/or its affiliates
    Even more features...

    View Slide

  19. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    20
    Invisible column
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • Invisible Columns (since 8.0.23)
    o Hidden to queries, but can be accessed explicitly by naming the column names explicitly
    mysql> CREATE TABLE t1 (col1 INT, col2 INT INVISIBLE);
    mysql> INSERT INTO t1 (col1, col2) VALUES(1, 2), (3, 4);
    mysql> SELECT * FROM t1;
    +------+
    | col1|
    +------+
    | 1 |
    | 3 |
    +------+
    mysql> SELECT col1, col2 FROM t1;
    +------+------+
    | col1 | col2 |
    +------+------+
    | 1 | 2 |
    | 3 | 4 |
    +------+------+

    View Slide

  20. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    21
    Invisible column & Primary Key – Generated Invisible Primary Keys (GIPK)
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • The MySQL server can now automatically adds a
    generated invisible primary key (GIPK) to an InnoDB
    table that is created without an explicit primary key
    (since 8.0.30)
    • GIPK mode is controlled by the
    sql_generate_invisible_primary_key server
    system variable
    • GIPK mode, a primary key is added to a table by the
    server, the column and key name is always my_row_id
    • Good if you planned to use MySQL Replication
    (ReplicaSet) or MySQL innoDB Cluster

    View Slide

  21. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    22
    Indexing & Primary Key problem
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • Indexes can now be built simultaneously instead of serially (since 8.0.27)
    o innodb_ddl_threads / innod_ddl_buffer_size / innodb_parallel_read_threads
    o Possibility to build multiple indexes for a table in the same alter statement in parallel
    • Primary Key (PK) problem
    o PK are required for good performance and are mandated for MySQL InnoDB Cluster
    o Reality is that lots of applications/users don’t create PKs
    o …and they are not allowed to create one
    • Solutions
    o You can force usage of PK with sql_require_primary_key=on (since 8.0.13)
    o You can use invisible columns and add a primary key
    • How to finding tables without PKs:
    SELECT tables.table_schema, tables.table_name, tables.engine FROM information_schema.tables LEFT JOIN (SELECT
    table_schema, table_name FROM information_schema.statistics GROUP BY table_schema, table_name, index_name HAVING
    SUM(CASE WHEN non_unique = 0 AND nullable != 'YES' then 1 else 0 end ) = count(*) ) puks ON tables.table_schema =
    puks.table_schema AND tables.table_name = puks.table_name WHERE puks.table_name IS null AND tables.table_type =
    'BASE TABLE' AND Engine='InnoDB';

    View Slide

  22. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    23
    • Supports dump and load of instances, schemas and tables
    o Parallel loading of tables or table chunks
    o Progress state tracking
    o Resume and reset capability
    o Can add invisible columns with primary keys to tables
    o Splits larger tables in smaller chunks (reads 2GB/s+)
    o Loads chunks in parallel (writes 200MB/s+)
    • Support for native storage in OCI Object Storage
    • Recommended tool to migrate data to MySQL Database Services
    • Commands
    o util.dumpInstance() dump an entire database instance, including
    users
    o util.dumpSchemas() dump a set of schemas
    o util.dumpTables() dump a set of schemas
    o util.loadDump() load a dump into a target database
    https://dev.mysql.com/blog-archive/mysql-shell-dump-load-part-2-benchmarks/
    MySQL 8.0 Shell: Load & Dump utilities
    MySQL in the last 2 years …
    MySQL in the last 2 years …

    View Slide

  23. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    24
    MySQL Shell Debugging and Diagnostics Utilities
    • Enable you to analyze the performance of your servers (5.7+) and generate diagnostics
    reports on overall health, performance under load, and individual queries
    o Generates files in both TSV and YAML format
    • Standalone servers, members of replication topologies, InnoDB Clusters
    o The topology is detected automatically and diagnostics are generated for that topology
    • The diagnostic report is generated as a zip file
    to either the local directory or a specified path
    MySQL JS>
    util.debug.collectDiagnostics()
    util.debug.slowQueryDiagnostics()
    util.debug.collectHighLoadDiagnostics()
    MySQL in the last 2 years …
    MySQL in the last 2 years …

    View Slide

  24. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    25
    • MySQL Shell integrated into Visual Studio Code (still preview mode)
    • Visual Studio Code is the mostpopular IDE with developers
    https://marketplace.visualstudio.com/items?itemName=Oracle.mysql-shell-for-vs-code
    MySQL Shell for VS Code
    MySQL in the last 2 years …
    MySQL in the last 2 years …

    View Slide

  25. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    26
    MySQL InnoDB ClusterSet
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    One or more replica(s) attached to a primary MySQL InnoDB Cluster (since 8.0.27)

    View Slide

  26. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    27
    MySQL InnoDB ClusterSet
    .High Availability (Failure Within a Region)
    • RPO = 0
    • RTO = seconds (automatic failover)
    Disaster Recovery (Region Failure)
    • RPO != 0
    • RTO = minutes or more (manual failover)
    • No write performance impact
    Features
    • Easy to use
    • Familiar interface and usability mysqlsh,
    CLONE, ...
    • Add/remove nodes/clusters online
    • Router integration, no need to reconfigure
    application if the topology changes
    MySQL in the last 2 years …
    MySQL in the last 2 years …

    View Slide

  27. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    28
    • Our wording has changed since 8.0.26 (still ongoing)
    • We kept the long task of removing offensive words in our code (commands, tables, documentation...)
    • Master/Slave → Source/Replica, Whitelist/Blacklist → Allowlists/Blocklist
    • Don‘t get confused about „depreciations“ warnings, MySQL Replication is still supported
    Replication: Master/Slave is now Source/Replica
    MySQL in the last 2 years …
    MySQL in the last 2 years …

    View Slide

  28. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    29
    New authentication methods since 8.0.27
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • MySQL Enterprise Edition extend Community Authentication and provides ready to use
    external authentication modules to easily integrate existing security
    o Supports Linux PAM, Windows Active Directory, native LDAP…
    • MySQL 8.0 now support
    o Kerberos
     Authentication using Kerberos requires a KDC server
     Applications and MySQL servers are able to mutually authenticate users and MySQL services
    o FIDO (Fast IDentity Online)
     Enables authentication to MySQL Server using devices such as smart cards, security keys, and biometric readers
     Because authentication can occur other than by providing a password, FIDO enables password less authentication
     Device authentication is often used in conjunction with password authentication

    View Slide

  29. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    30
    Multifactor Authentication (MFA) since 8.0.27
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • New system variable – authentication_policy
    o Controls how many authentication factors can be used and types of authentication permitted for each factor
    • Specify MFA using CREATE USER and ALTER USER
    o Add/Modify/Drop authentication methods for new/existing accounts
    o New authentication factors stored in mysql.user table in USER_ATTRIBUTES column
    • Accounts can now have up to three authentication values
    o Client programs have now --password1, --password2, and --password3 options

    View Slide

  30. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    31
    Disabling InnoDB Redo Log
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • Support for Enabling/Disabling (dynamically) InnoDB REDO Log (since 8.0.22 )
    • Use case – Loading initial data very fast
    o Disable redo logging – Load data - Enable redo logging
    • But: Do not disable REDO logging on a production system (no crash recovery!)

    View Slide

  31. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    32
    New InnoDB Redo Log Architecture
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • Since MySQL 8.0.30 it's possible to dynamically resize the InnoDB
    • Overview of the changes:
    o Redo logs are now on a dedicated directory: #innodb_redo
    o 32 files (innodb_redo_log_capacity / 32)
    o innodb_log_files_in_group and innodb_log_files_size are now deprecated (ignored)
    • Calculating the optimal size (during your peak):
    o Rule of thumb is to make the Redo Logs big enough to hold at most 1h of log
    o Get an estimation of the required amount for the Redo Log (a single line):
    SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME='Innodb_redo_log_current_lsn’
    INTO @a;
    SELECT SLEEP(60) INTO @garb;
    SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME='Innodb_redo_log_current_lsn’
    INTO @b;
    SELECT ROUND(ABS(@a - @b)/1024/1024,2) AS MB_per_min, ROUND(ABS(@a - @b)/1024/1024*60,2) AS MB_per_hour;
    https://lefred.be/content/dynamic-innodb-redo-log/

    View Slide

  32. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    34
    MySQL Operator for Kubernetes
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    • The MySQL Operator for Kubernetes (since 8.0.29) is designed to operate a MySQL InnoDB Cluster
    in Kubernetes
    • Automated deployment and management of MySQL Server & MySQL Routers
    • Self-healing
    • Backup & Restore
    • Rolling upgrades with minimal downtime
    • Read Scaling
    o Add/remove members as needed
    o Configurable consistency levels
    • Helm support
    • Developed and supported by the MySQL Team

    View Slide

  33. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    36
    Highly Available: Automatic Failover
    • Primary members are automatically elected
    • Automatic network partitioning handling
    Ease of Operation
    • Backup / Restore
    • Scale up and down
    • Version upgrade
    • Helm support
    Consistency: No Data Loss (RPO=0)
    • In event of failure of primary member
    • Split brain prevention (quorum)
    Read Scaling
    • Add/remove members as needed
    • Replication Lag handling with Flow Control
    • Configurable consistency levels
    • Eventual
    • Full consistency (no stale reads)
    MySQL Operator for Kubernetes Summary
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    Published on GitHub:
    https://github.com/mysql/mysql-operator

    View Slide

  34. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    37
    MySQL Enterprise Firewall: Group and Account profiles
    • Block SQL Injection Attacks
    • Now firewall can use
    o Account profiles: Allowlist applies only to a single account (deprecated)
    o Group profiles: Allowlist applies when the session account matches any account that is a member of the
    group
    • Group profiles give you more flexibility
    o A group with a single account is equivalent to an account profile
    o Same behavior and common commands as for account profiles
    • New privileges: FIREWALL_ADMIN, FIREWALL_EXEMPT, FIREWALL_USER, EXECUTE
    o FIREWALL_ADMIN is not automatically assigned to root !
    MySQL in the last 2 years …
    MySQL in the last 2 years …
    Select * from employee where id=22
    Select * from employee where id=22 or 1=1
    or 1=1 Block

    Allow

    AllowList
    Applications
    Detect & Alert
    Intrusion Detection
    Rule

    View Slide

  35. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    38
    • Replication from non GTID enabled replica (8.0.23)
    • Automatic connection failover for async replication for Group Replication (8.0.23)
    • Alternative UUID for Group Replication's generated transactions for view changes (8.0.26)
    • Multi-threaded replication enabled by default (8.0.27)
    • Group Communication engine (GCS) can now use a single leader when using single primary mode
    (to improve performance)
    • Asynchronous Replication Channel automatically follows the Primary (8.0.27)
    • Support of native MySQL Server's connection security for Group Replication (8.0.27)
    • It's possible to enable Paxos single leader for Group Replication (8.0.27)
    • New system variable to control automatic purging of binary logs:
    • binlog_expire_logs_auto_purge (8.0.29)
    • Group Replication memory usage is now instrumented in Performance_Schema (8.0.30)
    • Explain Analyze
    • ALTER TABLE ... DROP and RENAME COLUMN ALGORITHM=INSTANT (8.0.29/8.0.30)
    • MySQL Shell configures cluster with MySQL Protocol instead of xcom (8.0.30)
    • New design MySQL Threadpool Plugin (8.0.31)
    • Audit: Log Rotation (8.0.31)
    • … far more
    Lots of new features since 8.0.22 which we will not discuss…(sorry)
    MySQL in the last 2 years …
    MySQL in the last 2 years …

    View Slide

  36. MySQL HeatWave Database Service
    Copyright © 2022, Oracle and/or its affiliates
    The MySQL Cloud Service 100% developed, managed, & supported
    by the MySQL team

    View Slide

  37. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    40
    Santiago
    San Jose
    Toronto
    Phoenix
    Chicago
    Montreal
    Ashburn
    Sao Paulo
    London
    Milan
    Saudi Arabia 2
    Jeddah
    Amsterdam
    Stockholm
    Zurich
    Johannesburg
    Israel 2
    Abu Dhabi
    Dubai
    Mumbai
    Hyderabad
    Singapore
    Seoul
    Chuncheon
    Osaka
    Tokyo
    Melbourne
    Sydney
    Vinhedo
    Frankfurt
    Newport
    November 2022
    40 regions including Paris & Marseille; 9 more planned
    12 Azure Interconnect Regions
    Microsoft Interconnect Azure
    Marseille
    Jerusalem
    Paris
    Madrid
    Chile 2
    Colombia
    Queretaro
    Germany
    Sovereign Planned
    Spain
    Mexico 2
    Serbia
    Commercial
    Commercial Planned
    Government
    Oracle Cloud Infrastructure Global Locations
    MySQL HeatWave Databases Service(s) is part of all of them
    MySQL HeatWave Databases Service(s) is part of all of them
    And also Cloud @Customer

    View Slide

  38. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    41
    • Up-to-Date MySQL with the latest security fixes (today 8.0.31)
    • All MySQL 8 minor releases from 2022 are available
    • Starts at 43$/month [1 OCPU/AMD E3, 8GB, 50GB]
    o Shapes up to 64 OCPU/1TB AMD - E2, E3, E4 and Intel X7/X9/X9 Optimized
    o From 50GB up to 128TB
    o Changing shapes and disks is supported
    • MySQL High Availability - Recover Point Objective (RPO) = ZERO (Zero Data loss !!!)
    • SLA (99.99% for 3-AD regions / 99.95% single-AD regions / 99.9% for Standalone DB Systems)
    • Point in Time Recovery (PITR) available
    • MySQL Channels (Replication) with template filters available
    o Helps configure replication from AWS RDS/Aurora, Azure, Google Cloud, and AliCloud
    • Managed Read-Replicas
    o Increase capacity for read-intensive workloads
    • Automatic invisible primary keys generation
    MySQL (HeatWave) Database Service (MDS)
    Changes in 2022
    Changes in 2022

    View Slide

  39. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    42
    • Support for single HeatWave Backends
    o Starting with 528$/month (2x Instances for ~800GB MySQL data)
    • Data Compression by default
    • Data persistence during reboot for HeatWave Backend
    • Security build-in/Data always encrypted
    • Real-Time Elastic Resizing
    • Single HeatWave Backend
    • Build in Machine Learning (free of charge)
    • MySQL HeatWave Lakehouse (Beta)
    MySQL HeatWave
    Changes in 2022
    Changes in 2022

    View Slide

  40. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    43
    MySQL HeatWave – One database for OLTP, OLAP, ML
    Valorizing your data has never been so easy!
    Valorizing your data has never been so easy!

    View Slide

  41. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    44
    • MySQL HeatWave is available in 40+ Oracle Cloud Regions
    • … but also on Oracle Cloud@Customer
    • … and since October 2022 also in Amazon Web Services & Microsoft Azure
    • Please register for our upcoming Webinar or run a free trial
    https://www.oracle.com/mysql/free/
    MySQL HeatWave - Ready for the distributed cloud
    Available in public clouds and in your data center
    Available in public clouds and in your data center

    View Slide

  42. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    45
    • MySQL Community and Enterprise Edition
    o MySQL 8.0.32 – CPU January 2023
    o Preview MySQL Shell for VS Code
    • MySQL HeatWave Database Services
    o Stay tunes!!!
    • MySQL HeatWave
    o MySQL Lakehouse
    o …
    What’s next?
    Coming soon …
    Coming soon …

    View Slide

  43. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    47
    Follow us on Social Media

    View Slide

  44. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    48
    Merci!
    Q&R
    Olivier Dasini
    MySQL Cloud Principal Solutions Architect EMEA
    [email protected]
    Blogs : www.dasini.net/blog/en
    : www.dasini.net/blog/fr
    Linkedin: www.linkedin.com/in/olivier-dasini
    Twitter : @freshdaz

    View Slide

  45. Get started with
    MySQL HeatWave
    For Free Today
    Get $300 in credits
    and try MySQL Database Service
    free for 30 days
    Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    49
    Learn more about MySQL HeatWave
    https://www.oracle.com/mysql/
    www.oracle.com/mysql/free/

    View Slide

  46. • Try Always Free cloud services and get a 30-day trial
    • 30-day Free Trial
    – US$300 in free credits
    – Access to a wide range of Oracle Cloud services
    for 30 days, including MySQL Database Service,
    etc…
    • Always Free
    – Limited list of services you can use for an
    unlimited time
    – MDS not included
    – https://www.oracle.com/cloud/free/#always-free
    50 Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    Oracle Cloud Free Tier
    https://www.oracle.com/cloud/free/
    https://www.oracle.com/cloud/free/

    View Slide

  47. View Slide

  48. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    52
    Discovering MySQL Database Service

    Discovering MySQL Database Service – Episode 1 – Introduction
    – http://dasini.net/blog/2021/08/03/discovering-mysql-database-service-episode-1-introduction/

    Discovering MySQL Database Service – Episode 2 – Create a compartment
    – http://dasini.net/blog/2021/08/10/discovering-mysql-database-service-episode-2-create-a-compartment/

    Discovering MySQL Database Service – Episode 3 – Create a Virtual Cloud Network
    – http://dasini.net/blog/2021/08/17/discovering-mysql-database-service-episode-3-create-a-virtual-cloud-network/

    Discovering MySQL Database Service – Episode 4 – Dump your MySQL data into an Object Storage bucket
    – http://dasini.net/blog/2021/08/24/discovering-mysql-database-service-episode-4-dump-your-mysql-data-into-an-object-storage-bucket/

    Discovering MySQL Database Service – Episode 5 – Create a MySQL DB system from a MySQL Shell dump
    – http://dasini.net/blog/2021/08/31/discovering-mysql-database-service-episode-5-create-a-mysql-db-system-from-a-mysql-shell-dump/

    Discovering MySQL Database Service – Episode 6 – Update the Private Subnet Security List
    – http://dasini.net/blog/2021/09/07/discovering-mysql-database-service-episode-6-update-the-private-subnet-security-list/

    Discovering MySQL Database Service – Episode 7 – Use a Bastion SSH port forwarding session
    – http://dasini.net/blog/2021/09/14/discovering-mysql-database-service-episode-7-use-a-bastion-ssh-port-forwarding-session/

    Discovering MySQL Database Service – Episode 8 – Connect to MySQL Database Service Using MySQL Shell
    – http://dasini.net/blog/2021/09/21/discovering-mysql-database-service-episode-8-connect-to-mysql-database-service-using-mysql-shell/

    Discovering MySQL Database Service – Episode 9 – Connect to MySQL Database Service Using MySQL Workbench
    – http://dasini.net/blog/2021/09/28/discovering-mysql-database-service-episode-9-connect-to-mysql-database-service-using-mysql-workbench/

    Discovering MySQL Database Service – Episode 10 – Connect to MySQL Database Service Using OCI Cloud Shell
    – http://dasini.net/blog/2021/10/05/discovering-mysql-database-service-episode-10-connect-to-mysql-database-service-using-oci-cloud-shell/

    ...
    Tutorials where I show you, step by step, how to use MDS and some other OCI services
    Tutorials where I show you, step by step, how to use MDS and some other OCI services
    http://dasini.net/blog/en

    View Slide

  49. Copyright © 2022, Oracle and/or its affiliates
    Oracle Live Labs
    Self-paced learning
    MySQL HeatWave Live Labs
    53

    View Slide

  50. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    54
    • The best MySQL releases ever, as widely acknowledged by the MySQL Community
    • Commitment to open source, with continued code contributions (as opposed to AWS,
    who forked MySQL to create the closed source Aurora)
    • A constant stream of innovation, with new products and services—including MySQL
    HeatWave—helping users and customers tackle the new challenges that they are facing
    • Unparalleled MySQL Database expertise from Oracle, the leading database company
    Oracle is committed to MySQL
    ’s success

    View Slide

  51. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    55
    • Modernize transactional applications using Amazon Aurora, RDS for MySQL, Azure
    Database for MySQL, Google’s Cloud SQL for MySQL with supporting analytical
    workloads from Amazon Redshift, Snowflake, Azure Synapse, and Google BigQuery
    • Modernize mixed workload applications using Amazon Aurora, RDS for MySQL, Azure
    Database for MySQL, GCP Cloud SQL for MySQL (initially without separate analytics
    database)
    • Modernize mixed workload applications using MySQL either on-premises or in the
    cloud
    • Rely on MySQL HeatWave for in-database machine learning to avoid using a
    separate machine learning service with data coming from MySQL, MySQL-based
    services, or analytics databases
    Modernizing applications with MySQL HeatWave
    Key use cases
    Key use cases

    View Slide

  52. Copyright © 2022, Oracle and/or its affiliates. All rights reserved.
    56
    Performance of MySQL HeatWave on AWS
    *Benchmark queries are derived from the TPC-H benchmarks, but results are not comparable to published TPC-H benchmark results since these do not comply with the TPC-H specifications.
    20x
    20x faster than Redshift,
    faster than Redshift, 16x
    16x faster than Snowflake,
    faster than Snowflake, 16x
    16x faster than BigQuery
    faster than BigQuery

    View Slide