我已经读过here(搜索字符串键“核心在单线程模式下运行”)db4o核心本质上是单线程的,那么当多个用户试图访问时,它如何保持性能/吞吐量数据库并发?
答案 0 :(得分:6)
是的,db4o本质上是单线程的。它使用一个大锁来保护其所有操作。它在代码中很容易看到。
如何保持吞吐量?好吧根本就没有! db4o永远不会为那些执行大量并发操作(如webapps)的应用程序构建。它实际上是嵌入在桌面/移动应用程序中的。它无法处理服务器负载。要获得高吞吐量,您需要使用更大的数据库。
除了单线程之外,db4o还没有提供任何良好的并发控制来检测不同事务的冲突更改。