From: | Ben Chobot <bench(at)silentmedia(dot)com> |
---|---|
To: | "Nicholson, Brad (Toronto, ON, CA)" <bnicholson(at)hp(dot)com> |
Cc: | pgsql-general General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: multi-tenant vs. multi-cluster |
Date: | 2011-03-18 19:44:47 |
Message-ID: | 7D473FED-EFF9-4E93-8FC9-0A0CD2C79A31@silentmedia.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mar 18, 2011, at 12:34 PM, Nicholson, Brad (Toronto, ON, CA) wrote:
>>> b) its own postgresql processes (many of them) running in memory
>>
>> I believe this is entirely a function of client connections.
>
> With a single instance, you can use connection pooling to reduce the overall number of backend connections which will reduce your memory footprint.
Er, right, for some reason I was thinking I could use connection pooling against multiple clusters, but now that I think about it that doesn't make much sense, does it?
>>
>>> c) its own shared_buffers in memory.
>>
>> Given that each application will be independent, I don't see a
>> different between clusters and schemas here either.
>
> The difference is that in a single cluster, a single instance is going to make decisions about what data to cache or not. This is an overly simplified example - but illustrates the point. Say you have 4GB of RAM available to dedicate to a shared buffers on a server, and two databases (DB A and DB B) to run. You either set up a single instance with a 4GB pool, or two instances with 2GB pools each. Let's say that DB A gets really busy, and DB B is not. In the shared instance approach, the instance can evict buffers cached for DB B in order to load buffers needed for DB A. In the split instance, you can't.
Ah, that's an illustrative example. Thanks.
OK, so are there any good ways to keep a bad/clueless user from gumming up a whole cluster? Something like statement_timeout, but for transactions, seems like it would be idle.
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2011-03-18 19:51:31 | Re: How do I do this in plpgsql ? |
Previous Message | akp geek | 2011-03-18 19:36:07 | pgagent installation -- ccmake - getting selected wxWidgets configuration (version: 2.6, debug: no, static |