SlideShare a Scribd company logo
1 of 64
© 2017 Percona1
Peter Zaitsev, CEO
Advanced MySQL Replication Features
Highload++ Moscow, Russia
November 8, 2017
© 2017 Percona2
In This Presentation
Few Words about Replication & Availability
MySQL Replication Timeline
Advanced MySQL Replication Options
© 2017 Percona3
Few Words about Replication
© 2017 Percona4
Replication
Having Multiple Copies of the
data, updated with changes
© 2017 Percona5
Why Replication
Availability Scalability Performance
© 2017 Percona6
Availability
Service Stays up when
component fails
© 2017 Percona7
Availability via Redundancy
Have more than one system
Works well for stateless systems
Is not enough for databases
© 2017 Percona8
Availability via Replication
Redundant
Computing
Resource
Paired with
Replicated
Data
© 2017 Percona9
Component Failure
• Total Crash
• Process Crash
• Stall/Unresponsive
• Consistency Issues
Node
Failures
• Single Network Port Failures
• Network Device Failures
• Partitions
• Complicated Failures
Network
Failures
© 2017 Percona10
Scalability with Replication
Scales Reads
Does not Scale Writes very well
Data Distribution is needed for scaling writes
© 2017 Percona11
Performance
Reduce response time by
maintaining replica closer to user
Better Performance Through
avoiding resource saturation
© 2017 Percona12
Replication in MySQL
A brief Time Line
© 2017 Percona13
MySQL Replication
MySQL 3.23
• Initial
Statement
Replication
Implemented
MySQL 4.0
• Split IO
Thread and
SQL Thread
MySQL 5.1
• Row and
Mixed
replication
modes
supported
MySQL 5.6
• Per Database
Parallel
Replication
• GTID Support
MySQL 5.7
• General
Parallel
Replication
• Multi-Source
Replication
• Group
Replication /
MySQL
Innodb
Cluster
© 2017 Percona14
Galera Based Replication
Technology
Similar to MySQL Group
Replication but more mature
Available for MySQL,
Percona, MariaDB
Alternative Track
© 2017 Percona15
Replication in MariaDB
Is not 100% Same as in MySQL
Different GTID Implementation
Different parallel replication
Not instrumented in the same way
Number of features became available in MariaDB Earlier
Not covering MariaDB in this Presentation
© 2017 Percona16
Advanced Replication
© 2017 Percona17
What is Basic Replication ?
Statement
Replication
Replication of
the Full
Database
Using Binary Log
Position
Single Tier
Topology
Single Thread Asynchronous
Write to Single
Master
Keep Slave
Meta-Data Data
in Files
Master-Slave-
Replication
Manual Failover
& Traffic
Management
© 2017 Percona18
Statement vs Row Replication
•STATEMENT
•ROW
•MIXED
Configured on
the Master as
binlog_format
© 2017 Percona19
How Rows are Logged ?
•Full
•Minimal
•Noblob
binlog_row_image
© 2017 Percona20
Missing Seeing Queries ?
Also Log Query For informational Purposes
binlog_rows_query_log_events
Off by Default
© 2017 Percona21
Replication of Full Database
Full Replication Most Simple for Troubleshooting and
Recovery
Can replicate only portions of the database
Can add additional data to the slaves
© 2017 Percona22
Replication Filering
• Binlog_do_db
• Binlog_ignore_db
On the Master
(writing binary
log)
• Replicate_do_db
• Replicate_ignore_db
• Replicate_wild_do_table
• Replicate_wild_ignore_table
On the Slave
© 2017 Percona23
Position Identification
By Binary Log
Position
•File: mysql-
bin.000003
•Position: 73
By GTID
•3E11FA47-71CA-
11E1-9E33-
C80AA9429562:23
© 2017 Percona24
What is in GTID ?
GTID = source_id:transaction_id
Source_id is Server_uuid of Originating Server
Always Preserved on the Slaves
Track which transactions executed
mysql.gtid_executed table (5.7) + binlog
© 2017 Percona25
GTID Benefits and Drawbacks
Automatic Position Discovery
Easy Slave Promotion
Discovery of Missed Transactions
Pain in the Ass with Manual Troubleshooting
© 2017 Percona26
Replication Topologies
Single Tier Master-Slave
Bi-Directional
Tree
Ring
Directed Graph
© 2017 Percona27
Options For Complicated Topologies
•Store copy of applied
statements in local binlog
•Disabled by default until
MySQL 8
Log_slave_updates
© 2017 Percona28
Parallel Replication
Single Thread Replication is typical limiting factor
Parallel Replication for multiple Databases since 5.6
Parallel Replication for same table since 5.7
© 2017 Percona29
Managing Parallel Replication
slave-parallel-workers
slave-parallel-type=DATABASE|LOGICAL_CLOCK
slave_preserve_commit_order
© 2017 Percona30
Asynchronous Replication
Default in MySQL
There is no guaranty of Timeliness
“Replication Lag” can be days… and weeks
Support for Semi-Synchronous Replication
Support for Virtually Synchronous Group Replication
© 2017 Percona31
Sync or Async
Synchronous
Replication
Asynchronous
Replication
© 2017 Percona32
Synchronous Replication
Data “Persisted” on Target Server
Guarantees No Data Loss if Source server fails
Conflicts can be easily prevented
Expensive
© 2017 Percona33
Persistence in terms of
Durability – In case of original node loss, can date be
recovered?
Visibility – Is data visible by reads going to secondary node
Both Required for truly synchronous replication
© 2017 Percona34
What “Persisted” means ?
•Assumes power loss of both
servers does not happen
In
Memory
•Handles Total Loss of Master
and Power loss on the SlaveOn Disk
© 2017 Percona35
Asynchronous Replication
Anything not Synchronous
Many different variants exist!
© 2017 Percona36
Asynchronous Properties
•What happens with
Persistence ?
•What happens with
Visibility ?
Commit
on
Master
© 2017 Percona37
Persistence
Uncommitted Data on Master
Committed Data on Master
Data in Slave’s memory
Data on Slave’s Disk (log)
© 2017 Percona38
Visibility
•Phantom Reads
Results be visible by
concurrent sessions
before
acknowledgement
•No Phantom Reads
Results can’t be
visible by
concurrent sessions
© 2017 Percona39
Semi-Synchronous Replication in MySQL
• Both on Master and SlavePlugin Required
• INSTALL PLUGIN rpl_semi_sync_master
SONAME 'semisync_master.so';Master
• INSTALL PLUGIN rpl_semi_sync_slave
SONAME 'semisync_slave.so';Slave
© 2017 Percona40
Semi-Sync Replication Options
Master: rpl_semi_sync_master_enabled
Master: rpl_semi_sync_master_timeout
Master: rpl_semi_sync_master_wait_point=AFTER_SYNC|AFTER_COMMIT
Master: rpl_semi_sync_master_wait_for_slave_count
Slave: rpl_semi_sync_slave_enabled
© 2017 Percona41
Where Do We Write ?
Single Master Multi-Master
© 2017 Percona42
Single Master
All writes go to the single node
One way replication stream
Simple
No Conflicts
Replication aware Application or Connector
© 2017 Percona43
Active-Passive Master-Master
Replication is bi-directional
Only one Master can be written at the same time
Essentially Single Master if configured well
Minefield if not configured well
© 2017 Percona44
Multiple Active Masters
Can write to multiple masters
Replication is multi-directional
More Complicated
Possibility of Conflicts
© 2017 Percona45
MySQL Replication Multi-Master
Recipe for problems with Async/SemiSync Replication
Design Application to Avoid Conflicts
MySQL Group Replication
PXC/Galera Based Solutions
© 2017 Percona46
Multi-Master with MySQL Replication
auto_increment_offset
auto_increment_increment
slave_exec_mode=idempotent
© 2017 Percona47
Replication Position information
Master_info_repository=FILE|TABLE
Relay_log_info_repository=FILE|TABLE
Sync_master_info
Sync_relay_log_info
Relay_log_recovery
Less Problem with GTID Replication
© 2017 Percona48
Master Slave Replication ?
Most Commonly Used Variant
MySQL Group Replication is other Option
Percona XtraDB Cluster/Galera - Community Alternative
© 2017 Percona49
MySQL Group Replication Overview
Inspired by Galera Ideas (and Success)
Built on top of standard MySQL Replication
Available as Plugin for MySQL 5.7
Considered GA but really very early product
© 2017 Percona50
Difference from MySQL Replication
No Master/Slave but Group Membership
Transactions are committed when they are certified by majority of nodes (Paxos)
Does not accept writes if there is no Quorum
Flow Control to prevent unlimited replication lag
Nodes encountering inconsistency leave the cluster
Conflict Detection and Resolution (or avoidance)
Simple FailOver
© 2017 Percona51
MySQL Group Replication - Writes
By Default configures itself as Single
Primary
Can configure to allow writes to any
node
© 2017 Percona52
MySQL Group Replication Limitations
No Automated node Provisioning
Manual Recovery of failed nodes
No way (yet) to ensure node does not read stale data
© 2017 Percona53
MySQL Innodb Cluster
© 2017 Percona54
Failover and Traffic Management
How do we Re-Configure Replication if Master Crashes ?
How do we Makes Sure Application uses Right Master ?
How do we get Slave used by Application ?
© 2017 Percona55
Making MySQL Replication Better
MHA
MySQL Failover
Orchestrator
© 2017 Percona56
Orchestrator Screenshot
© 2017 Percona57
Traffic Management Solutions
• Not Immediate, Does not handle existing connectionsDNS
• TCP/IP Port level. Does not understand MySQL ProtocolHAProxy
• Like HA Proxy in the CloudElastic Load Balancer (etc)
• Currently very basicMySQL Router
• Proprietary SolutionsMaxScale, ScaleArc
• MySQL Protocol Aware 100% Open Source Proxy Solution for MySQLProxySQL
© 2017 Percona58
We integrate ProxySQL with PXC
High Availability
Multiplexing (Connection Pooling)
Caching
Read/write Splitting
Easy Configuration with proxysql-admin
Can run in dedicated writer and load balanced mode
© 2017 Percona59
Dedicated shared ProxySQL 5
9
application server 1 application server 2 application server 3
PXC node 1 PXC node 2 PXC node 3
ProxySQL
© 2017 Percona60
ProxySQL on application side
application server 1 application server 2 application server 3
PXC node 1 PXC node 2 PXC node 3
6
0
ProxySQL ProxySQL ProxySQL
© 2017 Percona61
ProxySQL at PMM
© 2017 Percona62
SAVE THE DATE!
CALL FOR PAPERS OPENING SOON!
www.perconalive.com
April 23-25, 2018
Santa Clara Convention Center
© 2017 Percona63
DATABASE PERFORMANCE
MATTERS
Database Performance MattersDatabase Performance MattersDatabase Performance MattersDatabase Performance MattersDatabase Performance Matters

More Related Content

What's hot

Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Ontico
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on NetscalerMark Hillick
 
MongoDB Engines: Demystified
MongoDB Engines: DemystifiedMongoDB Engines: Demystified
MongoDB Engines: DemystifiedSveta Smirnova
 
Massively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHPMassively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHPDemin Yin
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Ontico
 
PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)
PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)
PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)Ontico
 
My Sql Performance In A Cloud
My Sql Performance In A CloudMy Sql Performance In A Cloud
My Sql Performance In A CloudSky Jian
 
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...Ontico
 
Rihards Olups - Zabbix 3.0: Excited for new features?
Rihards Olups -  Zabbix 3.0: Excited for new features?Rihards Olups -  Zabbix 3.0: Excited for new features?
Rihards Olups - Zabbix 3.0: Excited for new features?Zabbix
 
London devops logging
London devops loggingLondon devops logging
London devops loggingTomas Doran
 
Logical Replication in PostgreSQL - FLOSSUK 2016
Logical Replication in PostgreSQL - FLOSSUK 2016Logical Replication in PostgreSQL - FLOSSUK 2016
Logical Replication in PostgreSQL - FLOSSUK 2016Petr Jelinek
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Harish S
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with NginxMarian Marinov
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksCommand Prompt., Inc
 
Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019Katie Sylor-Miller
 
Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Sameer Kumar
 
PostgreSQL Replication in 10 Minutes - SCALE
PostgreSQL Replication in 10  Minutes - SCALEPostgreSQL Replication in 10  Minutes - SCALE
PostgreSQL Replication in 10 Minutes - SCALEPostgreSQL Experts, Inc.
 
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Ontico
 

What's hot (20)

Shootout at the AWS Corral
Shootout at the AWS CorralShootout at the AWS Corral
Shootout at the AWS Corral
 
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
Testing applications with traffic control in containers / Alban Crequy (Kinvolk)
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
MongoDB Engines: Demystified
MongoDB Engines: DemystifiedMongoDB Engines: Demystified
MongoDB Engines: Demystified
 
Massively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHPMassively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHP
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
 
PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)
PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)
PostgreSQL @Alibaba Cloud / Xianming Dou (Alibaba Cloud)
 
My Sql Performance In A Cloud
My Sql Performance In A CloudMy Sql Performance In A Cloud
My Sql Performance In A Cloud
 
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
 
Rihards Olups - Zabbix 3.0: Excited for new features?
Rihards Olups -  Zabbix 3.0: Excited for new features?Rihards Olups -  Zabbix 3.0: Excited for new features?
Rihards Olups - Zabbix 3.0: Excited for new features?
 
London devops logging
London devops loggingLondon devops logging
London devops logging
 
Logical Replication in PostgreSQL - FLOSSUK 2016
Logical Replication in PostgreSQL - FLOSSUK 2016Logical Replication in PostgreSQL - FLOSSUK 2016
Logical Replication in PostgreSQL - FLOSSUK 2016
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
 
Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 
Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019
 
Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer Connection Pooling in PostgreSQL using pgbouncer
Connection Pooling in PostgreSQL using pgbouncer
 
PostgreSQL Replication in 10 Minutes - SCALE
PostgreSQL Replication in 10  Minutes - SCALEPostgreSQL Replication in 10  Minutes - SCALE
PostgreSQL Replication in 10 Minutes - SCALE
 
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...
 

Similar to MySQL Replication — Advanced Features / Петр Зайцев (Percona)

Why are we excited about MySQL 8? / Петр Зайцев (Percona)
Why are we excited about MySQL 8? / Петр Зайцев (Percona)Why are we excited about MySQL 8? / Петр Зайцев (Percona)
Why are we excited about MySQL 8? / Петр Зайцев (Percona)Ontico
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoData Con LA
 
Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...
Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...
Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...Severalnines
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?Alkin Tezuysal
 
Webinar slides: How to automate and manage MongoDB & Percona Server for MongoDB
Webinar slides: How to automate and manage MongoDB & Percona Server for MongoDBWebinar slides: How to automate and manage MongoDB & Percona Server for MongoDB
Webinar slides: How to automate and manage MongoDB & Percona Server for MongoDBSeveralnines
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19Alkin Tezuysal
 
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim TkachenkoWebinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim TkachenkoAltinity Ltd
 
Deep Dive: What's New in NetBackup Appliances 3.1
Deep Dive: What's New in NetBackup Appliances 3.1Deep Dive: What's New in NetBackup Appliances 3.1
Deep Dive: What's New in NetBackup Appliances 3.1Veritas Technologies LLC
 
Apache Ignite - Distributed SQL Database Capabilities
Apache Ignite - Distributed SQL Database CapabilitiesApache Ignite - Distributed SQL Database Capabilities
Apache Ignite - Distributed SQL Database CapabilitiesDenis Magda
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharingIvan Ma
 
High Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationHigh Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationOSSCube
 
MySQL Alta Disponibilidade com Replicação
 MySQL Alta Disponibilidade com Replicação MySQL Alta Disponibilidade com Replicação
MySQL Alta Disponibilidade com ReplicaçãoMySQL Brasil
 
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...Severalnines
 
[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...
[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...
[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...Insight Technology, Inc.
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier 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
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceRevelation Technologies
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018Alkin Tezuysal
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionBen Mildren
 

Similar to MySQL Replication — Advanced Features / Петр Зайцев (Percona) (20)

Why are we excited about MySQL 8? / Петр Зайцев (Percona)
Why are we excited about MySQL 8? / Петр Зайцев (Percona)Why are we excited about MySQL 8? / Петр Зайцев (Percona)
Why are we excited about MySQL 8? / Петр Зайцев (Percona)
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
 
Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...
Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...
Webinar slides: How to deploy and manage HAProxy, MaxScale or ProxySQL with C...
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?
 
Webinar slides: How to automate and manage MongoDB & Percona Server for MongoDB
Webinar slides: How to automate and manage MongoDB & Percona Server for MongoDBWebinar slides: How to automate and manage MongoDB & Percona Server for MongoDB
Webinar slides: How to automate and manage MongoDB & Percona Server for MongoDB
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
 
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim TkachenkoWebinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
Webinar 2017. Supercharge your analytics with ClickHouse. Vadim Tkachenko
 
Deep Dive: What's New in NetBackup Appliances 3.1
Deep Dive: What's New in NetBackup Appliances 3.1Deep Dive: What's New in NetBackup Appliances 3.1
Deep Dive: What's New in NetBackup Appliances 3.1
 
Apache Ignite - Distributed SQL Database Capabilities
Apache Ignite - Distributed SQL Database CapabilitiesApache Ignite - Distributed SQL Database Capabilities
Apache Ignite - Distributed SQL Database Capabilities
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing
 
High Availability Using MySQL Group Replication
High Availability Using MySQL Group ReplicationHigh Availability Using MySQL Group Replication
High Availability Using MySQL Group Replication
 
MySQL Alta Disponibilidade com Replicação
 MySQL Alta Disponibilidade com Replicação MySQL Alta Disponibilidade com Replicação
MySQL Alta Disponibilidade com Replicação
 
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - MaxScale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
 
[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...
[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...
[db tech showcase OSS 2017] A11: How Percona is Different, and How We Support...
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
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
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
 
Mysql ecosystem in 2018
Mysql ecosystem in 2018Mysql ecosystem in 2018
Mysql ecosystem in 2018
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party Extinction
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Ontico
 
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
Как мы учились чинить самолеты в воздухе / Евгений Коломеец (Virtuozzo)
 
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
 

Recently uploaded

Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptbibisarnayak0
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate productionChinnuNinan
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 

Recently uploaded (20)

Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Autonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.pptAutonomous emergency braking system (aeb) ppt.ppt
Autonomous emergency braking system (aeb) ppt.ppt
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
Crushers to screens in aggregate production
Crushers to screens in aggregate productionCrushers to screens in aggregate production
Crushers to screens in aggregate production
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 

MySQL Replication — Advanced Features / Петр Зайцев (Percona)

  • 1. © 2017 Percona1 Peter Zaitsev, CEO Advanced MySQL Replication Features Highload++ Moscow, Russia November 8, 2017
  • 2. © 2017 Percona2 In This Presentation Few Words about Replication & Availability MySQL Replication Timeline Advanced MySQL Replication Options
  • 3. © 2017 Percona3 Few Words about Replication
  • 4. © 2017 Percona4 Replication Having Multiple Copies of the data, updated with changes
  • 5. © 2017 Percona5 Why Replication Availability Scalability Performance
  • 6. © 2017 Percona6 Availability Service Stays up when component fails
  • 7. © 2017 Percona7 Availability via Redundancy Have more than one system Works well for stateless systems Is not enough for databases
  • 8. © 2017 Percona8 Availability via Replication Redundant Computing Resource Paired with Replicated Data
  • 9. © 2017 Percona9 Component Failure • Total Crash • Process Crash • Stall/Unresponsive • Consistency Issues Node Failures • Single Network Port Failures • Network Device Failures • Partitions • Complicated Failures Network Failures
  • 10. © 2017 Percona10 Scalability with Replication Scales Reads Does not Scale Writes very well Data Distribution is needed for scaling writes
  • 11. © 2017 Percona11 Performance Reduce response time by maintaining replica closer to user Better Performance Through avoiding resource saturation
  • 12. © 2017 Percona12 Replication in MySQL A brief Time Line
  • 13. © 2017 Percona13 MySQL Replication MySQL 3.23 • Initial Statement Replication Implemented MySQL 4.0 • Split IO Thread and SQL Thread MySQL 5.1 • Row and Mixed replication modes supported MySQL 5.6 • Per Database Parallel Replication • GTID Support MySQL 5.7 • General Parallel Replication • Multi-Source Replication • Group Replication / MySQL Innodb Cluster
  • 14. © 2017 Percona14 Galera Based Replication Technology Similar to MySQL Group Replication but more mature Available for MySQL, Percona, MariaDB Alternative Track
  • 15. © 2017 Percona15 Replication in MariaDB Is not 100% Same as in MySQL Different GTID Implementation Different parallel replication Not instrumented in the same way Number of features became available in MariaDB Earlier Not covering MariaDB in this Presentation
  • 17. © 2017 Percona17 What is Basic Replication ? Statement Replication Replication of the Full Database Using Binary Log Position Single Tier Topology Single Thread Asynchronous Write to Single Master Keep Slave Meta-Data Data in Files Master-Slave- Replication Manual Failover & Traffic Management
  • 18. © 2017 Percona18 Statement vs Row Replication •STATEMENT •ROW •MIXED Configured on the Master as binlog_format
  • 19. © 2017 Percona19 How Rows are Logged ? •Full •Minimal •Noblob binlog_row_image
  • 20. © 2017 Percona20 Missing Seeing Queries ? Also Log Query For informational Purposes binlog_rows_query_log_events Off by Default
  • 21. © 2017 Percona21 Replication of Full Database Full Replication Most Simple for Troubleshooting and Recovery Can replicate only portions of the database Can add additional data to the slaves
  • 22. © 2017 Percona22 Replication Filering • Binlog_do_db • Binlog_ignore_db On the Master (writing binary log) • Replicate_do_db • Replicate_ignore_db • Replicate_wild_do_table • Replicate_wild_ignore_table On the Slave
  • 23. © 2017 Percona23 Position Identification By Binary Log Position •File: mysql- bin.000003 •Position: 73 By GTID •3E11FA47-71CA- 11E1-9E33- C80AA9429562:23
  • 24. © 2017 Percona24 What is in GTID ? GTID = source_id:transaction_id Source_id is Server_uuid of Originating Server Always Preserved on the Slaves Track which transactions executed mysql.gtid_executed table (5.7) + binlog
  • 25. © 2017 Percona25 GTID Benefits and Drawbacks Automatic Position Discovery Easy Slave Promotion Discovery of Missed Transactions Pain in the Ass with Manual Troubleshooting
  • 26. © 2017 Percona26 Replication Topologies Single Tier Master-Slave Bi-Directional Tree Ring Directed Graph
  • 27. © 2017 Percona27 Options For Complicated Topologies •Store copy of applied statements in local binlog •Disabled by default until MySQL 8 Log_slave_updates
  • 28. © 2017 Percona28 Parallel Replication Single Thread Replication is typical limiting factor Parallel Replication for multiple Databases since 5.6 Parallel Replication for same table since 5.7
  • 29. © 2017 Percona29 Managing Parallel Replication slave-parallel-workers slave-parallel-type=DATABASE|LOGICAL_CLOCK slave_preserve_commit_order
  • 30. © 2017 Percona30 Asynchronous Replication Default in MySQL There is no guaranty of Timeliness “Replication Lag” can be days… and weeks Support for Semi-Synchronous Replication Support for Virtually Synchronous Group Replication
  • 31. © 2017 Percona31 Sync or Async Synchronous Replication Asynchronous Replication
  • 32. © 2017 Percona32 Synchronous Replication Data “Persisted” on Target Server Guarantees No Data Loss if Source server fails Conflicts can be easily prevented Expensive
  • 33. © 2017 Percona33 Persistence in terms of Durability – In case of original node loss, can date be recovered? Visibility – Is data visible by reads going to secondary node Both Required for truly synchronous replication
  • 34. © 2017 Percona34 What “Persisted” means ? •Assumes power loss of both servers does not happen In Memory •Handles Total Loss of Master and Power loss on the SlaveOn Disk
  • 35. © 2017 Percona35 Asynchronous Replication Anything not Synchronous Many different variants exist!
  • 36. © 2017 Percona36 Asynchronous Properties •What happens with Persistence ? •What happens with Visibility ? Commit on Master
  • 37. © 2017 Percona37 Persistence Uncommitted Data on Master Committed Data on Master Data in Slave’s memory Data on Slave’s Disk (log)
  • 38. © 2017 Percona38 Visibility •Phantom Reads Results be visible by concurrent sessions before acknowledgement •No Phantom Reads Results can’t be visible by concurrent sessions
  • 39. © 2017 Percona39 Semi-Synchronous Replication in MySQL • Both on Master and SlavePlugin Required • INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';Master • INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';Slave
  • 40. © 2017 Percona40 Semi-Sync Replication Options Master: rpl_semi_sync_master_enabled Master: rpl_semi_sync_master_timeout Master: rpl_semi_sync_master_wait_point=AFTER_SYNC|AFTER_COMMIT Master: rpl_semi_sync_master_wait_for_slave_count Slave: rpl_semi_sync_slave_enabled
  • 41. © 2017 Percona41 Where Do We Write ? Single Master Multi-Master
  • 42. © 2017 Percona42 Single Master All writes go to the single node One way replication stream Simple No Conflicts Replication aware Application or Connector
  • 43. © 2017 Percona43 Active-Passive Master-Master Replication is bi-directional Only one Master can be written at the same time Essentially Single Master if configured well Minefield if not configured well
  • 44. © 2017 Percona44 Multiple Active Masters Can write to multiple masters Replication is multi-directional More Complicated Possibility of Conflicts
  • 45. © 2017 Percona45 MySQL Replication Multi-Master Recipe for problems with Async/SemiSync Replication Design Application to Avoid Conflicts MySQL Group Replication PXC/Galera Based Solutions
  • 46. © 2017 Percona46 Multi-Master with MySQL Replication auto_increment_offset auto_increment_increment slave_exec_mode=idempotent
  • 47. © 2017 Percona47 Replication Position information Master_info_repository=FILE|TABLE Relay_log_info_repository=FILE|TABLE Sync_master_info Sync_relay_log_info Relay_log_recovery Less Problem with GTID Replication
  • 48. © 2017 Percona48 Master Slave Replication ? Most Commonly Used Variant MySQL Group Replication is other Option Percona XtraDB Cluster/Galera - Community Alternative
  • 49. © 2017 Percona49 MySQL Group Replication Overview Inspired by Galera Ideas (and Success) Built on top of standard MySQL Replication Available as Plugin for MySQL 5.7 Considered GA but really very early product
  • 50. © 2017 Percona50 Difference from MySQL Replication No Master/Slave but Group Membership Transactions are committed when they are certified by majority of nodes (Paxos) Does not accept writes if there is no Quorum Flow Control to prevent unlimited replication lag Nodes encountering inconsistency leave the cluster Conflict Detection and Resolution (or avoidance) Simple FailOver
  • 51. © 2017 Percona51 MySQL Group Replication - Writes By Default configures itself as Single Primary Can configure to allow writes to any node
  • 52. © 2017 Percona52 MySQL Group Replication Limitations No Automated node Provisioning Manual Recovery of failed nodes No way (yet) to ensure node does not read stale data
  • 53. © 2017 Percona53 MySQL Innodb Cluster
  • 54. © 2017 Percona54 Failover and Traffic Management How do we Re-Configure Replication if Master Crashes ? How do we Makes Sure Application uses Right Master ? How do we get Slave used by Application ?
  • 55. © 2017 Percona55 Making MySQL Replication Better MHA MySQL Failover Orchestrator
  • 57. © 2017 Percona57 Traffic Management Solutions • Not Immediate, Does not handle existing connectionsDNS • TCP/IP Port level. Does not understand MySQL ProtocolHAProxy • Like HA Proxy in the CloudElastic Load Balancer (etc) • Currently very basicMySQL Router • Proprietary SolutionsMaxScale, ScaleArc • MySQL Protocol Aware 100% Open Source Proxy Solution for MySQLProxySQL
  • 58. © 2017 Percona58 We integrate ProxySQL with PXC High Availability Multiplexing (Connection Pooling) Caching Read/write Splitting Easy Configuration with proxysql-admin Can run in dedicated writer and load balanced mode
  • 59. © 2017 Percona59 Dedicated shared ProxySQL 5 9 application server 1 application server 2 application server 3 PXC node 1 PXC node 2 PXC node 3 ProxySQL
  • 60. © 2017 Percona60 ProxySQL on application side application server 1 application server 2 application server 3 PXC node 1 PXC node 2 PXC node 3 6 0 ProxySQL ProxySQL ProxySQL
  • 62. © 2017 Percona62 SAVE THE DATE! CALL FOR PAPERS OPENING SOON! www.perconalive.com April 23-25, 2018 Santa Clara Convention Center
  • 64. DATABASE PERFORMANCE MATTERS Database Performance MattersDatabase Performance MattersDatabase Performance MattersDatabase Performance MattersDatabase Performance Matters