Persistent objects

Duncan Booth duncan.booth at invalid.invalid
Sun Dec 12 07:03:52 EST 2004


Paul Rubin wrote:

> Well, as you can see, this idea leaves a lot of details not yet
> thought out.  But it's alluring enough that I thought I'd ask if
> anyone else sees something to pursue here.
> 

Have you looked at ZODB and ZEO? It does most of what you ask for, although 
not necessarily in the way you suggest.

It doesn't attempt to hold everything in memory, but so long as most of 
your objects are cache hits this shouldn't matter. Nor does it use shared 
memory: using ZEO you can have a client server approach so you aren't 
restricted to a single machine.

Instead of a locking scheme each thread works within a transaction, and 
only when the transaction is committed do you find out whether your changes 
are accepted or rejected. If they are rejected then you simply try again.
So long as most of your accesses are read-only, and transactions are 
committed quickly this scheme can work better than locking.



More information about the Python-list mailing list