On Tue, 18 Jan 2005 12:57:21 -0500, Eric S. Johansson <>
wrote:
> Robert Brewer wrote:
>> Eric S. Johansson wrote:
>>
>>> I have an application where I need a very simple database, effectively
>>> a very large dictionary. The very large
>>> dictionary must be accessed from multiple processes
>>> simultaneously. I need to be able to lock records within
>>> the very large dictionary when records are written to.
>> Just to clarify, you want shared-read until a write, at which point
>> you
>> want to lock just the item being written? Or would page or table locking
>> be acceptable at that point?
>
> just the item/record. I'm doing arrival rate calculations. each record
> contains a set of arrival times and I am rewriting the record every time
> a new entry arrives. complete page or table locking will work in the
> sense that it will prevent collisions but it will have an increasing
> impact as load and simultaneous table but not record accesses increase.
>
> ---eric
>
Use Firebird as sql backend. Is designed as you request (readers not lock
writers and writers not lock readers). Google for "firebird optimistic
lock".
Off course, you have python driver:
http://kinterbasdb.sf.net and can
deploy on windows and linux with a very little footprint.
--
Olaf Zetanien