[Zope-dev] Threads and locks

Dr. Ross Lazarus rossl@med.usyd.edu.au
Thu, 27 Apr 2000 21:19:08 +1000


You probably do if you're using a reliable, transactional SQL database
server and zope database adapter for data storage!

Sure, use the ZODB for the logic and presentation and store data in the
ZODB during development....

Once the design is frozen, if you or yours would prefer a thoroughly
conservative approach, it's usually not that much bother to convert
zclasses to use SQL instead of the ZODB - a couple of ZSQL methods for
each zclass.... 

Given that it's Other People's Money, why not use Other People's SQL
servers for that belt and braces feeling? 

Incidentally, I must point out that I'm not aware of ever losing
transactions with the ZODB and I think it's as stable as anything else I
use, but I wouldn't use it for storing vast megagobs of data or images.
There are perfectly good database servers and filesystems for that.

For small databases, the ZODB is faster than ZODB in my experience. How
small? A few tens of Megabytes. But for anything big, I think I'd use
something else. 

Is Sybase via the SybaseDA a less anxiety provoking option in terms of
proven reliability?


Itamar S.T. wrote:

> Can I absolutely trust that if I have a counter with value of 30, and I add
> 5 to it in two different threads at once I'll always end up as 40?
> 
> In most cases it won't be terrible if one of the transactions aborted in the
> end because of the ConflictError, but I'm dealing with Other People's Money
> here.  In fact, Money That Other People Owe Us, which could be considered
> even more important :).
>  
> -- 
> Itamar S.T.  itamars@ibm.net
> 

-- 

Dr Ross Lazarus
Associate Professor and Sub-Dean for Information Technology
Faculty of Medicine, Room 126A, A27, University of Sydney,
Camperdown, NSW 2006, Australia
Tel: (+61 2) 93514429   Mobile: +61414872482  
Fax: (+61 2) 93516646   Email: rossl@med.usyd.edu.au