[Grok-dev] Re: Apache support for Grok

Laurence Rowe l at lrowe.co.uk
Fri Jan 12 14:32:19 EST 2007


Well as I have looked into this fairly recently perhaps this summary can 
help.

PGStorage is a full ZODB storage (supporting undo and packing but not 
zodb level versions, which no one uses anyway). It also replaces the ZEO 
layer. It subclasses the connection to provide per thread connections. 
This means that it replaces ZEO and MVCC is performed by postgresql. It 
stores pickles in the database so is conceptually fairly simple. It 
depends on Postgres 8.1 or later.

Performance considerations (this is based on gut instinct rather than 
testing!)

  * ZEO performs conflict resolution on the ZEO server rather than the 
ZEO client. As far as I know only ZODB BTress have conflict resolution 
code. This could be a problem for PGStorage in high concurrent write 
situations where network latency could become an issue.

  * PGStorage leverages the postgres networking layer which (according 
to pgstorage.sf.net) gives it an edge against ZEO + FileStorage in 
simple benchmarks.

I'm not aware of any production use of PGStorage.

Laurence

Martijn Faassen wrote:
> Christian Theune wrote:
> [snip]
>> One possibility would actually be to implement (or check whether it
>> exists already) a ZODB backend that uses SQL to store it's data in an
>> opaque form. Shane did this for PostgreSQL and ZC did it a while ago
>> with DCOracle2. I don't know whether this exists for MySQL too.
> 
> I hadn't thought of RDB-backing as an option, good idea. I now remember 
> about Shane's PostgreSQL backend. That might be interesting to look 
> into. Carlos, can you look into this and report back? :)
> 
> Regards,
> 
> Martijn



More information about the Grok-dev mailing list