Slony-I Communications Costs

2. Slony-I Communications Costs

The cost of communications grows in a quadratic fashion in several directions as the number of replication nodes in a cluster increases. Note the following relationships:

  • It is necessary to have sl_listen entries allowing connection from each node to every other node. Most will normally not need to be very heavily, but it still means that there needs to be n(n-1) paths.

  • Each SYNC applied needs to be reported back to all of the other nodes participating in the set so that the nodes all know that it is safe to purge sl_log_1 and sl_log_2 data, as any "forwarding" node could potentially take over as "master" at any time. One might expect SYNC messages to need to travel through n/2 nodes to get propagated to their destinations; this means that each SYNC is expected to get transmitted n(n/2) times. Again, this points to a quadratic growth in communications costs as the number of nodes increases.

This points to it being a bad idea to have the large communications network resulting from the number of nodes being large. Up to a half dozen nodes seems pretty reasonable; every time the number of nodes doubles, this can be expected to quadruple communications overheads.