SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 合并到 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
 

Similaire à 合并到 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
 

Plus 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
 

Plus 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 简要介绍
 

Dernier

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
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
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 

Dernier (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
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
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 

合并到 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