根据 Berkeley 文档的事务 (TS) 和数据库的并发数据存储版本,多个线程可以访问(和更改)数据库。
这是否也意味着我可以将 2 个程序链接到 berkely“客户端”并让它们毫无问题地访问同一个数据库文件?
(我问,因为对于单独的数据库服务器,这当然没有问题,但在 Berkeley 的情况下,数据库引擎与您的程序链接很长)
谢谢!
R
最佳答案
Some documentation似乎认为您可以从多个进程以及多个线程同时使用同一个数据库。具体来说:
“多个进程或单个进程中的多个线程都可以同时使用数据库,因为每个进程都使用 Berkeley DB 库。低级服务,如锁定、事务日志、共享缓冲区管理、内存管理和等等都由图书馆透明地处理。”
粗略阅读并没有阐明 BDB 使用什么来控制来自多个进程的访问,但是如果使用文件系统锁,来自网络文件系统上的多个进程的访问很可能会出现问题。
关于database - 可以同时从多个程序打开和访问 berkeley 数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1749885/