Scaling with PL/Proxy
Given that hash-based distribution allows splitting among an arbitrary power of two number of partitions, with relatively even load, PL/Proxy makes it straightforward to split large independent tables among multiple nodes in a way that allows almost unbounded scalability.
The key word there is independent. If in fact your queries commonly cross partition boundaries, the query optimizer will not be able to help you generate good plans for those. PL/Proxy calls can be configured to run on any available node or on every node. If you need data from all of them, that's going to turn into a number of independent queries that need to be assembled with UNION ALL
in order to get the full result. This may not execute as efficiently as if all the data were on a single node, with a unified set of statistics.
If your application is such that it can be split in distinct, independent data sets, one of the unique aspects of PL/Proxy scaling is that it works on both read...