simultaneous multiple requests to very simple database

Olaf Zetanien olafzeta at yahoo.com
Wed Jan 19 12:00:13 EST 2005


On Tue, 18 Jan 2005 12:57:21 -0500, Eric S. Johansson <esj at harvee.org>  
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



More information about the Python-list mailing list