A powerful open-source Java application for network-based multi-master heterogeneous database replication.
DBReplicator is a trigger-based database replication engine. The project takes each insert/update/delete operation and creates a shadow record in a shadow table for that operation. These shadow records are numbered, and each subscriber maintains a bookmark for that table. Records are deleted from the shadow tables when they have been synced to all subscribers and publishers. Using this model, only changes are sent during normal sync sessions.
Being trigger-based, it works rather quickly, and has more options for resolving conflicts involving foreign keys.
- Heterogeneous Replication - i.e., synchronizing the same database between multiple RDBMS's.
- Bi-Directional data synchronization - between any of the supported database backends, with subscriber-initiated synchronization
- Platform Independant - 100% java client and server components
- Application Independance - software need have no special knowledge of the replication, nor access its datasource any differently. This is great for applications to which you don't have source code access or rights to request changes
- Automatic Confilct Detection and Resolution - requires minimal involvement by database administrators. Basic conflict resolution is implemented as publisher wins/subscriber wins. Future versions will have more complex rule-based conflict resolution algorithms.
- Scheduling Facility - built into dbreplicator, the schedule can be specified by minutes, hours, etc., and runs the desired operation at the specified interval ad infinitum unless it encounters an error.
- Verbose Debugging - implemented using apache log4j, this can be quite flexible in terms of output methods and verbosity.
- Special Character Handling - DBReplicator handles characters with nonprinting ascii values by encoding the entire field in escaped unicode when creating sync xml files, and un-encoding at the opposite end. At present, those fields containing special characters must be specified in EncodeConfig.ini, but automatic handling is planned.
- Table Creation - if tables don't exist in subscriber databases, DBReplicator can automatically create them for you to match those in the publisher database.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- Methods were added to RBlob.java and RClob.java to override new Java 6 methods so that compilation works with Java 6.
- It still gives warnings if you are using OSE Java, but it builds properly.
- Memory handling on creating a snapshot was fixed.
- SyncXMLCreator.java was fixed. by removing a call to rs.close() that closed the resultset too early.