SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
Keith Hollman
Principal Solution Engineer
MySQL
keith.hollman@oracle.com
available
and scalable with
MySQL HA
InnoDB Cluster & ReplicaSet
© 2020 Oracle MySQL
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
’ .
© 2020 Oracle MySQL
Introduction
Program agenda
1
© 2020 Oracle MySQL
High Availability: Terms and Concepts
 Availability
 Outage and downtime
 Mean Time Between Failures (MTBF)
 Mean Time To Recover (MTTR)
 Service Level Agreement (SLA)
 ’ : 5 = 5 mins downtime per year
 Capacity / Performance
 Redundancy
 Fault Tolerance
 Disaster Tolerance/Recovery
© 2020 Oracle MySQL
High Availability: Considerations
 SLA requirements
What is needed to support your business objectives
 Operational capabilities
Will you have the workforce to implement and maintain it
 Service agility
Can it grow and change as your company does
 Time to market
Can you go to market quickly
 Budgetary constraints
Cost of downtime versus cost of HA implementation
What To
Use?
© 2020 Oracle MySQL
High Availability: Factors
 Environment
 Redundant servers in different datacenters and geographical areas will protect you
against regional issues—power grid failures, hurricanes, earthquakes, etc.
 Hardware
 Each part of your hardware stack—networking, storage, servers—should be redundant
 Software
 Every layer of the software stack needs to be duplicated and distributed across separate
hardware and environments
 Data
 Data loss and inconsistency/corruption must be prevented by having multiple copies of
each piece of data, with consistency checks and guarantees for each change
© 2020 Oracle MySQL
High Availability: Design Factors
 Reliability, Availability, and Serviceability (RAS)
 Reliability
 Quality hardware and software components that you can manage and trust
 Availability
 Multiple copies of each datum replicated to separate hardware
 Multiple copies of each piece of the hardware and software stack
 Multiple physical locations
 Separate power grids
 Enough physical distance to survive disasters such as floods, earthquakes, and power grid outages
 Resiliency
 Automation to transparently deal with any potential failure in the infrastructure, hardware, software
 Serviceability
 Ensure that you can monitor, diagnose, maintain, and repair it all
© 2020 Oracle MySQL
High Availability: Database Needs
 Management infrastructure
 Monitoring of status, health, performance
 Facilities for service changes, service transitions
 Failure detection and handling
 Identify and handle failures
 Elasticity
 Scale up to ensure acceptable performance is always maintained
 Consistency guarantees
 Conflict detection and handling ; data loss protection/prevention
 Online maintenance
© 2020 Oracle MySQL
High Availability: Common MySQL Solutions
MySQL
Source /
Replica
Replication
Master/Slave
with
Automated
Failover
DRBD
OS or VM
vendor
active/passi
ve solutions
MySQL
Group
Replication
9 9 . 9 9 9 % Continuous
Availability
© 2020 Oracle MySQL
A study by the Gartner Group projected that
through 2015, 80% of downtime will be due to
people and process issues
10 © 2020 Oracle MySQL
40%
40%
20%
Software/Application Human Error Hardware
* Source: Gartner Group 1998 survey
High Availability: Causes of Downtime
© 2020 Oracle MySQL
 Calculate a cost per minute of downtime
 Average revenue generated per-minute over a year
 Cost of not meeting any customer SLAs
 Factor in costs that are harder to quantify
11 © 2020 Oracle MySQL
1. Revenue
2. Reputation
3. Customer sentiment
4. Stock price
5. ’
6. ’
THIS is why HA
matters!
High Availability: The Business Cost of Downtime
© 2020 Oracle MySQL
MySQL High Availability Solutions
• MySQL NDB Cluster
– NDB storage engine.
– Memory database.
– Automatic sharding of data.
– SQL Access via MySQL with
cross shard join support.
– Native access via several
I’ .
– Read/write consistency.
– Read/write scalability (2pc).
– ACID and transactions.
• MySQL InnoDB Cluster
– Easy HA built into MySQL
5.7+ for InnoDB.
– MySQL Group Replication,
Shell and Router.
– Write consistency.
– Read Scalability.
– Native CRUD API in
MySQL 8.
– Synchrounous (Paxos).
• MySQL Replication
– Core part of MySQL, used
by almost everyone.
– Can be used by any
storage engine.
– Asynchronous and semi-
sync option.
– Scale out reads.
– ReplicaSet from 8.0.19
with integration to Shell
and Router.
© 2020 Oracle MySQL
MySQL High Availability Solutions
• MySQL NDB Cluster
– NDB storage engine.
– Memory database.
– Automatic sharding of data.
– SQL Access via MySQL with
cross shard join support.
– Native access via several
I’ .
– Read/write consistency.
– Read/write scalability (2pc).
– ACID and transactions.
• MySQL InnoDB Cluster
– Easy HA built into MySQL
5.7+ for InnoDB.
– MySQL Group Replication,
Shell and Router.
– Write consistency.
– Read Scalability.
– Native CRUD API in
MySQL 8.
– Synchrounous (Paxos).
• MySQL Replication
– Core part of MySQL, used
by almost everyone.
– Can be used by any
storage engine.
– Asynchronous and semi-
sync option.
– Scale out reads.
– ReplicaSet from 8.0.19
with integration to Shell
and Router.
© 2020 Oracle MySQL
Program agenda
2 InnoDB Cluster
© 2020 Oracle MySQL
MySQL InnoDB Cluster
 High Availability becomes a core first class feature of MySQL!
 A single product — MySQL — with high availability and scaling
features baked in
 Providing an integrated end-to-end solution that is easy to use
 Group Replication: Automatic membership changes, network
partition handling, consistency...
 Shell to provide a powerful interface that helps in automating
an integrating all components
 Router provide transparent routing between your application
and back-end MySQL Servers
 InnoDB CLONE to automatically provision members, fully
integrated in InnoDB
15 © 2020 Oracle MySQL
App Servers with
MySQL Router
MySQL Shell
Setup, Manage,
Orchestrate
MySQL Group Replication
App Clients
© 2020 Oracle MySQL
InnoDB Cluster: Application access
Application access the database
through MySQL Router.
Node 1 is Primary (RW).
Primary
Node 1
Router
Secondary
Node 2
Secondary
Node 3
Group Replication
© 2020 Oracle MySQL
InnoDB Cluster: Failure detection
Crash happens ...
Primary
R/W
Router
Secondary
Node 2
Secondary
Node 3
Crash
Group Replication
© 2020 Oracle MySQL
InnoDB Cluster: Failover PRIMARY role to Node 2
A new primary is automatically
elected since we still have a
majority of nodes available.
Primary
Node 1
Router
Primary
Node 2
Secondary
Node 3
Group Replication
© 2020 Oracle MySQL
InnoDB Cluster: Recovery of failed node as Secondary (RO)
Recover and rejoin the
crashed node.
Recovery is automatic in case
of NW outage.
Secondary
Node 1
Router
Primary
Node 2
Secondary
Node 3
Group Replication
© 2020 Oracle MySQL
MySQL Group Replication: Deploy Modes
• Multi-Primary Mode
– Every server in the group is allowed to execute transactions at any time, even
transactions that change state (RW transactions)
– Risk of more aborted transactions
– Send DDL operations to only one node in the cluster
• Single-Primary Mode (Default)
– The group has a single primary server that is set to read-write mode. All the other
members in the group are set to read-only mode.
– No need to modify application.
© 2020 Oracle MySQL
MySQL Group Replication: Deploy Modes *
• Multi-Primary Mode
– Every server in the group is allowed to execute transactions at any time, even
transactions that change state (RW transactions)
– Risk of more aborted transactions
– Send DDL operations to only one node in the cluster
• Single-Primary Mode (Default)
– The group has a single primary server that is set to read-write mode. All the other
members in the group are set to read-only mode.
– No need to modify application.
© 2020 Oracle MySQL
MySQL Group Replication: ” a ” Consistency levels (8.0.14)
• Eventual Consistency (default)
– Transaction does not wait at all.
– Executes on the current snapshot of the data on that member.
• Before Consistency (Synchronize on Reads)
– Transaction waits for all preceding transactions to complete.
– Executes on the most up to date snapshot of the data in the group.
• After Consistency (Synchronize on Writes)
– Transaction waits until all members have executed it.
– Executes on the current snapshot of the data on that member.
© 2020 Oracle MySQL
Consistency Levels – User Interface
• Consistency System Variable Controls the Behavior: group_replication_consistency.
• Global and Session scope
– Can be set per transaction.
• Values:
– EVENTUAL
– BEFORE_ON_PRIMARY_FAILOVER
– BEFORE
– AFTER
– BEFORE_AND_AFTER
© 2020 Oracle MySQL
CLONE: Automatic Full Data
Snapshot Provisioning
MySQL
Group Replication
Joining
Member
MySQL Group Replication: CLONE plugin (8.0.17)
© 2020 Oracle MySQL
MySQL InnoDB Cluster: Getting started
• Docs: https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-userguide.html
• Workshop: https://github.com/wwwted/MySQL-InnoDB-Cluster-3VM-Setup
• Blogs:
– https://lefred.be/content/category/mysql/innodb-cluster/
– https://mysqlhighavailability.com/category/replication/group-replication/
© 2020 Oracle MySQL
Planned Changes of the Primary
27 © 2020 Oracle MySQL
MySQL Router JS> cl.setPrimaryInstance("nodeA:3306")
User tells current primary to give up its role and assign it to another server
© 2020 Oracle MySQL
Tagging the Metadata
28 © 2020 Oracle MySQL
MySQL JS> cl.setInstanceOption(nodeA:3306, "tag:_hidden", true);
Hide instances from client traffic or declare additional information
 Support for the metadata "tags" property:
 _hidden : A boolean that indicates if the node should be hidden
 true makes the node hidden, while false or any other value considers it not hidden
 _disconnect_existing_sessions_when_hidden : A boolean that indicates if the existing connections to the node
should be dropped in case the node is hidden
 false means existing connections to hidden nodes are not disconnected while true or any other value means the
opposite
 Hidden instances only affect user connections; the instance remains available to Router when performing
tasks such as fetching metadata and calculating the quorum
 Also support for user defined tagging
 Tag namespace, where you can store information in the key-value pairs associated with a given node
https://dev.mysql.com/doc/refman/8.0/en/admin-api-tagging.html
© 2020 Oracle MySQL
Program agenda
3 InnoDB ReplicaSet
© 2020 Oracle MySQL
MySQL InnoDB ReplicaSet
“A quick & easy way to get
MySQL Replication & MySQL Router
up and running”
30
App Servers with
MySQL Router
MySQL Replication
MySQL Shell
Setup, Manage,
Orchestrate
App Clients
© 2020 Oracle MySQL
MySQL InnoDB ReplicaSet - Introduction
 An InnoDB ReplicaSet consists of a single source & multiple replicas (primary/secondary)
 Enable you to administer a set of MySQL instances running asynchronous GTID-based replication in a
similar way to InnoDB Cluster
 Enable you to work with MySQL replication without a deep understanding of the underlying concepts
 I ’ quick and easy way to get MySQL Replication and MySQL Router up and running
 You can automatically configure MySQL Router to use your InnoDB ReplicaSet
 Making it well suited to:
 Scaling out reads
 Provide manual failover capabilities in use cases that do not require the high availability offered by InnoDB Cluster
31 © 2020 Oracle MySQL
© 2020 Oracle MySQL
MySQL InnoDB ReplicaSet - Goals
Flexible and Modern
 SQL & NoSQL together
 Protocol Buffers
 Asynchronous API
 Developer friendly
32 © 2020 Oracle MySQL
A single product: MySQL
 All components created together
 Tested together
 Packaged together
 Proven & well known async replication
Easy to use
 One client: MySQL Shell
 Easy packaging
 Integrate orchestration
 Homogenous servers
Completely Open Source - GPL
 No license required to have
 High Availability
© 2020 Oracle MySQL
MySQL InnoDB ReplicaSet – The Big Picture
33 © 2020 Oracle MySQL
S
R
R
MySQL Shell and Orchestration Tooling
Simple Mapping,
State and Extra Metadata
Control,
Coordinate,
Provision
Monitoring (MEM)
MySQL Router
MySQL Async Replication
MySQL Router
© 2020 Oracle MySQL
MySQL InnoDB ReplicaSet - Requirements & Limitations
 Requirements:
 MySQL 8.0.19+
 GTID-based & Row based replication
 Limitations:
 Manual failover -- which is a good thing
 No coordination between servers mandates external arbitration
 However, secondary instances remain available for reads.
 No multi-primary as such topology cannot guarantee data consistency
 No data reconciliation
 No conflict handling
 No protection from partial data loss
 All secondary members replicate from primary
 Single tiered replication support.
 It is recommended that you deploy InnoDB Cluster wherever possible
34 © 2020 Oracle MySQL
https://dev.mysql.com/doc/refman/8.0/en/introducing-innodb-replicaset.html
InnoDB ReplicaSets Features
Now
 Automatically provisioning new members:
InnoDB Clone
 fi
& Replication
 Integrated MySQL Router load balancing
 Automatic Router Bootstrapping – no config
 Router is stateless, adapts to topology
changes
 Easy to use manual switchover/failover
Before
 Restore a backup to provision a member
 fi Replication fi
Replication
 Manually fi ,
servers in MySQL Router or alternatives
 Manually or relying on external tools to
make topology changes
 Use additional monitoring tool log in on all
machines to check topology
MySQL ReplicaSet – “Han -On“
Configure MySQL instances for ReplicaSet usage
mysql-js> dba.configureReplicaSetInstance("root@servers:3306")
Create ReplicaSet
mysql-js> c root@server1:3306
mysql-js> rs = dba.createReplicaSet(“ y ep ica e ")
Check Status
mysql-js> rs.status()
Add Instances to ReplicaSet
mysql-js> rs.addInstance("root@server2:3306")
mysql-js> rs.addInstance("root@server3:3306")
Switch-Over
mysql-js> rs.setPrimaryInstance("server3:3306")
© 2020 Oracle MySQL
Program agenda
2
Replication
© 2020 Oracle MySQL
MySQL Replication
38 © 2020 Oracle MySQL
App Servers with
MySQL Router
MySQL Shell
Setup, Manage,
Orchestrate
App Clients
MySQL Replication
© 2020 Oracle MySQL
Database Replication: Multiple copies of data with replication process
39 © 2020 Oracle MySQL
© 2020 Oracle MySQL
MySQL Replication Overview
40 © 2020 Oracle MySQL
Sender
thread
Receiver
thread
Applier
Threads
SOURCE REPLICA
© 2020 Oracle MySQL
MySQL Replication Overview - Background
 Replication
MySQL Replication transfers database changes from one source server to its replicas
 Starts when transactions are prepared
Replication preserves the data changes in a binary log file on the Source just before the transactions are ready to commit
 Transfers database changes in a binary log
The binary log file contains an engine-agnostic representation of the data changes
It is sent to replicas whenever they request it or can be used for backup, point-in-time recovery and integration purposes
 Statement-based vs Row-based binary logs
The binlog can either carry the statements issued by the user or the deterministic row-changes resulting from those
statements
 Are asynchronously applied
The Replicas stream the binary log from the Source to an intermediate file on the Replica, the relay log, which is discarded
once it is no longer needed;
Workloads are applied asynchronously using a best effort approach; it competes for resources with other workloads on the
replicas
 Using single or multi-threaded schedulers
The Replicas scan the relay log and apply the data changes to the database using one of the available appliers: single-
threaded, DATABASE or LOGICAL_CLOCK
41 © 2020 Oracle MySQL
© 2020 Oracle MySQL
Global Transation Identifiers (GTID) Based MySQL Replication
 GTID is simple to track & compare replication across MySQL instances
 Unique identifier for each transaction written to the Binlog
 source_id:transaction_id
 eg : 3E11FA47-71CA-11E1-9E33-C80AA9429562:12
 Automatically identify the most up-to-date Replica for failover
 Simple to determine whether sources and replicas are consistent
 When using GTIDs you can take advantage of:
 Auto-positioning
 Easy fail-over,
 Monitor replicated transactions using Performance Schema tables
43 © 2020 Oracle MySQL
Self Healing MySQL Replication
Source
GTID=AAA:123
GTID=AAA:123
GTID=AAA:123
Replica 1
Replica 2
https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html
© 2020 Oracle MySQL
Enable GTID- mode
 To enable GTID start the server with:
 gtid_mode = ON
 enforce_gtid_consistency = ON
 server_uuid must exist for GTIDs to function correctly
 auto.cnf file
 GTID can also be enable online
 https://dev.mysql.com/doc/refman/8.0/en/replication-mode-change-online-enable-gtids.html
 Automatically configured with MySQL InnoDB ReplicaSet
44 © 2020 Oracle MySQL
© 2020 Oracle MySQL
MySQL Replication Topologies
Multi-source
© 2020 Oracle MySQL
Program agenda
5 Enterprise Solutions
© 2020 Oracle MySQL
MySQL 8: W a ’ n w!
’
 Transactional (InnoDB) Data Dictionary
 Persistent runtime configuration changes (SET PERSIST)
 Auto-increment counter value will now persist across server restarts!
 Indexing of PS tables
 SQL Roles (collection of privileges)
Developers
 Common Table Expressions
 Windows Functions
 Avoid locking with: SELECT ... FOR UPDATE [SKIP LOCKED | NOWAIT]
 More JSON and GIS functionality
© 2020 Oracle MySQL
Why MySQL Enterprise Edition?
Insure Your Deployments
Get the Best Results
Delight Customers
Improve
Performance &
Scalability
Enhance Agility &
Productivity
Reduce TCO
Mitigate
Risks
Get
Immediate
Help if/when
Needed
Increase
Customer
Satisfaction
© 2020 Oracle MySQL
Management
Tools
Advanced Features Support
•Scalability
•High Availability
•Security
•Encryption + TDE
•Data Masking
•Firewall
•Monitoring
•Backup
•Development
•Administration
•Migration
• Technical Support
• Consultative Support
• Oracle Certifications
MySQL Enterprise Edition
© 2020 Oracle MySQL
Standard Enterprise Carrier Grade
© 2020 Oracle MySQL
Standard Enterprise Carrier Grade
© 2020 Oracle MySQL
Enterprise
Security Architecture
 Workbench
•Model
•Data
•Audit Data
•User Management
  Enterprise Monitor
•Identifies Vulnerabilities
•Security hardening policies
•Monitoring & Alerting
•User Monitoring
•Password Monitoring
•Schema Change Monitoring
•Backup Monitoring
Data Encryption
•TDE
•Encryption
•PKI
 Firewall
 Enterprise Authentication
•SSO - LDAP, AD, PAM
 Network Encryption
 Enterprise Audit
•Powerful Rules Engine
 Audit Vault
 Strong Authentication
 Access Controls
 Assess
 Prevent
 Detect
 Recover
 Enterprise Backup
•Encrypted
 HA
•Innodb Cluster
Thread Pool
•Attack minimization
 Key Vault
•Protect Keys
 Enterprise
Masking & De-Identification
•Masking
•Substitute/Subset
•Random Formatted Data
•Blacklisted Data
© 2020 Oracle MySQL
MySQL Enterprise Authentication
Integrates MySQL with existing
security infrastructures
• Integrate with Centralized Authentication Infrastructure
– Centralized Account Management
– Password Policy Management
– Groups & Roles
• PAM (Pluggable Authentication Modules)
– Standard interface (Unix, LDAP, Kerberos, others)
– Access native Windows service - Use to Authenticate users using Windows Active
Directory or to a native host
© 2020 Oracle MySQL
MySQL Enterprise Firewall
• Real Time Protection
– Queries analyzed and matched against White List
• Blocks SQL Injection Attacks
– Positive Security Model
• Block Suspicious Traffic
– Out of Policy Transactions detected & blocked
• Transparent
– No changes to application required
• Learns White List
– Automated creation of approved list of SQL command patterns on a per user basis
MySQL Enterprise Firewall monitoring
© 2020 Oracle MySQL
MySQL Enterprise TDE (Transparent Data Encryption)
SQL
• New option in CREATE TABLE
ENCRYPTION=“Y”
• New SQL : ALTER INSTANCE ROTATE
INNODB MASTER KEY
Keyring plugins
• Encrypted file on disk
• Hashicorp Vault
• KMIP, Oracle KeyVault, Gemalto
KeySecure or Fornetix
Plugin Infrastructure
• New plugin type : keyring
• Ability to load plugin before InnoDB
initialization : --early-plugin-load
InnoDB
• Support for encrypted tables
• IMPORT/EXPORT of encrypted tables
• Support for master key rotation
© 2020 Oracle MySQL
MySQL Enterprise Audit
• Out-of-the-box logging of connections, logins, and query
• User defined policies for filtering, and log rotation
• Dynamically enabled, disabled: no server restart
• XML-based or JSON audit stream
• Supports encryption (MySQL 5.7.18+)
• Certified with tools like Oracle Audit Vault
Adds regulatory compliance to MySQL applications
(HIPAA, GDPR, PCI, etc.)
© 2020 Oracle MySQL
MySQL Enterprise Masking and De-Identification
• Data Masking
– String masking
– Dictionary based replacement
– Specific masking
• SSN
• Payment card : Strict/Relaxed
Adds regulatory compliance to MySQL applications
(HIPAA, GDPR, PCI, etc.)
• Random Data Generators
– Random number within a range
– Email
– Payment card (Luhn check compliant)
– SSN
– Dictionary based generation
© 2020 Oracle MySQL
MySQL Enterprise Monitor
• Start monitoring MySQL in 10 minutes
• Real-time MySQL performance and
availability monitoring
• Visually find & fix problem queries
• Disk monitoring for capacity planning
• Cloud friendly architecture
– No agents required
• Role based access controls
© 2020 Oracle MySQL
MySQL Enterprise Monitor: Query Analyzer
• Real-time query performance.
• Visual correlation graphs.
• Find & fix expensive queries.
• Detailed query statistics.
• Query Response Time index (QRTi).
“ of ” (QoS) measurement for
each query QoS measurement for a server,
group, or every instance.
Single metric for query performance.
© 2020 Oracle MySQL
MySQL Enterprise Plugin for Enterprise Manager
• Availability monitoring
• Performance monitoring
• Configuration monitoring
• All available metrics collected
– Allowing for custom threshold based
incident reports
• MySQL auto-detection
© 2020 Oracle MySQL
MySQL Enterprise Backup
• Online, non-locking backup and recovery
– Complete MySQL instance backup (data and config)
– Partial backup and restore
• Direct Cloud storage backups
– Oracle Storage Cloud, S3, etc.
• Incremental backups
• Point-in-time recovery
• Advanced compressed and encryption
• Backup to tape (SBT)
• Cross-Platform (Windows, Linux, Unix)
© 2020 Oracle MySQL
MySQL Enterprise Support
• Largest MySQL engineering and support organization
• Backed by the MySQL developers
• World-class support, in 29 languages
• Hot fixes & maintenance releases
• 24x7x365
• Unlimited incidents
• Consultative support
• Global scale and reach
Get immediate help for any MySQL
issue, plus expert advice
© 2020 Oracle MySQL
MySQL Enterprise Consultative Support
• Remote troubleshooting
• Replication review
• Partitioning review
• Schema review
• Query review
• Performance tuning
• ...and more
Get immediate help for any MySQL
issue, plus expert advice
© 2020 Oracle MySQL
Work Directly with The MySQL Team
• A direct relationship with the MySQL team
• The ability to participate in:
– Product roadmaps
– Product betas
– Customer advisory boards
• Work closely with Support Engineers
– Resolve issues faster
– Request bug and feature request escalations
© 2020 Oracle MySQL
MySQL Enterprise Oracle Certifications
• Oracle Enterprise Manager
• Oracle Linux & Oracle VM
• Oracle Solaris
• Oracle Solaris Clustering
• Oracle Clusterware
• Oracle OpenStack
• My Oracle Support
• Oracle Fusion Middleware
• Oracle GoldenGate
• Oracle Audit Vault
• Oracle Database Firewall
• Oracle Secure Backup
MySQL integrates into your Oracle environment
© 2020 Oracle MySQL
Time for a quick demo?
Primary
Router
Secondary Secondary
Group Replication
ic3ic2ic1
ap1
Moodle 3.8
O.Linux 7.4
MySQL 8.0.22
MySQL Shell 8.0.22
MySQL Router 8.0.22
© 2020 Oracle MySQL
InnoDB Cluster
Source Site
Asynchronous
replication
IC
IC
IC
Group Replication
DR Site
GR
GR
:7001
:6446
:6446
:7001
Router:6446,Router:7001 DR-Router:6446,DR-Router:7001
Combine HA and DR?
MySQL InnoDB Cluster with Group Replication DR
Router Router
© 2020 Oracle MySQL
InnoDB Cluster
Source Site
IC
IC
IC
Group Replication
DR Site
GR
GR
:7001
:6446
:6446
:7001
Router:6446,Router:7001 DR-Router:6446,DR-Router:7001
Combine HA and DR?
MySQL InnoDB Cluster with Group Replication DR
Asynchronous
replication
RouterRouter
© 2020 Oracle MySQL
References
Moodle with MySQL Database Service: https://lefred.be/content/using-oci-to-install-moodle-with-mysql-8-0/
MySQL InnoDB Cluster Tutorial https://mysqlserverteam.com/mysql-innodb-cluster-8-0-a-hands-on-tutorial
InnoDB Cluster – Demo https://www.slideshare.net/keithhollman5/mysql-innodb-cluster-ha-overview-demo
Engineering blogs https://mysqlhighavailability.com/
MySQL InnoDB Cluster Documentation https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-userguide.html
MySQL InnoDB ReplicaSet Documentation https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-replicaset.html
MySQL Replication https://dev.mysql.com/doc/refman/8.0/en/replication.html
MySQL Shell https://dev.mysql.com/doc/mysql-shell/8.0/en/
MySQL Router https://dev.mysql.com/doc/mysql-router/8.0/en/
Using MySQL AdminAPI https://dev.mysql.com/doc/refman/8.0/en/admin-api-userguide.html
MySQL 8.0.22 New Features Summary http://dasini.net/blog/2020/11/10/mysql-8-0-22-new-features-summary/
© 2020 Oracle MySQL
Wrap- p: y …
…
Community and Enterprise, Ent. Server and Cluster CGE
…
Business owners, Architects, Developers, Operations, etc.
…
SQL and NoSQL together, modular or micro services
…
Support 24x7, Business Continuity, Security compliance, etc.
© 2020 Oracle MySQL
Questions?
keith.hollman@oracle.com
© 2020 Oracle MySQL
¡GRACIAS!
Keith Hollman
Solution Engineering EMEA
MySQL
keith.hollman@oracle.com
¡GRACIAS!

Weitere ähnliche Inhalte

Was ist angesagt?

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 enterprise backup overview
MySQL enterprise backup overviewMySQL enterprise backup overview
MySQL enterprise backup overview郁萍 王
 
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
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise MonitorTed Wennmark
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best PracticesOlivier DASINI
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsTed Wennmark
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & ImplementationOSSCube
 
MySQL Document Store for Modern Applications
MySQL Document Store for Modern ApplicationsMySQL Document Store for Modern Applications
MySQL Document Store for Modern ApplicationsOlivier DASINI
 
MySQL Enterprise Edition
MySQL Enterprise EditionMySQL Enterprise Edition
MySQL Enterprise EditionMySQL Brasil
 
From Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise EditionFrom Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise Edition郁萍 王
 
MySQL Enterprise Backup & Oracle Secure Backup
MySQL Enterprise Backup &  Oracle Secure BackupMySQL Enterprise Backup &  Oracle Secure Backup
MySQL Enterprise Backup & Oracle Secure BackupSanjay Manwani
 
MySQL Enterprise Backup
MySQL Enterprise BackupMySQL Enterprise Backup
MySQL Enterprise BackupMario Beck
 
Posscon my sql56
Posscon my sql56Posscon my sql56
Posscon my sql56Dave Stokes
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 UpdatesDave Stokes
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News Ted Wennmark
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
MySQL Enterprise Backup
MySQL Enterprise BackupMySQL Enterprise Backup
MySQL Enterprise BackupMark Swarbrick
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMiguel Araújo
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016Ted Wennmark
 

Was ist angesagt? (20)

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 enterprise backup overview
MySQL enterprise backup overviewMySQL enterprise backup overview
MySQL enterprise backup overview
 
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
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best Practices
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 
MySQL Cluster Basics
MySQL Cluster BasicsMySQL Cluster Basics
MySQL Cluster Basics
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & Implementation
 
MySQL Document Store for Modern Applications
MySQL Document Store for Modern ApplicationsMySQL Document Store for Modern Applications
MySQL Document Store for Modern Applications
 
MySQL Enterprise Edition
MySQL Enterprise EditionMySQL Enterprise Edition
MySQL Enterprise Edition
 
From Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise EditionFrom Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise Edition
 
MySQL Enterprise Backup & Oracle Secure Backup
MySQL Enterprise Backup &  Oracle Secure BackupMySQL Enterprise Backup &  Oracle Secure Backup
MySQL Enterprise Backup & Oracle Secure Backup
 
MySQL Enterprise Backup
MySQL Enterprise BackupMySQL Enterprise Backup
MySQL Enterprise Backup
 
Posscon my sql56
Posscon my sql56Posscon my sql56
Posscon my sql56
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 Updates
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
MySQL Enterprise Backup
MySQL Enterprise BackupMySQL Enterprise Backup
MySQL Enterprise Backup
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
 

Ähnlich wie Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Cluster & ReplicaSet

MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...Olivier 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
 
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 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 InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMario Beck
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability MattersMatt Lord
 
MySQL Web Reference Architecture
MySQL Web Reference Architecture MySQL Web Reference Architecture
MySQL Web Reference Architecture Ricky Setyawan
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15Dave Stokes
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMatt Lord
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!Vittorio Cioe
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL SupportMysql User Camp
 
20200613 my sql-ha-deployment
20200613 my sql-ha-deployment20200613 my sql-ha-deployment
20200613 my sql-ha-deploymentIvan Ma
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & designMark Swarbrick
 
MySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL FabricMySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL FabricMark Swarbrick
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4Frazer Clement
 
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 Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 

Ähnlich wie Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Cluster & ReplicaSet (20)

MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
 
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
 
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 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 InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 
MySQL Web Reference Architecture
MySQL Web Reference Architecture MySQL Web Reference Architecture
MySQL Web Reference Architecture
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB Clusters
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
20200613 my sql-ha-deployment
20200613 my sql-ha-deployment20200613 my sql-ha-deployment
20200613 my sql-ha-deployment
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
MySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL FabricMySQL London Tech Tour March 2015 - MySQL Fabric
MySQL London Tech Tour March 2015 - MySQL Fabric
 
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
200 million qps on commodity hardware : Getting started with MySQL Cluster 7.4
 
Sunshine php my sql 8.0 v2
Sunshine php my sql 8.0 v2Sunshine php my sql 8.0 v2
Sunshine php my sql 8.0 v2
 
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 Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 

Mehr von Keith Hollman

MySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demoMySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demoKeith Hollman
 
MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.Keith Hollman
 
MySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en EspañolMySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en EspañolKeith Hollman
 
Meb Backup & Recovery Performance
Meb Backup & Recovery PerformanceMeb Backup & Recovery Performance
Meb Backup & Recovery PerformanceKeith Hollman
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaKeith Hollman
 
MySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online RecoveryMySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online RecoveryKeith Hollman
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverKeith Hollman
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUGKeith Hollman
 

Mehr von Keith Hollman (8)

MySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demoMySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demo
 
MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.
 
MySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en EspañolMySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en Español
 
Meb Backup & Recovery Performance
Meb Backup & Recovery PerformanceMeb Backup & Recovery Performance
Meb Backup & Recovery Performance
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion Tecnica
 
MySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online RecoveryMySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online Recovery
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole Crossover
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Cluster & ReplicaSet

  • 1. Keith Hollman Principal Solution Engineer MySQL keith.hollman@oracle.com available and scalable with MySQL HA InnoDB Cluster & ReplicaSet
  • 2. © 2020 Oracle MySQL 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 ’ .
  • 3. © 2020 Oracle MySQL Introduction Program agenda 1
  • 4. © 2020 Oracle MySQL High Availability: Terms and Concepts  Availability  Outage and downtime  Mean Time Between Failures (MTBF)  Mean Time To Recover (MTTR)  Service Level Agreement (SLA)  ’ : 5 = 5 mins downtime per year  Capacity / Performance  Redundancy  Fault Tolerance  Disaster Tolerance/Recovery
  • 5. © 2020 Oracle MySQL High Availability: Considerations  SLA requirements What is needed to support your business objectives  Operational capabilities Will you have the workforce to implement and maintain it  Service agility Can it grow and change as your company does  Time to market Can you go to market quickly  Budgetary constraints Cost of downtime versus cost of HA implementation What To Use?
  • 6. © 2020 Oracle MySQL High Availability: Factors  Environment  Redundant servers in different datacenters and geographical areas will protect you against regional issues—power grid failures, hurricanes, earthquakes, etc.  Hardware  Each part of your hardware stack—networking, storage, servers—should be redundant  Software  Every layer of the software stack needs to be duplicated and distributed across separate hardware and environments  Data  Data loss and inconsistency/corruption must be prevented by having multiple copies of each piece of data, with consistency checks and guarantees for each change
  • 7. © 2020 Oracle MySQL High Availability: Design Factors  Reliability, Availability, and Serviceability (RAS)  Reliability  Quality hardware and software components that you can manage and trust  Availability  Multiple copies of each datum replicated to separate hardware  Multiple copies of each piece of the hardware and software stack  Multiple physical locations  Separate power grids  Enough physical distance to survive disasters such as floods, earthquakes, and power grid outages  Resiliency  Automation to transparently deal with any potential failure in the infrastructure, hardware, software  Serviceability  Ensure that you can monitor, diagnose, maintain, and repair it all
  • 8. © 2020 Oracle MySQL High Availability: Database Needs  Management infrastructure  Monitoring of status, health, performance  Facilities for service changes, service transitions  Failure detection and handling  Identify and handle failures  Elasticity  Scale up to ensure acceptable performance is always maintained  Consistency guarantees  Conflict detection and handling ; data loss protection/prevention  Online maintenance
  • 9. © 2020 Oracle MySQL High Availability: Common MySQL Solutions MySQL Source / Replica Replication Master/Slave with Automated Failover DRBD OS or VM vendor active/passi ve solutions MySQL Group Replication 9 9 . 9 9 9 % Continuous Availability
  • 10. © 2020 Oracle MySQL A study by the Gartner Group projected that through 2015, 80% of downtime will be due to people and process issues 10 © 2020 Oracle MySQL 40% 40% 20% Software/Application Human Error Hardware * Source: Gartner Group 1998 survey High Availability: Causes of Downtime
  • 11. © 2020 Oracle MySQL  Calculate a cost per minute of downtime  Average revenue generated per-minute over a year  Cost of not meeting any customer SLAs  Factor in costs that are harder to quantify 11 © 2020 Oracle MySQL 1. Revenue 2. Reputation 3. Customer sentiment 4. Stock price 5. ’ 6. ’ THIS is why HA matters! High Availability: The Business Cost of Downtime
  • 12. © 2020 Oracle MySQL MySQL High Availability Solutions • MySQL NDB Cluster – NDB storage engine. – Memory database. – Automatic sharding of data. – SQL Access via MySQL with cross shard join support. – Native access via several I’ . – Read/write consistency. – Read/write scalability (2pc). – ACID and transactions. • MySQL InnoDB Cluster – Easy HA built into MySQL 5.7+ for InnoDB. – MySQL Group Replication, Shell and Router. – Write consistency. – Read Scalability. – Native CRUD API in MySQL 8. – Synchrounous (Paxos). • MySQL Replication – Core part of MySQL, used by almost everyone. – Can be used by any storage engine. – Asynchronous and semi- sync option. – Scale out reads. – ReplicaSet from 8.0.19 with integration to Shell and Router.
  • 13. © 2020 Oracle MySQL MySQL High Availability Solutions • MySQL NDB Cluster – NDB storage engine. – Memory database. – Automatic sharding of data. – SQL Access via MySQL with cross shard join support. – Native access via several I’ . – Read/write consistency. – Read/write scalability (2pc). – ACID and transactions. • MySQL InnoDB Cluster – Easy HA built into MySQL 5.7+ for InnoDB. – MySQL Group Replication, Shell and Router. – Write consistency. – Read Scalability. – Native CRUD API in MySQL 8. – Synchrounous (Paxos). • MySQL Replication – Core part of MySQL, used by almost everyone. – Can be used by any storage engine. – Asynchronous and semi- sync option. – Scale out reads. – ReplicaSet from 8.0.19 with integration to Shell and Router.
  • 14. © 2020 Oracle MySQL Program agenda 2 InnoDB Cluster
  • 15. © 2020 Oracle MySQL MySQL InnoDB Cluster  High Availability becomes a core first class feature of MySQL!  A single product — MySQL — with high availability and scaling features baked in  Providing an integrated end-to-end solution that is easy to use  Group Replication: Automatic membership changes, network partition handling, consistency...  Shell to provide a powerful interface that helps in automating an integrating all components  Router provide transparent routing between your application and back-end MySQL Servers  InnoDB CLONE to automatically provision members, fully integrated in InnoDB 15 © 2020 Oracle MySQL App Servers with MySQL Router MySQL Shell Setup, Manage, Orchestrate MySQL Group Replication App Clients
  • 16. © 2020 Oracle MySQL InnoDB Cluster: Application access Application access the database through MySQL Router. Node 1 is Primary (RW). Primary Node 1 Router Secondary Node 2 Secondary Node 3 Group Replication
  • 17. © 2020 Oracle MySQL InnoDB Cluster: Failure detection Crash happens ... Primary R/W Router Secondary Node 2 Secondary Node 3 Crash Group Replication
  • 18. © 2020 Oracle MySQL InnoDB Cluster: Failover PRIMARY role to Node 2 A new primary is automatically elected since we still have a majority of nodes available. Primary Node 1 Router Primary Node 2 Secondary Node 3 Group Replication
  • 19. © 2020 Oracle MySQL InnoDB Cluster: Recovery of failed node as Secondary (RO) Recover and rejoin the crashed node. Recovery is automatic in case of NW outage. Secondary Node 1 Router Primary Node 2 Secondary Node 3 Group Replication
  • 20. © 2020 Oracle MySQL MySQL Group Replication: Deploy Modes • Multi-Primary Mode – Every server in the group is allowed to execute transactions at any time, even transactions that change state (RW transactions) – Risk of more aborted transactions – Send DDL operations to only one node in the cluster • Single-Primary Mode (Default) – The group has a single primary server that is set to read-write mode. All the other members in the group are set to read-only mode. – No need to modify application.
  • 21. © 2020 Oracle MySQL MySQL Group Replication: Deploy Modes * • Multi-Primary Mode – Every server in the group is allowed to execute transactions at any time, even transactions that change state (RW transactions) – Risk of more aborted transactions – Send DDL operations to only one node in the cluster • Single-Primary Mode (Default) – The group has a single primary server that is set to read-write mode. All the other members in the group are set to read-only mode. – No need to modify application.
  • 22. © 2020 Oracle MySQL MySQL Group Replication: ” a ” Consistency levels (8.0.14) • Eventual Consistency (default) – Transaction does not wait at all. – Executes on the current snapshot of the data on that member. • Before Consistency (Synchronize on Reads) – Transaction waits for all preceding transactions to complete. – Executes on the most up to date snapshot of the data in the group. • After Consistency (Synchronize on Writes) – Transaction waits until all members have executed it. – Executes on the current snapshot of the data on that member.
  • 23. © 2020 Oracle MySQL Consistency Levels – User Interface • Consistency System Variable Controls the Behavior: group_replication_consistency. • Global and Session scope – Can be set per transaction. • Values: – EVENTUAL – BEFORE_ON_PRIMARY_FAILOVER – BEFORE – AFTER – BEFORE_AND_AFTER
  • 24. © 2020 Oracle MySQL CLONE: Automatic Full Data Snapshot Provisioning MySQL Group Replication Joining Member MySQL Group Replication: CLONE plugin (8.0.17)
  • 25. © 2020 Oracle MySQL MySQL InnoDB Cluster: Getting started • Docs: https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-userguide.html • Workshop: https://github.com/wwwted/MySQL-InnoDB-Cluster-3VM-Setup • Blogs: – https://lefred.be/content/category/mysql/innodb-cluster/ – https://mysqlhighavailability.com/category/replication/group-replication/
  • 26. © 2020 Oracle MySQL Planned Changes of the Primary 27 © 2020 Oracle MySQL MySQL Router JS> cl.setPrimaryInstance("nodeA:3306") User tells current primary to give up its role and assign it to another server
  • 27. © 2020 Oracle MySQL Tagging the Metadata 28 © 2020 Oracle MySQL MySQL JS> cl.setInstanceOption(nodeA:3306, "tag:_hidden", true); Hide instances from client traffic or declare additional information  Support for the metadata "tags" property:  _hidden : A boolean that indicates if the node should be hidden  true makes the node hidden, while false or any other value considers it not hidden  _disconnect_existing_sessions_when_hidden : A boolean that indicates if the existing connections to the node should be dropped in case the node is hidden  false means existing connections to hidden nodes are not disconnected while true or any other value means the opposite  Hidden instances only affect user connections; the instance remains available to Router when performing tasks such as fetching metadata and calculating the quorum  Also support for user defined tagging  Tag namespace, where you can store information in the key-value pairs associated with a given node https://dev.mysql.com/doc/refman/8.0/en/admin-api-tagging.html
  • 28. © 2020 Oracle MySQL Program agenda 3 InnoDB ReplicaSet
  • 29. © 2020 Oracle MySQL MySQL InnoDB ReplicaSet “A quick & easy way to get MySQL Replication & MySQL Router up and running” 30 App Servers with MySQL Router MySQL Replication MySQL Shell Setup, Manage, Orchestrate App Clients
  • 30. © 2020 Oracle MySQL MySQL InnoDB ReplicaSet - Introduction  An InnoDB ReplicaSet consists of a single source & multiple replicas (primary/secondary)  Enable you to administer a set of MySQL instances running asynchronous GTID-based replication in a similar way to InnoDB Cluster  Enable you to work with MySQL replication without a deep understanding of the underlying concepts  I ’ quick and easy way to get MySQL Replication and MySQL Router up and running  You can automatically configure MySQL Router to use your InnoDB ReplicaSet  Making it well suited to:  Scaling out reads  Provide manual failover capabilities in use cases that do not require the high availability offered by InnoDB Cluster 31 © 2020 Oracle MySQL
  • 31. © 2020 Oracle MySQL MySQL InnoDB ReplicaSet - Goals Flexible and Modern  SQL & NoSQL together  Protocol Buffers  Asynchronous API  Developer friendly 32 © 2020 Oracle MySQL A single product: MySQL  All components created together  Tested together  Packaged together  Proven & well known async replication Easy to use  One client: MySQL Shell  Easy packaging  Integrate orchestration  Homogenous servers Completely Open Source - GPL  No license required to have  High Availability
  • 32. © 2020 Oracle MySQL MySQL InnoDB ReplicaSet – The Big Picture 33 © 2020 Oracle MySQL S R R MySQL Shell and Orchestration Tooling Simple Mapping, State and Extra Metadata Control, Coordinate, Provision Monitoring (MEM) MySQL Router MySQL Async Replication MySQL Router
  • 33. © 2020 Oracle MySQL MySQL InnoDB ReplicaSet - Requirements & Limitations  Requirements:  MySQL 8.0.19+  GTID-based & Row based replication  Limitations:  Manual failover -- which is a good thing  No coordination between servers mandates external arbitration  However, secondary instances remain available for reads.  No multi-primary as such topology cannot guarantee data consistency  No data reconciliation  No conflict handling  No protection from partial data loss  All secondary members replicate from primary  Single tiered replication support.  It is recommended that you deploy InnoDB Cluster wherever possible 34 © 2020 Oracle MySQL https://dev.mysql.com/doc/refman/8.0/en/introducing-innodb-replicaset.html
  • 34. InnoDB ReplicaSets Features Now  Automatically provisioning new members: InnoDB Clone  fi & Replication  Integrated MySQL Router load balancing  Automatic Router Bootstrapping – no config  Router is stateless, adapts to topology changes  Easy to use manual switchover/failover Before  Restore a backup to provision a member  fi Replication fi Replication  Manually fi , servers in MySQL Router or alternatives  Manually or relying on external tools to make topology changes  Use additional monitoring tool log in on all machines to check topology
  • 35. MySQL ReplicaSet – “Han -On“ Configure MySQL instances for ReplicaSet usage mysql-js> dba.configureReplicaSetInstance("root@servers:3306") Create ReplicaSet mysql-js> c root@server1:3306 mysql-js> rs = dba.createReplicaSet(“ y ep ica e ") Check Status mysql-js> rs.status() Add Instances to ReplicaSet mysql-js> rs.addInstance("root@server2:3306") mysql-js> rs.addInstance("root@server3:3306") Switch-Over mysql-js> rs.setPrimaryInstance("server3:3306")
  • 36. © 2020 Oracle MySQL Program agenda 2 Replication
  • 37. © 2020 Oracle MySQL MySQL Replication 38 © 2020 Oracle MySQL App Servers with MySQL Router MySQL Shell Setup, Manage, Orchestrate App Clients MySQL Replication
  • 38. © 2020 Oracle MySQL Database Replication: Multiple copies of data with replication process 39 © 2020 Oracle MySQL
  • 39. © 2020 Oracle MySQL MySQL Replication Overview 40 © 2020 Oracle MySQL Sender thread Receiver thread Applier Threads SOURCE REPLICA
  • 40. © 2020 Oracle MySQL MySQL Replication Overview - Background  Replication MySQL Replication transfers database changes from one source server to its replicas  Starts when transactions are prepared Replication preserves the data changes in a binary log file on the Source just before the transactions are ready to commit  Transfers database changes in a binary log The binary log file contains an engine-agnostic representation of the data changes It is sent to replicas whenever they request it or can be used for backup, point-in-time recovery and integration purposes  Statement-based vs Row-based binary logs The binlog can either carry the statements issued by the user or the deterministic row-changes resulting from those statements  Are asynchronously applied The Replicas stream the binary log from the Source to an intermediate file on the Replica, the relay log, which is discarded once it is no longer needed; Workloads are applied asynchronously using a best effort approach; it competes for resources with other workloads on the replicas  Using single or multi-threaded schedulers The Replicas scan the relay log and apply the data changes to the database using one of the available appliers: single- threaded, DATABASE or LOGICAL_CLOCK 41 © 2020 Oracle MySQL
  • 41. © 2020 Oracle MySQL Global Transation Identifiers (GTID) Based MySQL Replication  GTID is simple to track & compare replication across MySQL instances  Unique identifier for each transaction written to the Binlog  source_id:transaction_id  eg : 3E11FA47-71CA-11E1-9E33-C80AA9429562:12  Automatically identify the most up-to-date Replica for failover  Simple to determine whether sources and replicas are consistent  When using GTIDs you can take advantage of:  Auto-positioning  Easy fail-over,  Monitor replicated transactions using Performance Schema tables 43 © 2020 Oracle MySQL Self Healing MySQL Replication Source GTID=AAA:123 GTID=AAA:123 GTID=AAA:123 Replica 1 Replica 2 https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html
  • 42. © 2020 Oracle MySQL Enable GTID- mode  To enable GTID start the server with:  gtid_mode = ON  enforce_gtid_consistency = ON  server_uuid must exist for GTIDs to function correctly  auto.cnf file  GTID can also be enable online  https://dev.mysql.com/doc/refman/8.0/en/replication-mode-change-online-enable-gtids.html  Automatically configured with MySQL InnoDB ReplicaSet 44 © 2020 Oracle MySQL
  • 43. © 2020 Oracle MySQL MySQL Replication Topologies Multi-source
  • 44. © 2020 Oracle MySQL Program agenda 5 Enterprise Solutions
  • 45. © 2020 Oracle MySQL MySQL 8: W a ’ n w! ’  Transactional (InnoDB) Data Dictionary  Persistent runtime configuration changes (SET PERSIST)  Auto-increment counter value will now persist across server restarts!  Indexing of PS tables  SQL Roles (collection of privileges) Developers  Common Table Expressions  Windows Functions  Avoid locking with: SELECT ... FOR UPDATE [SKIP LOCKED | NOWAIT]  More JSON and GIS functionality
  • 46. © 2020 Oracle MySQL Why MySQL Enterprise Edition? Insure Your Deployments Get the Best Results Delight Customers Improve Performance & Scalability Enhance Agility & Productivity Reduce TCO Mitigate Risks Get Immediate Help if/when Needed Increase Customer Satisfaction
  • 47. © 2020 Oracle MySQL Management Tools Advanced Features Support •Scalability •High Availability •Security •Encryption + TDE •Data Masking •Firewall •Monitoring •Backup •Development •Administration •Migration • Technical Support • Consultative Support • Oracle Certifications MySQL Enterprise Edition
  • 48. © 2020 Oracle MySQL Standard Enterprise Carrier Grade
  • 49. © 2020 Oracle MySQL Standard Enterprise Carrier Grade
  • 50. © 2020 Oracle MySQL Enterprise Security Architecture  Workbench •Model •Data •Audit Data •User Management   Enterprise Monitor •Identifies Vulnerabilities •Security hardening policies •Monitoring & Alerting •User Monitoring •Password Monitoring •Schema Change Monitoring •Backup Monitoring Data Encryption •TDE •Encryption •PKI  Firewall  Enterprise Authentication •SSO - LDAP, AD, PAM  Network Encryption  Enterprise Audit •Powerful Rules Engine  Audit Vault  Strong Authentication  Access Controls  Assess  Prevent  Detect  Recover  Enterprise Backup •Encrypted  HA •Innodb Cluster Thread Pool •Attack minimization  Key Vault •Protect Keys  Enterprise Masking & De-Identification •Masking •Substitute/Subset •Random Formatted Data •Blacklisted Data
  • 51. © 2020 Oracle MySQL MySQL Enterprise Authentication Integrates MySQL with existing security infrastructures • Integrate with Centralized Authentication Infrastructure – Centralized Account Management – Password Policy Management – Groups & Roles • PAM (Pluggable Authentication Modules) – Standard interface (Unix, LDAP, Kerberos, others) – Access native Windows service - Use to Authenticate users using Windows Active Directory or to a native host
  • 52. © 2020 Oracle MySQL MySQL Enterprise Firewall • Real Time Protection – Queries analyzed and matched against White List • Blocks SQL Injection Attacks – Positive Security Model • Block Suspicious Traffic – Out of Policy Transactions detected & blocked • Transparent – No changes to application required • Learns White List – Automated creation of approved list of SQL command patterns on a per user basis MySQL Enterprise Firewall monitoring
  • 53. © 2020 Oracle MySQL MySQL Enterprise TDE (Transparent Data Encryption) SQL • New option in CREATE TABLE ENCRYPTION=“Y” • New SQL : ALTER INSTANCE ROTATE INNODB MASTER KEY Keyring plugins • Encrypted file on disk • Hashicorp Vault • KMIP, Oracle KeyVault, Gemalto KeySecure or Fornetix Plugin Infrastructure • New plugin type : keyring • Ability to load plugin before InnoDB initialization : --early-plugin-load InnoDB • Support for encrypted tables • IMPORT/EXPORT of encrypted tables • Support for master key rotation
  • 54. © 2020 Oracle MySQL MySQL Enterprise Audit • Out-of-the-box logging of connections, logins, and query • User defined policies for filtering, and log rotation • Dynamically enabled, disabled: no server restart • XML-based or JSON audit stream • Supports encryption (MySQL 5.7.18+) • Certified with tools like Oracle Audit Vault Adds regulatory compliance to MySQL applications (HIPAA, GDPR, PCI, etc.)
  • 55. © 2020 Oracle MySQL MySQL Enterprise Masking and De-Identification • Data Masking – String masking – Dictionary based replacement – Specific masking • SSN • Payment card : Strict/Relaxed Adds regulatory compliance to MySQL applications (HIPAA, GDPR, PCI, etc.) • Random Data Generators – Random number within a range – Email – Payment card (Luhn check compliant) – SSN – Dictionary based generation
  • 56. © 2020 Oracle MySQL MySQL Enterprise Monitor • Start monitoring MySQL in 10 minutes • Real-time MySQL performance and availability monitoring • Visually find & fix problem queries • Disk monitoring for capacity planning • Cloud friendly architecture – No agents required • Role based access controls
  • 57. © 2020 Oracle MySQL MySQL Enterprise Monitor: Query Analyzer • Real-time query performance. • Visual correlation graphs. • Find & fix expensive queries. • Detailed query statistics. • Query Response Time index (QRTi). “ of ” (QoS) measurement for each query QoS measurement for a server, group, or every instance. Single metric for query performance.
  • 58. © 2020 Oracle MySQL MySQL Enterprise Plugin for Enterprise Manager • Availability monitoring • Performance monitoring • Configuration monitoring • All available metrics collected – Allowing for custom threshold based incident reports • MySQL auto-detection
  • 59. © 2020 Oracle MySQL MySQL Enterprise Backup • Online, non-locking backup and recovery – Complete MySQL instance backup (data and config) – Partial backup and restore • Direct Cloud storage backups – Oracle Storage Cloud, S3, etc. • Incremental backups • Point-in-time recovery • Advanced compressed and encryption • Backup to tape (SBT) • Cross-Platform (Windows, Linux, Unix)
  • 60. © 2020 Oracle MySQL MySQL Enterprise Support • Largest MySQL engineering and support organization • Backed by the MySQL developers • World-class support, in 29 languages • Hot fixes & maintenance releases • 24x7x365 • Unlimited incidents • Consultative support • Global scale and reach Get immediate help for any MySQL issue, plus expert advice
  • 61. © 2020 Oracle MySQL MySQL Enterprise Consultative Support • Remote troubleshooting • Replication review • Partitioning review • Schema review • Query review • Performance tuning • ...and more Get immediate help for any MySQL issue, plus expert advice
  • 62. © 2020 Oracle MySQL Work Directly with The MySQL Team • A direct relationship with the MySQL team • The ability to participate in: – Product roadmaps – Product betas – Customer advisory boards • Work closely with Support Engineers – Resolve issues faster – Request bug and feature request escalations
  • 63. © 2020 Oracle MySQL MySQL Enterprise Oracle Certifications • Oracle Enterprise Manager • Oracle Linux & Oracle VM • Oracle Solaris • Oracle Solaris Clustering • Oracle Clusterware • Oracle OpenStack • My Oracle Support • Oracle Fusion Middleware • Oracle GoldenGate • Oracle Audit Vault • Oracle Database Firewall • Oracle Secure Backup MySQL integrates into your Oracle environment
  • 64. © 2020 Oracle MySQL Time for a quick demo? Primary Router Secondary Secondary Group Replication ic3ic2ic1 ap1 Moodle 3.8 O.Linux 7.4 MySQL 8.0.22 MySQL Shell 8.0.22 MySQL Router 8.0.22
  • 65. © 2020 Oracle MySQL InnoDB Cluster Source Site Asynchronous replication IC IC IC Group Replication DR Site GR GR :7001 :6446 :6446 :7001 Router:6446,Router:7001 DR-Router:6446,DR-Router:7001 Combine HA and DR? MySQL InnoDB Cluster with Group Replication DR Router Router
  • 66. © 2020 Oracle MySQL InnoDB Cluster Source Site IC IC IC Group Replication DR Site GR GR :7001 :6446 :6446 :7001 Router:6446,Router:7001 DR-Router:6446,DR-Router:7001 Combine HA and DR? MySQL InnoDB Cluster with Group Replication DR Asynchronous replication RouterRouter
  • 67. © 2020 Oracle MySQL References Moodle with MySQL Database Service: https://lefred.be/content/using-oci-to-install-moodle-with-mysql-8-0/ MySQL InnoDB Cluster Tutorial https://mysqlserverteam.com/mysql-innodb-cluster-8-0-a-hands-on-tutorial InnoDB Cluster – Demo https://www.slideshare.net/keithhollman5/mysql-innodb-cluster-ha-overview-demo Engineering blogs https://mysqlhighavailability.com/ MySQL InnoDB Cluster Documentation https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-userguide.html MySQL InnoDB ReplicaSet Documentation https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-replicaset.html MySQL Replication https://dev.mysql.com/doc/refman/8.0/en/replication.html MySQL Shell https://dev.mysql.com/doc/mysql-shell/8.0/en/ MySQL Router https://dev.mysql.com/doc/mysql-router/8.0/en/ Using MySQL AdminAPI https://dev.mysql.com/doc/refman/8.0/en/admin-api-userguide.html MySQL 8.0.22 New Features Summary http://dasini.net/blog/2020/11/10/mysql-8-0-22-new-features-summary/
  • 68. © 2020 Oracle MySQL Wrap- p: y … … Community and Enterprise, Ent. Server and Cluster CGE … Business owners, Architects, Developers, Operations, etc. … SQL and NoSQL together, modular or micro services … Support 24x7, Business Continuity, Security compliance, etc.
  • 69. © 2020 Oracle MySQL Questions? keith.hollman@oracle.com
  • 70. © 2020 Oracle MySQL
  • 71. ¡GRACIAS! Keith Hollman Solution Engineering EMEA MySQL keith.hollman@oracle.com ¡GRACIAS!