dbShards/Replicate - Reliable replication for MySQL
dbShards/Replicate is a complete replication and failover solution for MySQL that uses patent-pending technology to deliver high performance yet reliable replication for high availability and also eliminates replication lag.
MySQL Replication
The following diagram demonstrates how standard MySQL replication works. There are two key design flaws that make standard MySQL replication unsuitable for production environments with HA requirements.
- Replication is completely asynchronous between the master and slave. If the master databases fails then transactions that have not yet reached the slave will be lost.
- The slave replays transactions from a relay log using a single thread, therefore processing one transaction at a time. If the master database is under even a moderate amount of load with multiple threads and connections performing transactions then the slave will rapidly fall behind by thousands or tens of thousands of transactions. If the master fails and the application fails over to the slave then the database will be in an inconsistent state.
dbShards Replication
The following diagram demonstrates how dbShards performs replication.
dbShards/Replicate replaces the standard MySQL driver on the client with a dbShards driver (available for Java, C/C++, PHP and Ruby) that wraps the native MySQL driver and also communicates with dbShards Agent processes that typically run on the database servers. The key benefits of this approach are:
- Each transaction is synchronously sent to the Agent and stored in memory in parallel to being performed against the master databases, providing reliability with very little overhead.
- The Agent process then asynchronously applies the transactions in parallel streams to the slave database resulting in minimal replication lag compared to the single-threaded MySQL replication approach.
dbShards/Replicate is also a benefit in master-slave environments where reads are load-balanced across slaves, due to the reduced replication lag.
Packaging
dbShards/Replicate is available as a software-only solution for deployment onto your existing platform.
Additionally, dbShards/Replicate includes the option of a complete fault-tolerant Database Appliance for MySQL databases that provides:
- Automated backups
- 24x7 monitoring by our professional DBA staff
- Automated database maintenance with minimal impact on performance
-
- Check table, optimize table, etc.
dbShards/Replicate is available as a complete hardware, software, and ongoing services package to supplement your DBA staff, allowing you to concentrate on running business applications while CodeFutures manages your database deployments.
Beta Program
We are currently deploying dbShards/Replicate for a small number of beta customers. If you would like to evaluate in the beta program or you would like to talk to us about a proof of concept project please send an email to sales@codefutures.com.

