solidDB Advanced Replication data synchronization ensures that after data is committed in one database of an Advanced Replication configuration, data is never lost during synchronization between databases. The Advanced Replication Store and Forward Messaging feature ensures that before sending a synchronization message from one database to another, the message is stored on the originating database. Similarly, the message is stored in the receiving database before it is executed in the receiving database. When the stored messages become obsolete, they are deleted.
Because Store and Forward Messaging stores data persistently to disk, it causes some overhead in the synchronization process. When a message holds less data for synchronization, the overhead is significantly higher. For example, when you send a synchronization message that contains one transaction between databases, it can take up to one second to complete the messaging round‑trip, whereas when you synchronize a few dozen transactions within one message, it still typically takes up to one second.
To minimize the overhead caused from Store and Forward Messaging, create synchronization messages that contain more than one transaction. While you are not prohibited from synchronizing a single transaction in a message, doing so has significant adverse performance implications, especially if your site has high transaction volume. Before you use single transactions (or few transactions) in a single synchronization message, consider if there are any critical performance and scalability requirements for the databases at your site.
Using RPC message compression with synchronization
solidDB supports message compression for all network traffic between client and server. In data synchronization, the replica database server acts as a client and master database server acts as a server. Therefore, the message compression utility that is available for communication between client and server, is also available for Advanced Replication server-to-server communication.
You can set the message compression on by specifying the -z parameter in the connect string for the SET SYNC CONNECT statement in the replica database server. For example:
SET SYNC CONNECT 'tcp -z masterserver 1315' TO MASTER myMaster
The effect of data compression on performance depends greatly on the compressibility of the data and on the available bandwidth. In very fast networks the increased CPU consumption caused by compression and decompression of the messages might outweigh the performance gain achieved by smaller network messages. Generally, the slower the network, the more positive the impact that network traffic compression can have on the overall performance.