PORTING MYSQL V5.5.19 TO MARIADB MASTER-MASTER SETUP
We currently have mysql v5.5.19 64bit on Sparc Sun Solaris, with an INNODB storage engine. I am researching porting to mariadb.
Our primary servers function in a master-master configuration, with real-time updates when changes are made on either server. I see docs describing master-slave and some posts about master-master. Do I have to install the galera cluster to maintain this master-master setup please or can I just install mariadb on each server and set the my.cnf files as I currently have them with different server-IDs please?
Thank you very much. Christine
Answer Answered by Stephane Varoqui in this comment.
If you are happy with what you get today, you can upgrade and get the same architecture with better performance for replication.
Your current architecture is eventually consistent and can be made more robust in ROW BASED an mode IDEMPOTENT. see https://mariadb.org/mariadb-eventually-consistent/
Galera will instead assume that all data writes should at least reach a majority of node before commit, so it's more sensible to network communication or big write transactions but can really simplified automation of application failover, because a write is visible when it's already propagated.
If you wan't to provide Availability of storage when a node found itself isolated from network. Galera is not the correct solution and you will have to stay with asynchronous replication and paying the price of eventually consistency when the diverging dataset are merged. To limit such issues one can use semi-sync to limit dataset divergence, delaying commit until data reach an other node but below a given timeout. Using 10.1 is a must do for semi-sync because it improved performance of such replication mode.
You can draw multi-master replication as a versioning application like Github , when you get merging code issues, a manual conflict resolution is multi master. Automatic conflict resolution telling last commit win, is idempotent mode. Now Galera is a efficient way to prevent you to change same code just when you are modifying it.
Many players decided not to enable diverging datasets , so they use active /passive solutions and an improved architecture call Master Election .