可以同时从多个程序打开和访问berkeley数据库吗?

时间:2009-11-17 16:04:03

标签: database concurrency process berkeley-db

根据Berkeley文档的Transactional(TS)和Concurrent Datastore版本的数据库,多个线程可以访问(和更改)数据库。

这是否意味着我可以将2个程序链接到berkely'client'并让他们访问相同的数据库文件而没有任何问题?

(我问,因为对于一个单独的数据库服务器,这当然没有问题,但在Berkeley的情况下,数据库引擎与你的程序有很长的联系)

谢谢!

[R

2 个答案:

答案 0 :(得分:4)

Some documentation似乎认为您可以从多个进程以及多个线程同时使用相同的数据库。具体做法是:

“单个进程中的多个进程或多个线程都可以在每个进程使用Berkeley DB库的同时使用数据库。低级服务,如锁定,事务日志记录,共享缓冲区管理,内存管理和所以这些都是由图书馆透明处理的。“

粗略阅读没有说明BDB用于控制多个进程的访问权限,但如果使用文件系统锁,则从网络文件系统上的多个进程进行访问可能会有问题。

答案 1 :(得分:4)

参考指南中的

Chapter 16: The Locking Subsystem看起来很有希望。

相关问题