2013/12/6 Josh Berkus <j...@agliodbs.com>

> On 12/05/2013 02:42 AM, Max wrote:
> > Hello,
> >
> > We are starting a new project to deploy a solution in cloud with the
> possibility to be used for 2.000+ clients. Each of this clients will use
> several tables to store their information (our model has about 500+ tables
> but there's less than 100 core table with heavy use). Also the projected
> ammout of information per client could be from small (few hundreds
> tuples/MB) to huge (few millions tuples/GB).
> >
> > One of the many questions we have is about performance of the db if we
> work with only one (using a ClientID to separete de clients info) or
> thousands of separate dbs. The management of the dbs is not a huge concert
> as we have an automated tool.
>
> In addition to the excellent advice from others, I'll speak from
> experience:
>
> The best model here, if you can implement it, is to implement shared
> tables for all customers, but have a way you can "break out" customers
> to their own database(s).  This allows you to start with a single
> database, but to shard out your larger customers as they grow.  The
> small customers will always stay on the same DB.
>
> That means you'll also treat the different customers as different DB
> connections from day 1.  That way, when you move the large customers out
> to separate servers, you don't have to change the way the app connects
> to the database.
>
> If you can't implement shared tables, I'm going to say go for separate
> databases.  This will mean lots of additional storage space -- the
> per-DB overhead by itself will be 100GB -- but otherwise you'll be
> grappling with the issues involved in having a million tables, which Joe
> Conway outlined.  But if you don't have shared tables, your huge schema
> is always going to cause you to waste resources on the smaller customers.
>


+1

Pavel


>
> --
> Josh Berkus
> PostgreSQL Experts Inc.
> http://pgexperts.com
>
>
> --
> Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-performance
>

Reply via email to