low-end persistence strategies?
Jamey Cribbs
jcribbs at twmi.rr.com
Wed Feb 16 21:37:57 EST 2005
Paul Rubin wrote:
> Fred Pacquier <xnews2 at fredp.lautre.net> writes:
>
>>KirbyBase sounds like something that could fit the bill.
>
>
> Hmm, this looks kind of nice. However, when used in embedded mode,
> the overview blurb doesn't say anything about concurrency control.
> I don't want to use it in client/server mode, for reasons already stated.
The KirbyBase distribution comes with two small scripts that each
implement a server.
kbsimpleserver.py allows multi-user access to KirbyBase tables. It
takes care of concurrent update issues by being single-threaded and
blocking. Client requests are handled sequentially. It works fine for
small tables that don't have a lot of concurrent access.
kbthreadedserver.py also allows for multi-user access. It creates a
multi-threaded, non-blocking server. Each client gets it's own thread.
The only time one thread will block the others is when it is going
to write to a table, and then it only blocks other write requests to
that same table. Reads never are blocked. This server script has
worked ok for me in limited testing.
Either of these server scripts would have to be running as a process
either on your web server or on another server on your network in order
for them to work. I don't know if that would be an issue for you.
HTH,
Jamey Cribbs
More information about the Python-list
mailing list