I yesterday finished the work for the first version of
multi-source replication for MariaDB.
I first want to thank
Peng Lixun at Taobao for giving us the code that I used as a base for this patch. Their patch worked and was used in production, but didn't have all the features needed for a 'full solution'. I have now added those.
Typical use cases for multi-source replication are:
- You are partitioning your data over many masters and would like to get it all together on one machine to do analytical queries on all data.
- You have many databases spread over many MariaDB/MySQL servers and would like to have all of them on one machine as an extra backup.
The new syntax introduced to handle many connections:
- CHANGE MASTER ["connection_name"] ...
- FLUSH RELAY LOGS ["connection_name"]
- MASTER_POS_WAIT(....,["connection_name"])
- RESET SLAVE ["connection_name"]
- SHOW RELAYLOG ["connection_name"] EVENTS
- SHOW SLAVE ["connection_name"] STATUS
- SHOW ALL SLAVES STATUS
- START SLAVE ["connection_name"...]]
- START ALL SLAVES ...
- STOP SLAVE ["connection_name"] ...
- STOP ALL SLAVES ...
"connection_name" specifies with master you are working with.
The original old-style connection_name is an empty string ''.
Full documentation for the multi-source feature can be found
here.
Feel free to add comments to the above page if you have any questions!
This is now pushed into the
10.0-MariaDB tree and will be merged into the MariaDB 10.0 tree to be included into MariaDB 10.0.0 in a few days.
By the way:
For those that missed the announcement, another new exciting thing that just was made available in MariaDB is the
Cassandra storage engine.