On 7/08/2011 11:43 PM, Ivan Sergio Borgonovo wrote:
On Sun, 07 Aug 2011 20:41:27 +0800
Craig Ringer<ringerc@xxxxxxxxxxxxx> wrote:
By the way, one of the reasons you're not finding much free
hosting for PostgreSQL is that it takes a fair bit of work to run
Pg multi-tenanted. Your additional requirement for Java and Tomcat
Why should pg be harder than anything else?
Before I go on: I'm not running a hosting provider. Most of this is
gathered from time on the lists, plus my own observations from using Pg
in situations where I want to prevent different apps sharing a DB from
affecting each other. Given that qualification:
Things that contribute to making it harder to offer multi-tenanted
database hosting services with Pg include: The global catalogs, in
particular global user lists; relatively limited options for automatic
load limitation and prioritisation; difficulty of preventing certain
classes of effective denial of service by authorized users; shared WAL
making it harder to isolate load and limit one DB's effects on another;
difficulties completely hiding users from each other; the need to tune
autovacuum to make sure it keeps up with load; etc. In Pg, DBs in a
cluster affect each other in various ways, but because of the
pinned-in-RAM nature of shared_buffers its hard to run one cluster per
user as would be ideal.
This doesn't mean you can't use Pg for multi-tenanted DB hosting. It
just makes it harder, and means its more sysadmin work, therefore more
time and cost.
There are DBs - mostly $OMFGLOTS DBs - that offer much greater
facilities for controlling access and isolating load than Pg does and
are better suited to multi-tenanted use. Of course, their costs are such
that it's probably cheaper to hire an army of sysadmins to run a giant
cluster of Pg boxes instead...
--
Craig Ringer
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general