Re: Parallel (concurrent) inserts?

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: Parallel (concurrent) inserts?
Дата
Msg-id CAMkU=1wNY0wUvRTR7w+0r81sVmEZOyKJMZU9Xy0xaumixxbr0Q@mail.gmail.com
обсуждение исходный текст
Ответ на Parallel (concurrent) inserts?  (Ivan Voras <ivoras@freebsd.org>)
Ответы Re: Parallel (concurrent) inserts?  (Ivan Voras <ivoras@freebsd.org>)
Список pgsql-performance
On Fri, May 25, 2012 at 3:04 PM, Ivan Voras <ivoras@freebsd.org> wrote:
> Hello,
>
> I'm wondering if there is ia document describing which guarantees (if
> any) PostgreSQL makes about concurrency for various operations? Speaking
> in general (i.e. IO can handle it, number of CPU cores and client
> threads is optimal), are fully concurrent operations (independant and
> non-blocking) possible for:

By "fully concurrent" do you mean that there is no detectable
sub-linear scaling at all?  I'm pretty sure that no such guarantees
can be made.

> 1) An unindexed table?

For concurrent bulk loads, there was severe contention on generating
WAL between concurrent bulk loaders.  That is greatly improved in the
upcoming 9.2 release.

> 2) A table with 1+ ordinary (default btree) indexes? (are there
> constraints on the structure and number of indexes?)

This will be limited by contention for generating WAL.  (Unless
something else limits it first)

> 3) A table with 1+ unique indexes?

If more than one transaction attempts to insert the same value, one
has to block until the other either commits or rollbacks.

> 4) A table with other objects on it (foreign keys, check constraints, etc.)?

Same as above.  If they try to do conflicting things, they don't
continue operating concurrently.

Cheers,

Jeff

В списке pgsql-performance по дате отправления:

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: Parallel (concurrent) inserts?
Следующее
От: Ivan Voras
Дата:
Сообщение: Re: Parallel (concurrent) inserts?