Carl "C.J." Collier is the Support Manager for MaxDB at MySQL. He hails from Silverdale, WA and you can catch his blog at http://cjcollier.livejournal.com/
The Synchronization Manager (SyncMan) provides a platform for database-agnostic data replication and synchronization. The platform is built on Java technologies such as the Java Messaging Service (JMS) and the Java Database Connectivity framework (JDBC). The core SyncMan server runs on any of the supported MaxDB platforms, and the synchronized databases can be any combination of database and OS, so long as there exists a JDBC driver for the combination.
Another feature of the Synchronization Manager is that you may choose to replicate any portion of your database to remote systems. Combined with SyncMan's support for offline devices and advanced collision resolution algorithm, this provides a convenient way to disseminate information to potentially embedded devices "in the field."
The following table compares the SyncMan with a few of the other common replication/synchronization systems available today in the market.
Supported OS Platforms
This field indicates the Operating Systems under which the synchronization engine is supported.
Disk or In-Memory?
This field indicates whether the database stores its memory solely in memory, or whether is can make use of disk-based storage as well.
Uni-directional or Bi-directional?
This field indicates whether the connections to the data sources are uni-directional, meaning that the engine is only capable of synchronizing records to slaves, or bi-directional, meaning that each data source is capable of updating the records and re-synchronizing with the other data sources.
Supported data sources
This field indicates the data sources that the particular synchronization engine is capable of peering with.
Offline Operation?
This field indicates whether the synchronization engine will continue to operate if connectivity to its peers is lost.
Atomic synchronization?
This field indicates whether the synchronization of the data sources
happens atomically.
Supported OS Platforms? |
Disk or In-Memory? |
Uni-directional or Bi-directional |
Supported data sources |
Offline Operation? |
Atomic synchronization? |
|
---|---|---|---|---|---|---|
MaxDB Synchronization Manager |
Supported
MaxDB platforms |
Data source dependant |
Data source dependant |
Any data source
supported by
JDBC, including MySQL, MaxDB, PostgreSQL, Sybase, MS SQL Server,
DB2, and Oracle |
Yes |
No |
Oracle Distributed Database
architecture |
Supported Oracle platforms |
Disk + In-Memory |
Bi-directional |
Oracle |
No |
Yes |
MySQL Replication |
Supported
MySQL platforms |
Disk + In-Memory |
Bi-directional |
MySQL |
No |
No |
MySQL Cluster |
Supported MySQL platforms | In-Memory only |
Bi-directional |
MySQL |
No |
Yes |
DB2 ICE |
Linux only |
Disk + In-Memory |
Bi-directional |
DB2 |
No |
Yes |
In order to begin using the Synchronization Manager, you will need to have a Java environment installed that includes a 1.4 J2RE (Runtime Environment) and version 1.4 of the J2EE (Enterprise Edition), as well as the SWT libraries provided by version 3.0 of the Eclipse platform. The following installation HOW-TO will walk you through installing and configuring this software.
A typical installation requires about 3G of free disk space (including temporary space for installers) and roughly an hour and a half of time (not including download time). The following HOW-TO has been tested on Debian and SuSE GNU/Linux and is expected to work equally as well on Redhat Enterprise, Fedora, Slackware, Mandrake, and any other sufficiently recent distribution of GNU/Linux. If you find any distribution-specific errors with the HOW-TO, please feel free to email maxdb@mysql.com or join us on IRC. We are often found idling on the #maxdb channel of the irc.freenode.org servers.
Proceed to the installation HOW-TO