Posts Tagged ‘Tungsten Replicator’

Biggest MySQL related news in the last 24 hours

For me, the biggest news in the last 24 hours so far has been:

  1. SkySQL merges with Monty Program, developers of MariaDB. This of course affects me directly and leads to a change in affiliation in a few months.
  2. TokuDB goes opensource. I think this is really big news. Beyond just the fact that it can now be a storage engine in the main MariaDB tree, I love the work they’re doing to extend it to be an engine for MongoDB as well.
  3. Continuent Tungsten Replicator is now 100% opensource. Now you can extract data in real-time from Oracle, so think of this as Golden Gate without a price. I like this move.
  4. Wikipedia adopts MariaDB. Again, this is important and its also important that we have the MariaDB Foundation in place.

I expect a lot more interesting news to happen in the next 24-hours, so lets see if I wake up at 4am to postulate tomorrow.

Building simple & complex replication clusters with Tungsten Replicator by Giuseppe Maxia

Giuseppe Maxia of Continuent.

MySQL replication is single threaded. Multi-master replication is complex with MySQL. Circular replication works but is very fragile. Once you’ve achieved the feat, how do you avoid conflicts? The lack of global transaction ID today also means you may have slaves that may not be synchronized fully. Finally, some people like to replicate to PostgreSQL, Oracle and MongoDB.

This is where Tungsten Replicator comes into place. Opensource. 100% GPLv2. You can do easy failover (no need to synchronize the slaves manually when a master dies), have multiple masters, multiple sources to a single slave, conflict prevention, parallel replication, and replicate to Oracle/PostgreSQL database (heterogeneous replication – Oracle->MySQL is not opensource, but MySQL->Oracle is).

Parallel replication: ability to replicate with multiple thread at once. Sharded by database (all big sites already use this naturally). Good choice for slave lag problems. Bad choice for single database projects. In their tests to measure slave catch up time between standard MySQL & Tungsten slave with 1hr of sysbench and some 130GB of data, MySQL replication takes 4.5h to catchup, and Tungsten takes less than 1 hour to catchup. This comparison was not made with MySQL 5.6 (the same parallel replication feature at this moment in 5.6 is quite buggy). No need to install Tungsten on the master (Tungsten needs to be on slave). Replication can revert to native salve with 2 commands, but the failover is an issue — so install Tungsten on both!

Conflict prevention. When you have multiple masters you are tempted to do many things that you shouldn’t. Tungsten provides the multi-master topology. Tungsten can help you avoid conflicts. Decide you want to shard your information by database – Tungsten can enforce such rules. Define the rules, applied to either the master or the slave and you can then state to make replication fail or drop silently or drop with a warning.

You can create clusters very quickly with Tungsten. You can install from a centralized point to many servers. You need Java, Ruby, SSH access and a MySQL user with all privileges (used for replication).