Skip site navigation (1) Skip section navigation (2)

MVCC and Implications for (Near) Real-Time Application

From: Steve Wong <powerpchead(at)yahoo(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: MVCC and Implications for (Near) Real-Time Application
Date: 2010-10-25 18:46:23
Message-ID: 203952.56702.qm@web111712.mail.gq1.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-performance
Hi experts,

I have a (near) real-time application in which inserts into the database needs 
to be visible to queries from other threads with minimal delay. The inserts are 
triggered by real-time events and are therefore asynchronous (i.e. many 
performance tips I read related to batch inserts or copy do not apply here, 
since these events cannot be predicted or batched), and the inserted data need 
to be available within a couple of seconds to other threads (for example, an 
inserted row that only appears to other query threads 5 seconds or more after 
the insert is not acceptable). The delay should be under 2 seconds maximum, 
sub-1 second would be great.

My questions are: (1) Does the MVCC architecture introduce significant delays 
between insert by a thread and visibility by other threads (I am unclear about 
how multiple versions are "collapsed" or reconciled, as well as how different 
query threads are seeing which version)? (2) Are there any available benchmarks 
that can measure this delay? (3) What are relevant config parameters that will 
reduce this delay?

Thanks for your patience with my ignorance of MVCC (still learning more about 
it),
Steve


      

Responses

pgsql-performance by date

Next:From: Steve SingerDate: 2010-10-25 18:46:46
Subject: Re: Postgres insert performance and storage requirement compared to Oracle
Previous:From: Divakar SinghDate: 2010-10-25 18:42:48
Subject: Re: Postgres insert performance and storage requirement compared to Oracle

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group