From: Craig James <craig_james@emolecules.com>
To: Jonah H. Harris <jonah.harris@gmail.com>
To: pgsql-performance@postgresql.org
Subject: Re: Thousands of tables versus on table?
Date: Wed, 06 Jun 2007 13:13:48 -0700
Message-ID: <4667157C.5000208@emolecules.com> (raw)
In-Reply-To: <36e682920706061101i5d3344c2idc518c6190b0af77@mail.gmail.com>
References: <C289C6B1.A63%tandrews@soliantconsulting.com>
<877iqjmro5.fsf@oxford.xeocode.com>
<46647427.4030103@g2switchworks.com>
<Pine.LNX.4.64.0706041631490.11737@asgard.lang.hm>
<466593E5.1010904@g2switchworks.com>
<87sl96z0wf.fsf@oxford.xeocode.com>
<Pine.LNX.4.64.0706051325500.24361@asgard.lang.hm>
<10525.1181080765@sss.pgh.pa.us>
<Pine.LNX.4.64.0706051507120.24361@asgard.lang.hm>
<4666DF99.3010809@emolecules.com>
<36e682920706061101i5d3344c2idc518c6190b0af77@mail.gmail.com>
Jonah H. Harris wrote:
> On 6/6/07, Craig James <craig_james@emolecules.com> wrote:
>> They're blowing smoke if they think Oracle can do this.
>
> Oracle could handle this fine.
>
>> Oracle fell over dead, even with the best indexing possible,
>> tuned by the experts, and using partitions keyed to the
>> customerID.
>
> I don't think so, whoever tuned this likely didn't know what they were
> doing.
Wrong on both counts.
You didn't read my message. I said that *BOTH* Oracle and Postgres performed well with table-per-customer. I wasn't Oracle bashing. In fact, I was doing the opposite: Someone's coworker claimed ORACLE was the miracle cure for all problems, and I was simply pointing out that there are no miracle cures. (I prefer Postgres for many reasons, but Oracle is a fine RDBMS that I have used extensively.)
The technical question is simple: Table-per-customer or big-table-for-everyone. The answer is, "it depends." It depends on your application, your read-versus-write ratio, the table size, the design of your application software, and a dozen other factors. There is no simple answer, but there are important technical insights which, I'm happy to report, various people contributed to this discussion. Perhaps you have some technical insight too, because it really is an important question.
The reason I assert (and stand by this) that "They're blowing smoke" when they claim Oracle has the magic cure, is because Oracle and Postgres are both relational databases, they write their data to disks, and they both have indexes with O(log(N)) retrieval/update times. Oracle doesn't have a magical workaround to these facts, nor does Postgres.
Craig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: craig_james@emolecules.com, jonah.harris@gmail.com
Subject: Re: Thousands of tables versus on table?
In-Reply-To: <4667157C.5000208@emolecules.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox