[ZODB-Dev] RelStorage now in Subversion
Dieter Maurer
dieter at handshake.de
Thu Jan 31 13:25:41 EST 2008
Shane Hathaway wrote at 2008-1-31 01:08 -0700:
> ...
>I admit that polling for invalidations probably limits scalability, but
>I have not yet found a better way to match ZODB with relational
>databases. Polling in both PostgreSQL and Oracle appears to cause no
>delays right now, but if the polling becomes a problem, within
>RelStorage I can probably find ways to reduce the impact of polling,
>such as limiting the polling frequency.
I am surprised that you think to be able to play with the polling
frequency.
Postgres will deliver objects as they have been when the
transaction started.
Therefore, when you start a postgres transaction
you must invalidate any object in your cache that
has been modified between load time and the begin of this
transaction. Otherwise, your cache can deliver stale state
not fitting with the objects loaded directly from Postgres.
I read this as you do not have much room for manouver.
You must ask Postgres about invalidations when the transaction
starts.
Of course, you can in addition ask Postgres periodically
in order to have a smaller and (hopefully) faster result
when the transaction starts.
--
Dieter
More information about the ZODB-Dev
mailing list