partitions versus databases

Lists: pgsql-sql
From: chester c young <chestercyoung(at)yahoo(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: partitions versus databases
Date: 2011-12-08 14:26:09
Message-ID: 1323354369.98656.YahooMailClassic@web161406.mail.bf1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

have an db with about 15 tables that will handle many companies. no data overlap between companies. is it more efficient run-time to use one database and index each row by company id, and one database and partition each table by company id, or to create a database for each company?

it is a web-based app using persistent connections. no copying.


From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: chester c young <chestercyoung(at)yahoo(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: partitions versus databases
Date: 2011-12-09 01:13:11
Message-ID: 4EE160A7.3070106@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

On 12/08/2011 10:26 PM, chester c young wrote:
> have an db with about 15 tables that will handle many companies. no data overlap between companies. is it more efficient run-time to use one database and index each row by company id, and one database and partition each table by company id, or to create a database for each company?
>
> it is a web-based app using persistent connections. no copying.
>

If you post a question on Stack Overflow and on the mailing list, please
link to your stack overflow question from your mailing list post!

http://stackoverflow.com/questions/8432636/in-postgresql-are-partitions-or-multiple-databases-more-efficient/

That'll help avoid duplication of effort, and make it easier for people
searching for similar topics later to find out more.

--
Craig Ringer


From: Jasen Betts <jasen(at)xnet(dot)co(dot)nz>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: partitions versus databases
Date: 2011-12-10 22:42:15
Message-ID: jc0n87$4nb$3@reversiblemaps.ath.cx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-sql

On 2011-12-08, chester c young <chestercyoung(at)yahoo(dot)com> wrote:
> have an db with about 15 tables that will handle many companies. no data overlap between companies. is it more efficient run-time to use one database and index each row by company id, and one database and partition each table by company id, or to create a database for each company?
>
> it is a web-based app using persistent connections. no copying.
>

if you know you will never want to aggregate data across several
companies. databases are cheap, portable, easily duplicated, and
self-contained, can easily be dumped, restored, and dropped
individually, go with one per company.

if there's a possibility you may want to merge two companies, or
aggregate data in some other way you want to put them all in the
same database so that sequences can be shared to ensure that ids
are unique etc... you still have the option of partitioning by
schema, table name, or just by tagging each record.

--
⚂⚃ 100% natural