We started with master/slave replication on MySQL for a very simple reason: we know it well. And we know that while MySQL replication has many wonderful features like simple set-up, it also has many deficiencies that have persisted for a long time. Monty Widenius, a widely respected MySQL engineer, summarized some of the key problems last April:
- replication is not fail safe
- no synchronous options
- no checking consistency option
- setup and resync of slave is complicated
- single thread on the slave
- no multi-master
- only InnodDB synchronizes with the replication (binary) log
These issues are well-known to the MySQL community. Monty laid down a challenge, but we all know the community can write software that solves it. However, there’s a much bigger challenge out there. There are highly capable replication products produced by commercial vendors like Golden Gate, Quest, Oracle, Sybase, and others. They handle high availability, performance scaling, upgrade, heterogeneous replication, cross site clustering—you name it. Why aren’t these capabilities available in an open source product? Why doesn’t that open source product have the ease-of-use and accessibility MySQL is famous for?
The Tungsten Replicator is designed to answer that challenge. Here’s the initial feature set:
- Simple set-up procedure
- Master/slave replication of one, some, or all databases
- MySQL statement replication
- Proper handling of master failover in presence of multiple slaves
- Checksums on replication events
- Table consistency check mechanism
- Group communications-based management
- Oracle support
- PostgreSQL support
- MySQL row replication
- Heterogeneous replication
- Multi-master via bi-directional replication with conflict resolution
- Semi-synchronous replication
- Parallel update on slaves to increase performance
- Proxying support to reduce or eliminate application changes
Tungsten Replicator is available on our community website at http://community.continuent.com. Stop by and check it out. The code is in the early stages but will mature very rapidly. You can help us guide it forward. We are looking forward to answering Monty’s challenge and going much further. We are looking forward to creating something that brings powerful replication within the reach of every database user.