It is not a happy thing for us to force anyone to
change their
software, but as explained in the wiki page [0] we can not find a
reliable method to ensure that the same user created tables are
available on all three of the new backend servers
Why not provide a fourth host and have those three servers act as slaves of it?
Writes go to the first one, but reads and joins can go to the replicas.
I'm afraid that "make the JOINs in user space" may end up on some
cases with the app fetching all the rows of the tool table or the wiki
replica in order to perform a JOIN that used to be straightforward.
And the tools aren't really the place to implement all kinds of
partial-fetch implementations and query estimates (without EXPLAIN,
even!). Unless you know of such an efficient user space JOIN
implementation, perhaps?
Regards