can a berkeley database be opened and accessed from multiple programs at the same time?
Asked Answered
B

2

5

according to the Berkeley documentation the Transactional (TS) and the Concurrent Datastore version of the Database, multiple threads may access (and change) the database.

Does this also mean that I can have 2 programs linked to the berkely 'client' and have them access the same database file without any problems?

(I ask, since for a separate database server this would be no problem of course, but in the case of Berkeley the database engine is linked long with your program)

thanks!

R

Burdened answered 17/11, 2009 at 16:4 Comment(6)
I seem to recall that the Berkeley DB can be opened with a locking flag so that access will be synchronized. Note that this does NOT work if the Berkeley DB is being accessed over NFS (potentially by multiple hosts).Knowlton
See oracle.com/technology/documentation/berkeley-db/db/gsg/C/…Knowlton
pp: the documentation link you provided doesn't give an answer on this.Burdened
Correct link: download.oracle.com/docs/cd/E17076_02/html/gsg/C/…Lictor
This may not work for all cases, but i just stood up a Embedded GrizzlyServer/Servlet container and exposed GET/POST/DELETE Rest endpoints...i didn't get much of a performance drop.Amersfoort
Still, I did not get any solution from any answers. Did anyone find any solution to use Berkeley DB with multiple java processes?Toque
Q
5

Some documentation seems to think you can use the same database concurrently from multiple processes as well as from multiple threads. Specifically:

"Multiple processes, or multiple threads in a single process, can all use the database at the same time as each uses the Berkeley DB library. Low-level services like locking, transaction logging, shared buffer management, memory management, and so on are all handled transparently by the library."

A cursory read did not shed any light on what BDB uses to control access from multiple processes, but if filesystem locks are used, access from multiple processes on a network filesystems may well be problematic.

Quantize answered 17/11, 2009 at 23:12 Comment(1)
Could you please suggest an alternative that works fine with access from multiple processes on a network filesystem?Alyse
L
5

Chapter 16: The Locking Subsystem from the reference guide looks promising.

Lictor answered 19/10, 2011 at 8:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.