From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | Sergey Koposov <koposov(at)ast(dot)cam(dot)ac(dot)uk> |
Cc: | Florian Pflug <fgp(at)phlo(dot)org>, Merlin Moncure <mmoncure(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Stephen Frost <sfrost(at)snowman(dot)net> |
Subject: | Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile |
Date: | 2012-05-31 00:46:31 |
Message-ID: | CAMkU=1z2GDbWoALm7Rh5t9pauq1dvyeou+FQ0xnoNq9UTXUSaw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, May 30, 2012 at 4:16 PM, Sergey Koposov <koposov(at)ast(dot)cam(dot)ac(dot)uk> wrote:
> But the question now is whether there is a *PG* problem here or not, or is
> it Intel's or Linux's problem ? Because still the slowdown was caused by
> locking. If there wouldn't be locking there wouldn't be any problems (as
> demonstrated a while ago by just cat'ting the files in multiple threads).
You cannot have a traditional RDBMS without locking. From your
description of the problem, I probably wouldn't be using a traditional
database system at all for this, but rather flat files and Perl. Or
at least, I would partition the data before loading it to the DB,
rather than trying to do it after.
But anyway, is idt_match a fairly static table? If so, I'd partition
that into 16 tables, and then have each one of your tasks join against
a different one of those tables. That should relieve the contention
on the index root block, and might have some other benefits as well.
Cheers,
Jeff
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2012-05-31 00:52:16 | Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile |
Previous Message | Sergey Koposov | 2012-05-31 00:26:27 | Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile |