2

We have a database cluster built on Percona MySQL. We are going to extend our redundancy with another database cluster with a new data center located in another GEO location. So that in case of failures in one location, we can switch the service to other location.

What is the right technology to keep data in both of GEO sites synced always?

4
  • 1
    Replication! Use the Master and Slave topology. I have done this in my old job but haven't touched Mysql in over 3 years. The idea is that you make one DB the master and logs are sent in real time and applied to all the slaves... we had 1 master and 8 slaves , in different data centers. Every Web server had the DB locally for performance issues and we had slaves for Datawarehousing... The master DB was for the head-office DB changes.
    – JohnG
    Sep 3, 2018 at 13:49
  • This brings back memories :-) percona.com/doc/percona-xtrabackup/LATEST/howtos/…
    – JohnG
    Sep 3, 2018 at 13:56
  • 1
  • Are you referring to PXC (Percona Xtradb Cluster)? If so, the Comments about "Master-Slave" are not adequate.
    – Rick James
    Oct 2, 2018 at 4:55

1 Answer 1

1

You have a 3-node Percona XtraDB Cluster now? And all 3 nodes are in the same DataCenter? And you want to use a second DC for HA?

Perhaps the 'common' way is to set up asynchronous replication (the old Master-Slave) between one of the nodes in the original DCs and a node of a new 3-node PXC cluster in the new DC.

Another approach is to continue to use a single PXC cluster --

  • 4 nodes, 2 in each datacenter.
  • "weight" the nodes so that loss of one DC will let the other DC continue to run. (Caveat: That works one one direction; for full protection from DC failure, you need 3 DCs, with at least one node in each.)
  • Tweak some of the tunables due to the delays between data centers.
  • Set up some sort of Proxy to assist with the automatic routing of queries. Such can probably coexist on the PXC nodes.

(Sorry, there are still more details to ferret out; this is only an overview.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.