SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Jay Janssen
Senior MySQL Consultant
June 6th, 2012
Migrating to XtraDB Cluster
Wednesday, June 6, 12
www.percona.com
Overview of Xtradb Cluster
‣Percona Server 5.5 + Galera
Codership sync repl addon
‣“Cluster of MySQL nodes”
‣Have all the data, all the time
‣Readable and writeable
‣Established cluster:
‣Synchronizes new nodes
‣Handles node failures
‣Handles Node resync
‣Split brain protection (quorum)
MySQL
MySQL MySQL
Synchronous
Replication
Clients
read/write
read/write
Clients
read/write read/write
Wednesday, June 6, 12
www.percona.com
XtraDB Cluster FAQ
‣Standard MySQL replication
‣into or out of the cluster
‣Write scalable to a point
‣all writes still hit all nodes
‣LAN/WAN architectures
‣write latency ~1 RTT
‣MyISAM experimental
‣big list of caveats
‣designed and built for Innodb
MySQL
MySQL MySQL
Synchronous
Replication
Master
slaves to
cluster
Slave
slaves from
cluster
Colo 3
Colo 2Colo 1
MySQL
MySQL MySQL
Synchronous
Replication
Wednesday, June 6, 12
www.percona.com
What you really want to know
‣Is it production worthy?
‣Several production users of Galera
‣Looking for more early adopters to gain experience
‣The architecture is sound, code is good
‣Galera is several years old and at version 2.0
‣What are the limitations of using Galera?
‣http://www.codership.com/wiki/doku.php?
id=limitations
Wednesday, June 6, 12
Configuring Xtradb Cluster
Wednesday, June 6, 12
www.percona.com
Cluster Replication Config
‣Configured via wsrep_provider_options
‣Can be a separate network from mysqld
‣Default cluster replication port is 4567 (tcp)
‣Supports multicast
‣Supports SSL
‣Starting node needs to know a single node’s ip
that is up and running
Wednesday, June 6, 12
www.percona.com
Essential Galera settings
‣[mysqld_safe]
‣wsrep_urls - possible urls to existing cluster nodes
‣[mysqld]
‣wsrep_provider = /usr/lib64/libgalera_smm.so
‣wsrep_cluster_name - Identify the cluster
‣wsrep_node_name - Identify this node
‣wsrep_sst_method - How to synchronize nodes
‣binlog_format = ROW
‣innodb_autoinc_lock_mode=2
‣innodb_locks_unsafe_for_binlog=1 - performance
Wednesday, June 6, 12
www.percona.com
Other Galera Settings
‣[mysqld]
‣wsrep_provider_options - cluster comm opts
‣wsrep_provider_options="gcache.size=<gcache size>"
‣http://www.codership.com/wiki/doku.php?id=galera_parameters
‣wsrep_node_address=<this node IP>
‣wsrep_slave_threads - apply writesets in parallel
‣wsrep_cluster_address - redundant with wsrep_urls
‣wsrep_notify_cmd - run on cluster state changes
‣wsrep_on - equivalent to SQL_LOG_BIN
‣http://www.codership.com/wiki/doku.php?id=mysql_options_0.8
Wednesday, June 6, 12
www.percona.com
Possible Performance Tuning
‣Single node durability can be disabled (?)
‣innodb_flush_log_at_trx_commit=2|0
‣safe as long as all cluster nodes don’t go offline at
once
‣Other possibilities
‣log-bin, sync_binlog, innodb_support_xa = OFF
‣innodb_doublewrite = OFF?
Wednesday, June 6, 12
www.percona.com
Example configuration
1. [mysqld_safe]
2. wsrep_urls=gcomm://192.168.70.2:4567, 
3. gcomm://192.168.70.3:4567, 
4. gcomm://192.168.70.4:4567, 
5. gcomm:// # Only use this before the cluster is formed
7. [mysqld]
8. datadir=/var/lib/mysql
9. binlog_format=ROW
11. wsrep_cluster_name=trimethylxanthine
12. wsrep_node_name=percona1
13. wsrep_node_address=192.168.70.2
14. wsrep_provider=/usr/lib64/libgalera_smm.so
16. wsrep_sst_method=xtrabackup
18. wsrep_slave_threads=2
20. innodb_locks_unsafe_for_binlog=1
21. innodb_autoinc_lock_mode=2
22. innodb_buffer_pool_size=128M
23. innodb_log_file_size=64M
Wednesday, June 6, 12
Converting Standalone MySQL to
Xtradb Cluster
Wednesday, June 6, 12
www.percona.com
First a word about SST
‣State Snapshot Transfer
‣full data copy to a needy node
‣methods supported:
‣rsync / rsync_wan, mysqldump,
xtrabackup, skip. (pluggable)
‣Donor is chosen as SST source
‣SST donation may block donor
‣Dedicated donor possible
‣New cluster nodes get SST
‣Node inconsistencies trigger SST
‣Brief outages need not SST (IST)
MySQL
MySQL
2. Donor
Node
Elected
Synchronous
Replication
Blank
Node
1. Joins cluster 3. SST transfer to
sync new node
Wednesday, June 6, 12
www.percona.com
Method 1 - Single Node
‣Migrating a single server:
‣stop MySQL
‣replace the packages
‣add essential Galera settings
‣start MySQL
‣A stateless, peerless node will form its own cluster
‣iff an empty cluster address is given (gcomm://)
‣That node is the baseline data for the cluster
‣Easiest from Percona Server 5.5
Wednesday, June 6, 12
www.percona.com
Method 2 - Blanket changeover
‣All at once (with downtime):
‣Stop all writes, stop all nodes
after replication is synchronized
‣skip-slave-start / RESET SLAVE
‣Start first node - initial cluster
‣Start the others with
wsrep_sst_mode=skip
‣The slaves will join the cluster,
skipping SST
‣Change wsrep_sst_mode != skip
Master
Slave Slave
MySQL
MySQL MySQL
Synchronous
Replication
becomes
Wednesday, June 6, 12
www.percona.com
Method 3 - Slave cluster
‣No downtime
‣Form new cluster from one slave
‣Node replicates from old master
‣log-slave-updates on this node
‣Test like any other slave
‣Move more slave nodes to
cluster
‣Cut writes over to the cluster
‣Absorb master into cluster.
‣Non-skip SST
Master
Slave MySQL
MySQL MySQL
Synchronous
Replication
Wednesday, June 6, 12
Operational Considerations
Wednesday, June 6, 12
www.percona.com
Monitoring
‣SHOW GLOBAL STATUS like ‘wsrep%’;
‣Cluster integrity - same across all nodes
‣wsrep_cluster_conf_id - configuration version
‣wsrep_cluster_size - number of active nodes
‣wsrep_cluster_status - should be Primary
‣Node Status
‣wsrep_ready - indicator that the node is healthy
‣wsrep_local_state_comment - status message
‣wsrep_flow_control_paused - replication lag
‣wsrep_local_send_q_avg - possible network bottleneck
‣http://www.codership.com/wiki/doku.php?id=monitoring
Wednesday, June 6, 12
www.percona.com
Realtime Wsrep status
1. $ ./myq_status -t 1 -h 192.168.70.4 -u test2 -p test2 wsrep
3. Wsrep (Galera/Xtradb Cluster)                                   Replicated   Received
4.     time     state conf  rdy  ctd  cnt paus dist sent rcvq sndq wops wsize rops rsize   
5. 12:40:24     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
6. 12:40:25     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
7. 12:40:26     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  2.0 382.0
8. 12:40:28     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  0.5 95.50
9. 12:40:29     Donor   36   ON   ON    3    0  1.0    0    1    0    0     0    0     0
10. 12:40:30     Donor   36   ON   ON    3    0  1.0    0    2    0    0     0    0     0
11. 12:40:31     Donor   36   ON   ON    3    0  1.0    0    3    0    0     0    0     0
12. 12:40:32     Donor   36   ON   ON    3    0  1.0    0    4    0    0     0    0     0
13. 12:40:33     Donor   36   ON   ON    3    0  1.0    0    5    0    0     0    0     0
14. 12:40:34     Donor   36   ON   ON    3    0  1.0    0    6    0    0     0    0     0
15. 12:40:35     Donor   36   ON   ON    3    0  1.0    0    7    0    0     0    0     0
16. 12:40:36     Donor   36   ON   ON    3    0  1.0    0    8    0    0     0    0     0
17. 12:40:37     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  9.0 1.68K
18. 12:40:38     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
19. 12:40:39    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  3.0 207.0   
20. 12:40:40    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
21. 12:40:41    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
22. 12:40:42    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
23. 12:40:43    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
24. 12:40:44    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0
26. https://github.com/jayjanssen/myq_gadgets
Wednesday, June 6, 12
www.percona.com
Maintenance
‣Rolling package updates
‣Schema changes
‣potential for blocking the whole cluster
‣Galera supports a rolling schema upgrade feature
‣http://www.codership.com/wiki/doku.php?
id=rolling_schema_upgrade
‣Isolates DDL to individual cluster nodes
‣Won’t work if replication events become incompatible
‣pt-online-schema-change
Wednesday, June 6, 12
www.percona.com
Architecture
‣How many nodes should I have?
‣>= 3 nodes for quorum purposes
‣50% is not a quorum
‣garbd - Galera Arbitrator Daemon
‣Contributes as a voting node for
quorum
‣Does not store data, but does replicate
‣What gear should I get?
‣Writes as fast as your slowest node
‣Standard MySQL + Innodb choices
‣garbd could be on a cloud server
AWS EC2
Colo 2Colo 1
Garbd
MySQL MySQL
Wednesday, June 6, 12
Application / Cluster Interactions
Wednesday, June 6, 12
www.percona.com
How Synchronous Writes Work
‣Source node - pessimistic
locking
‣Innodb transaction locking
‣Cluster repl - optimistic locking
‣Before source returns commit:
‣certify trx on all other nodes
‣Nodes reject on locking conflicts
‣via locally running transactions
‣client gets rollback deadlock error
‣Commit succeeds if no conflicts
on any node
Trx
Source
Accepted
Certify
Fails
here
Client
Client
UPDATE t SET col1='xxx'
WHERE id=12345
UPDATE t SET col1='yyy'
WHERE id=12345
Certify:
UPDATE t SET col1='xxx'
WHERE id=12345
Wednesday, June 6, 12
www.percona.com
Why does the Application care?
‣Workload dependent!
‣Write to all nodes simultaneously and evenly:
‣Increase of deadlock errors on data hot spots
‣Can be avoided by
‣Writing to only one node at a time
‣all pessimistic locking happens on one node
‣Data subsets written only on a single node
‣e.g., different databases, tables, rows, etc.
‣different nodes can handle writes for different datasets
‣pessimistic locking for that subset only on one node
Wednesday, June 6, 12
www.percona.com
Application to Cluster Connects
‣For writes:
‣Best practice: (any) single node
‣For Reads:
‣All nodes load-balanced
‣Can be hashed to hit hot caches
‣Geo-affinity for WAN setups
‣Never worry about replication delay again!
‣Be sure to monitor that nodes are functioning
members of the cluster!
Wednesday, June 6, 12
www.percona.com
Load balancing and Node status
‣Health check:
‣TCP 3306
‣SHOW GLOBAL STATUS
‣wsrep_ready = ON
‣wsrep_local_state_comment !~ m/
Donor/?
‣Maintain a separate rotations:
‣Reads
‣RR or Least Connected all available
‣Writes
‣Single node with backups on failure
Donor
Ready Ready
LB LB
Clients
read/write
read
read/write
read/write
No traffic
during
donation
Wednesday, June 6, 12
www.percona.com
Load Balancing Technologies
‣glbd - Galera Load Balancer
‣similar to Pen, can utilize multiple cores
‣No advanced health checking (tcp-only)
‣http://www.codership.com/products/galera-load-
balancer
‣HAProxy
‣httpchk to monitor node status
‣http://www.percona.com/doc/percona-xtradb-cluster/
haproxy.html
Wednesday, June 6, 12
www.percona.com
HAProxy Sample config
1. listen cluster-writes 0.0.0.0:4306
2. mode tcp
3. balance leastconn
4. option httpchk
6. server percona1 192.168.70.2:3306 check port 9200
7. server percona2 192.168.70.3:3306 check port 9200 backup
8. server percona3 192.168.70.4:3306 check port 9200 backup
10. listen cluster-reads 0.0.0.0:5306
11. mode tcp
12. balance leastconn
13. option httpchk
15. server percona1 192.168.70.2:3306 check port 9200
16. server percona2 192.168.70.3:3306 check port 9200
17. server percona3 192.168.70.4:3306 check port 9200
Wednesday, June 6, 12
www.percona.com
Resources
‣XtraDB Cluster homepage and documentation:
‣http://www.percona.com/software/percona-xtradb-
cluster/
‣Galera Documentation:
‣http://www.codership.com/wiki/doku.php
‣Virtualbox 3 node test cluster:
‣https://github.com/jayjanssen/percona-cluster
‣http://www.mysqlperformanceblog.com/2012/04/12/
testing-percona-xtradb-cluster-with-vagrant/
‣http://www.mysqlperformanceblog.com/2012/01/12/
create-3-nodes-xtradb-cluster-in-3-minutes/
Wednesday, June 6, 12
Join us at Percona Live NYC - Oct 1-2 2012
http://www.percona.com/live/nyc-2012/
Jay Janssen
@jayjanssen
Wednesday, June 6, 12

Mais conteúdo relacionado

Mais procurados

Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to GaleraHenrik Ingo
 
Zero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesZero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesSeveralnines
 
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...Severalnines
 
Do more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloudDo more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloudphilip_stoev
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Sakari Keskitalo
 
Webinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera ClusterWebinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera ClusterSeveralnines
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityOSSCube
 
MySQL HA with PaceMaker
MySQL HA with  PaceMakerMySQL HA with  PaceMaker
MySQL HA with PaceMakerKris Buytaert
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB ClusterKenny Gryp
 
Galera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesGalera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesSeveralnines
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationKenny Gryp
 
Plny12 galera-cluster-best-practices
Plny12 galera-cluster-best-practicesPlny12 galera-cluster-best-practices
Plny12 galera-cluster-best-practicesDimas Prasetyo
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteKenny Gryp
 
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - SlidesSeveralnines
 

Mais procurados (20)

Introducing Galera 3.0
Introducing Galera 3.0Introducing Galera 3.0
Introducing Galera 3.0
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to Galera
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 
Zero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesZero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best Practices
 
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
Repair & Recovery for your MySQL, MariaDB & MongoDB / TokuMX Clusters - Webin...
 
Do more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloudDo more with Galera Cluster in your OpenStack cloud
Do more with Galera Cluster in your OpenStack cloud
 
Taking Full Advantage of Galera Multi Master Cluster
Taking Full Advantage of Galera Multi Master ClusterTaking Full Advantage of Galera Multi Master Cluster
Taking Full Advantage of Galera Multi Master Cluster
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016
 
Webinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera ClusterWebinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera Cluster
 
Galera webinar migration to galera cluster from my sql async replication
Galera webinar migration to galera cluster from my sql async replicationGalera webinar migration to galera cluster from my sql async replication
Galera webinar migration to galera cluster from my sql async replication
 
Galera Cluster 4 for MySQL 8 Release Webinar slides
Galera Cluster 4 for MySQL 8 Release Webinar slidesGalera Cluster 4 for MySQL 8 Release Webinar slides
Galera Cluster 4 for MySQL 8 Release Webinar slides
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High Availability
 
MySQL HA with PaceMaker
MySQL HA with  PaceMakerMySQL HA with  PaceMaker
MySQL HA with PaceMaker
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB Cluster
 
Oss4b - pxc introduction
Oss4b   - pxc introductionOss4b   - pxc introduction
Oss4b - pxc introduction
 
Galera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction SlidesGalera cluster for MySQL - Introduction Slides
Galera cluster for MySQL - Introduction Slides
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
Plny12 galera-cluster-best-practices
Plny12 galera-cluster-best-practicesPlny12 galera-cluster-best-practices
Plny12 galera-cluster-best-practices
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
9 DevOps Tips for Going in Production with Galera Cluster for MySQL - Slides
 

Semelhante a 合并到 XtraDB 存储引擎集群

2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxyBo-Yi Wu
 
Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com confluent
 
Percona XtraDB 集群文档
Percona XtraDB 集群文档Percona XtraDB 集群文档
Percona XtraDB 集群文档YUCHENG HU
 
ZFS Workshop
ZFS WorkshopZFS Workshop
ZFS WorkshopAPNIC
 
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...Mydbops
 
Upgrade 11gR2 to 12cR1 Clusterware
Upgrade 11gR2 to 12cR1 ClusterwareUpgrade 11gR2 to 12cR1 Clusterware
Upgrade 11gR2 to 12cR1 ClusterwareNikhil Kumar
 
C* Summit 2013: Cassandra at Instagram by Rick Branson
C* Summit 2013: Cassandra at Instagram by Rick BransonC* Summit 2013: Cassandra at Instagram by Rick Branson
C* Summit 2013: Cassandra at Instagram by Rick BransonDataStax Academy
 
SUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-Device
SUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-DeviceSUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-Device
SUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-DeviceSUSE
 
Corpus collapsum: Partition tolerance of Galera in a noisy high load environment
Corpus collapsum: Partition tolerance of Galera in a noisy high load environmentCorpus collapsum: Partition tolerance of Galera in a noisy high load environment
Corpus collapsum: Partition tolerance of Galera in a noisy high load environmentRaghavendra Prabhu
 
RAC+ASM: Stories to Share
RAC+ASM: Stories to ShareRAC+ASM: Stories to Share
RAC+ASM: Stories to Sharekutrovsky
 
C* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt Kennedy
C* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt KennedyC* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt Kennedy
C* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt KennedyDataStax Academy
 
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016Frederic Descamps
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Corporation
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLFromDual GmbH
 
C* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra Optimization
C* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra OptimizationC* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra Optimization
C* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra OptimizationDataStax Academy
 
OakTable World Sep14 clonedb
OakTable World Sep14 clonedb OakTable World Sep14 clonedb
OakTable World Sep14 clonedb Connor McDonald
 
Fatkulin presentation
Fatkulin presentationFatkulin presentation
Fatkulin presentationEnkitec
 

Semelhante a 合并到 XtraDB 存储引擎集群 (20)

2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
2014 OSDC Talk: Introduction to Percona XtraDB Cluster and HAProxy
 
Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com
 
Percona XtraDB 集群文档
Percona XtraDB 集群文档Percona XtraDB 集群文档
Percona XtraDB 集群文档
 
Drbd
DrbdDrbd
Drbd
 
MySQL Monitoring 101
MySQL Monitoring 101MySQL Monitoring 101
MySQL Monitoring 101
 
ZFS Workshop
ZFS WorkshopZFS Workshop
ZFS Workshop
 
Replication skeptic
Replication skepticReplication skeptic
Replication skeptic
 
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
 
Upgrade 11gR2 to 12cR1 Clusterware
Upgrade 11gR2 to 12cR1 ClusterwareUpgrade 11gR2 to 12cR1 Clusterware
Upgrade 11gR2 to 12cR1 Clusterware
 
C* Summit 2013: Cassandra at Instagram by Rick Branson
C* Summit 2013: Cassandra at Instagram by Rick BransonC* Summit 2013: Cassandra at Instagram by Rick Branson
C* Summit 2013: Cassandra at Instagram by Rick Branson
 
SUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-Device
SUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-DeviceSUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-Device
SUSE Expert Days Paris 2018 - SUSE HA Cluster Multi-Device
 
Corpus collapsum: Partition tolerance of Galera in a noisy high load environment
Corpus collapsum: Partition tolerance of Galera in a noisy high load environmentCorpus collapsum: Partition tolerance of Galera in a noisy high load environment
Corpus collapsum: Partition tolerance of Galera in a noisy high load environment
 
RAC+ASM: Stories to Share
RAC+ASM: Stories to ShareRAC+ASM: Stories to Share
RAC+ASM: Stories to Share
 
C* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt Kennedy
C* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt KennedyC* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt Kennedy
C* Summit 2013: No moving parts. Taking advantage of Pure Speed by Matt Kennedy
 
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQL
 
C* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra Optimization
C* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra OptimizationC* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra Optimization
C* Summit EU 2013: Practice Makes Perfect: Extreme Cassandra Optimization
 
OakTable World Sep14 clonedb
OakTable World Sep14 clonedb OakTable World Sep14 clonedb
OakTable World Sep14 clonedb
 
Fatkulin presentation
Fatkulin presentationFatkulin presentation
Fatkulin presentation
 

Mais de YUCHENG HU

Confluencewiki 使用空间
Confluencewiki 使用空间Confluencewiki 使用空间
Confluencewiki 使用空间YUCHENG HU
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件YUCHENG HU
 
Logback 介绍
Logback 介绍Logback 介绍
Logback 介绍YUCHENG HU
 
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南YUCHENG HU
 
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境YUCHENG HU
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件YUCHENG HU
 
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程YUCHENG HU
 
V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程YUCHENG HU
 
Confluence 回顾(retrospectives) 蓝图 cwikiossez
Confluence 回顾(retrospectives) 蓝图   cwikiossezConfluence 回顾(retrospectives) 蓝图   cwikiossez
Confluence 回顾(retrospectives) 蓝图 cwikiossezYUCHENG HU
 
Confluence 会议记录(meeting notes)蓝图 cwikiossez
Confluence 会议记录(meeting notes)蓝图   cwikiossezConfluence 会议记录(meeting notes)蓝图   cwikiossez
Confluence 会议记录(meeting notes)蓝图 cwikiossezYUCHENG HU
 
VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ YUCHENG HU
 
Confluence 使用一个模板新建一个页面 cwikiossez
Confluence 使用一个模板新建一个页面     cwikiossezConfluence 使用一个模板新建一个页面     cwikiossez
Confluence 使用一个模板新建一个页面 cwikiossezYUCHENG HU
 
Confluence 使用模板
Confluence 使用模板Confluence 使用模板
Confluence 使用模板YUCHENG HU
 
Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知YUCHENG HU
 
Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间YUCHENG HU
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06YUCHENG HU
 
My sql would you like transactions
My sql would you like transactionsMy sql would you like transactions
My sql would you like transactionsYUCHENG HU
 
MySQL 简要介绍
MySQL 简要介绍MySQL 简要介绍
MySQL 简要介绍YUCHENG HU
 

Mais de YUCHENG HU (20)

Confluencewiki 使用空间
Confluencewiki 使用空间Confluencewiki 使用空间
Confluencewiki 使用空间
 
Git
GitGit
Git
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
 
Logback 介绍
Logback 介绍Logback 介绍
Logback 介绍
 
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南
 
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
 
Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
 
V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程
 
Confluence 回顾(retrospectives) 蓝图 cwikiossez
Confluence 回顾(retrospectives) 蓝图   cwikiossezConfluence 回顾(retrospectives) 蓝图   cwikiossez
Confluence 回顾(retrospectives) 蓝图 cwikiossez
 
Confluence 会议记录(meeting notes)蓝图 cwikiossez
Confluence 会议记录(meeting notes)蓝图   cwikiossezConfluence 会议记录(meeting notes)蓝图   cwikiossez
Confluence 会议记录(meeting notes)蓝图 cwikiossez
 
VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ
 
Confluence 使用一个模板新建一个页面 cwikiossez
Confluence 使用一个模板新建一个页面     cwikiossezConfluence 使用一个模板新建一个页面     cwikiossez
Confluence 使用一个模板新建一个页面 cwikiossez
 
Confluence 使用模板
Confluence 使用模板Confluence 使用模板
Confluence 使用模板
 
Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知
 
Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06
 
My sql would you like transactions
My sql would you like transactionsMy sql would you like transactions
My sql would you like transactions
 
MySQL 指南
MySQL 指南MySQL 指南
MySQL 指南
 
MySQL 简要介绍
MySQL 简要介绍MySQL 简要介绍
MySQL 简要介绍
 

Último

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Último (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

合并到 XtraDB 存储引擎集群

  • 1. Jay Janssen Senior MySQL Consultant June 6th, 2012 Migrating to XtraDB Cluster Wednesday, June 6, 12
  • 2. www.percona.com Overview of Xtradb Cluster ‣Percona Server 5.5 + Galera Codership sync repl addon ‣“Cluster of MySQL nodes” ‣Have all the data, all the time ‣Readable and writeable ‣Established cluster: ‣Synchronizes new nodes ‣Handles node failures ‣Handles Node resync ‣Split brain protection (quorum) MySQL MySQL MySQL Synchronous Replication Clients read/write read/write Clients read/write read/write Wednesday, June 6, 12
  • 3. www.percona.com XtraDB Cluster FAQ ‣Standard MySQL replication ‣into or out of the cluster ‣Write scalable to a point ‣all writes still hit all nodes ‣LAN/WAN architectures ‣write latency ~1 RTT ‣MyISAM experimental ‣big list of caveats ‣designed and built for Innodb MySQL MySQL MySQL Synchronous Replication Master slaves to cluster Slave slaves from cluster Colo 3 Colo 2Colo 1 MySQL MySQL MySQL Synchronous Replication Wednesday, June 6, 12
  • 4. www.percona.com What you really want to know ‣Is it production worthy? ‣Several production users of Galera ‣Looking for more early adopters to gain experience ‣The architecture is sound, code is good ‣Galera is several years old and at version 2.0 ‣What are the limitations of using Galera? ‣http://www.codership.com/wiki/doku.php? id=limitations Wednesday, June 6, 12
  • 6. www.percona.com Cluster Replication Config ‣Configured via wsrep_provider_options ‣Can be a separate network from mysqld ‣Default cluster replication port is 4567 (tcp) ‣Supports multicast ‣Supports SSL ‣Starting node needs to know a single node’s ip that is up and running Wednesday, June 6, 12
  • 7. www.percona.com Essential Galera settings ‣[mysqld_safe] ‣wsrep_urls - possible urls to existing cluster nodes ‣[mysqld] ‣wsrep_provider = /usr/lib64/libgalera_smm.so ‣wsrep_cluster_name - Identify the cluster ‣wsrep_node_name - Identify this node ‣wsrep_sst_method - How to synchronize nodes ‣binlog_format = ROW ‣innodb_autoinc_lock_mode=2 ‣innodb_locks_unsafe_for_binlog=1 - performance Wednesday, June 6, 12
  • 8. www.percona.com Other Galera Settings ‣[mysqld] ‣wsrep_provider_options - cluster comm opts ‣wsrep_provider_options="gcache.size=<gcache size>" ‣http://www.codership.com/wiki/doku.php?id=galera_parameters ‣wsrep_node_address=<this node IP> ‣wsrep_slave_threads - apply writesets in parallel ‣wsrep_cluster_address - redundant with wsrep_urls ‣wsrep_notify_cmd - run on cluster state changes ‣wsrep_on - equivalent to SQL_LOG_BIN ‣http://www.codership.com/wiki/doku.php?id=mysql_options_0.8 Wednesday, June 6, 12
  • 9. www.percona.com Possible Performance Tuning ‣Single node durability can be disabled (?) ‣innodb_flush_log_at_trx_commit=2|0 ‣safe as long as all cluster nodes don’t go offline at once ‣Other possibilities ‣log-bin, sync_binlog, innodb_support_xa = OFF ‣innodb_doublewrite = OFF? Wednesday, June 6, 12
  • 10. www.percona.com Example configuration 1. [mysqld_safe] 2. wsrep_urls=gcomm://192.168.70.2:4567, 3. gcomm://192.168.70.3:4567, 4. gcomm://192.168.70.4:4567, 5. gcomm:// # Only use this before the cluster is formed 7. [mysqld] 8. datadir=/var/lib/mysql 9. binlog_format=ROW 11. wsrep_cluster_name=trimethylxanthine 12. wsrep_node_name=percona1 13. wsrep_node_address=192.168.70.2 14. wsrep_provider=/usr/lib64/libgalera_smm.so 16. wsrep_sst_method=xtrabackup 18. wsrep_slave_threads=2 20. innodb_locks_unsafe_for_binlog=1 21. innodb_autoinc_lock_mode=2 22. innodb_buffer_pool_size=128M 23. innodb_log_file_size=64M Wednesday, June 6, 12
  • 11. Converting Standalone MySQL to Xtradb Cluster Wednesday, June 6, 12
  • 12. www.percona.com First a word about SST ‣State Snapshot Transfer ‣full data copy to a needy node ‣methods supported: ‣rsync / rsync_wan, mysqldump, xtrabackup, skip. (pluggable) ‣Donor is chosen as SST source ‣SST donation may block donor ‣Dedicated donor possible ‣New cluster nodes get SST ‣Node inconsistencies trigger SST ‣Brief outages need not SST (IST) MySQL MySQL 2. Donor Node Elected Synchronous Replication Blank Node 1. Joins cluster 3. SST transfer to sync new node Wednesday, June 6, 12
  • 13. www.percona.com Method 1 - Single Node ‣Migrating a single server: ‣stop MySQL ‣replace the packages ‣add essential Galera settings ‣start MySQL ‣A stateless, peerless node will form its own cluster ‣iff an empty cluster address is given (gcomm://) ‣That node is the baseline data for the cluster ‣Easiest from Percona Server 5.5 Wednesday, June 6, 12
  • 14. www.percona.com Method 2 - Blanket changeover ‣All at once (with downtime): ‣Stop all writes, stop all nodes after replication is synchronized ‣skip-slave-start / RESET SLAVE ‣Start first node - initial cluster ‣Start the others with wsrep_sst_mode=skip ‣The slaves will join the cluster, skipping SST ‣Change wsrep_sst_mode != skip Master Slave Slave MySQL MySQL MySQL Synchronous Replication becomes Wednesday, June 6, 12
  • 15. www.percona.com Method 3 - Slave cluster ‣No downtime ‣Form new cluster from one slave ‣Node replicates from old master ‣log-slave-updates on this node ‣Test like any other slave ‣Move more slave nodes to cluster ‣Cut writes over to the cluster ‣Absorb master into cluster. ‣Non-skip SST Master Slave MySQL MySQL MySQL Synchronous Replication Wednesday, June 6, 12
  • 17. www.percona.com Monitoring ‣SHOW GLOBAL STATUS like ‘wsrep%’; ‣Cluster integrity - same across all nodes ‣wsrep_cluster_conf_id - configuration version ‣wsrep_cluster_size - number of active nodes ‣wsrep_cluster_status - should be Primary ‣Node Status ‣wsrep_ready - indicator that the node is healthy ‣wsrep_local_state_comment - status message ‣wsrep_flow_control_paused - replication lag ‣wsrep_local_send_q_avg - possible network bottleneck ‣http://www.codership.com/wiki/doku.php?id=monitoring Wednesday, June 6, 12
  • 18. www.percona.com Realtime Wsrep status 1. $ ./myq_status -t 1 -h 192.168.70.4 -u test2 -p test2 wsrep 3. Wsrep (Galera/Xtradb Cluster)                                   Replicated   Received 4.     time     state conf  rdy  ctd  cnt paus dist sent rcvq sndq wops wsize rops rsize    5. 12:40:24     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 6. 12:40:25     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 7. 12:40:26     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  2.0 382.0 8. 12:40:28     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  0.5 95.50 9. 12:40:29     Donor   36   ON   ON    3    0  1.0    0    1    0    0     0    0     0 10. 12:40:30     Donor   36   ON   ON    3    0  1.0    0    2    0    0     0    0     0 11. 12:40:31     Donor   36   ON   ON    3    0  1.0    0    3    0    0     0    0     0 12. 12:40:32     Donor   36   ON   ON    3    0  1.0    0    4    0    0     0    0     0 13. 12:40:33     Donor   36   ON   ON    3    0  1.0    0    5    0    0     0    0     0 14. 12:40:34     Donor   36   ON   ON    3    0  1.0    0    6    0    0     0    0     0 15. 12:40:35     Donor   36   ON   ON    3    0  1.0    0    7    0    0     0    0     0 16. 12:40:36     Donor   36   ON   ON    3    0  1.0    0    8    0    0     0    0     0 17. 12:40:37     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  9.0 1.68K 18. 12:40:38     Donor   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 19. 12:40:39    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  3.0 207.0    20. 12:40:40    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 21. 12:40:41    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 22. 12:40:42    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 23. 12:40:43    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 24. 12:40:44    Synced   36   ON   ON    3    0  1.0    0    0    0    0     0  1.0 191.0 26. https://github.com/jayjanssen/myq_gadgets Wednesday, June 6, 12
  • 19. www.percona.com Maintenance ‣Rolling package updates ‣Schema changes ‣potential for blocking the whole cluster ‣Galera supports a rolling schema upgrade feature ‣http://www.codership.com/wiki/doku.php? id=rolling_schema_upgrade ‣Isolates DDL to individual cluster nodes ‣Won’t work if replication events become incompatible ‣pt-online-schema-change Wednesday, June 6, 12
  • 20. www.percona.com Architecture ‣How many nodes should I have? ‣>= 3 nodes for quorum purposes ‣50% is not a quorum ‣garbd - Galera Arbitrator Daemon ‣Contributes as a voting node for quorum ‣Does not store data, but does replicate ‣What gear should I get? ‣Writes as fast as your slowest node ‣Standard MySQL + Innodb choices ‣garbd could be on a cloud server AWS EC2 Colo 2Colo 1 Garbd MySQL MySQL Wednesday, June 6, 12
  • 21. Application / Cluster Interactions Wednesday, June 6, 12
  • 22. www.percona.com How Synchronous Writes Work ‣Source node - pessimistic locking ‣Innodb transaction locking ‣Cluster repl - optimistic locking ‣Before source returns commit: ‣certify trx on all other nodes ‣Nodes reject on locking conflicts ‣via locally running transactions ‣client gets rollback deadlock error ‣Commit succeeds if no conflicts on any node Trx Source Accepted Certify Fails here Client Client UPDATE t SET col1='xxx' WHERE id=12345 UPDATE t SET col1='yyy' WHERE id=12345 Certify: UPDATE t SET col1='xxx' WHERE id=12345 Wednesday, June 6, 12
  • 23. www.percona.com Why does the Application care? ‣Workload dependent! ‣Write to all nodes simultaneously and evenly: ‣Increase of deadlock errors on data hot spots ‣Can be avoided by ‣Writing to only one node at a time ‣all pessimistic locking happens on one node ‣Data subsets written only on a single node ‣e.g., different databases, tables, rows, etc. ‣different nodes can handle writes for different datasets ‣pessimistic locking for that subset only on one node Wednesday, June 6, 12
  • 24. www.percona.com Application to Cluster Connects ‣For writes: ‣Best practice: (any) single node ‣For Reads: ‣All nodes load-balanced ‣Can be hashed to hit hot caches ‣Geo-affinity for WAN setups ‣Never worry about replication delay again! ‣Be sure to monitor that nodes are functioning members of the cluster! Wednesday, June 6, 12
  • 25. www.percona.com Load balancing and Node status ‣Health check: ‣TCP 3306 ‣SHOW GLOBAL STATUS ‣wsrep_ready = ON ‣wsrep_local_state_comment !~ m/ Donor/? ‣Maintain a separate rotations: ‣Reads ‣RR or Least Connected all available ‣Writes ‣Single node with backups on failure Donor Ready Ready LB LB Clients read/write read read/write read/write No traffic during donation Wednesday, June 6, 12
  • 26. www.percona.com Load Balancing Technologies ‣glbd - Galera Load Balancer ‣similar to Pen, can utilize multiple cores ‣No advanced health checking (tcp-only) ‣http://www.codership.com/products/galera-load- balancer ‣HAProxy ‣httpchk to monitor node status ‣http://www.percona.com/doc/percona-xtradb-cluster/ haproxy.html Wednesday, June 6, 12
  • 27. www.percona.com HAProxy Sample config 1. listen cluster-writes 0.0.0.0:4306 2. mode tcp 3. balance leastconn 4. option httpchk 6. server percona1 192.168.70.2:3306 check port 9200 7. server percona2 192.168.70.3:3306 check port 9200 backup 8. server percona3 192.168.70.4:3306 check port 9200 backup 10. listen cluster-reads 0.0.0.0:5306 11. mode tcp 12. balance leastconn 13. option httpchk 15. server percona1 192.168.70.2:3306 check port 9200 16. server percona2 192.168.70.3:3306 check port 9200 17. server percona3 192.168.70.4:3306 check port 9200 Wednesday, June 6, 12
  • 28. www.percona.com Resources ‣XtraDB Cluster homepage and documentation: ‣http://www.percona.com/software/percona-xtradb- cluster/ ‣Galera Documentation: ‣http://www.codership.com/wiki/doku.php ‣Virtualbox 3 node test cluster: ‣https://github.com/jayjanssen/percona-cluster ‣http://www.mysqlperformanceblog.com/2012/04/12/ testing-percona-xtradb-cluster-with-vagrant/ ‣http://www.mysqlperformanceblog.com/2012/01/12/ create-3-nodes-xtradb-cluster-in-3-minutes/ Wednesday, June 6, 12
  • 29. Join us at Percona Live NYC - Oct 1-2 2012 http://www.percona.com/live/nyc-2012/ Jay Janssen @jayjanssen Wednesday, June 6, 12