[Bucardo-general] Parallelizing sync

Song Keang skeang at gmail.com
Tue Jun 8 12:41:05 UTC 2021


Thank you for the awesome project, and great answers in this mailing list!

I am trying to migrate a postgres 9.6.5 instance to 13.2 using multi-master
replication. We are doing a onetimecopy of all our tables, and then letting
the sync continue to run while we switch our applications to point to the
new 13.2 master. We have around 50 tables, the largest of our table
consists of 15 child partitions of around 400Gb each.

When trying to balance between copying all tables quickly and also not
overloading the old master excessively, I'd like to verify my assumption on
how Bucardo works. There are two extremes:

(A) Add a bucardo sync for all tables, and let that one sync copy
everything. The old master will only serve one bucardo process at a time,
and it'll take a long time to get all tables copied. OR

(B) Add one bucardo sync for each table, so that Bucardo can parallelize
the copy of each big partition. It'll get data over faster, but the old
master will be under more load from serving many bucardo concurrently.

Is that correct? If that is true, we will probably look for some middle
ground between A and B.

Thank you!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://bucardo.org/pipermail/bucardo-general/attachments/20210608/95405204/attachment.htm>

More information about the Bucardo-general mailing list