Andy Leszczynski wrote:
I need to now option I open the Berkley DB (both db and env) to have
configuration for multiple writers and multiple readers. Via multiple
processes and multiple threads. No trx needed.
the simple answer is you can't. bdbm is probably single writer multiple
reader. I believe if you use of the the most recent sleepy cat
database, you have support for multiple readers and writers in any context.
when I did this, I stuck my gdbm database into a multithreaded
stand-alone process. I used XML RPC for access and used a per key
locking mechanism internal to the data storage and retrieval process.
This locking mechanism set appropriate locks so that a writer for
specific key would wait for all readers of that key to finish, and block
all subsequent readers until it was done.
so far is working pretty well but I haven't tried it in a high load
situation.
---eric