Horizontal partitioning with PL/Proxy
If splitting data among several sub-tables on a single server improves performance, than surely splitting it similar among multiple servers would be even better, right? That's the theory behind PL/Proxy, a procedural language specifically designed to make that easier, refer http://pgfoundry.org/projects/plproxy/.
PL/Proxy was designed to fit the database scaling needs of Skype, which includes a target of serving a billion users at once. When you have that kind of user base, you just can't fit everyone on a single server.
The basic premise of PL/Proxy is that you first insulate access to the database behind the database functions (also known as stored procedures). Let's say you want to grab a username field that ...