Lamar Owen's comments brought up a thought. Bruce has talked several
times about moving in Oracle's direction, with dedicated backends for
each database (or maybe in Ingres' direction, since they allow both
dedicated backends as well as multi-database backends). In any case,
IFF we went that way, would it make sense to reduce the postmaster's
role to more of a traffic cop (a la Ingres' iigcn)?
Effectively, what we'd end up with is a postmaster that knows "which
backends serve which data" that would then either tell the client to
reconnect directly to the backend, or else provide a mediated
connection.
Redirection will end up costing us a whole 'nother TCP connection
build/destroy which can be disregarded for non-trivial queries, but
still may prove too much (depending upon query patterns). On the
other hand, it would probably be easier to code and have better
throughput than funneling all data through the postmaster. On the
gripping hand, a postmaster that mediated all transactions could also
implement QoS style controls, or throttle connections taking an unfair
share of the available bandwidth.
In any event, this could also be the start of a naming service. It
should be relatively easy, with either method, to have the postmaster
handle connections to databases (not just tables, mind you) on other
machines.
--
=====================================================================
| JAVA must have been developed in the wilds of West Virginia. |
| After all, why else would it support only single inheritance?? |
=====================================================================
| Finger geek@cmu.edu for my public key. |
=====================================================================