db4o如何保持性能?

3

我已经阅读了这里(在字符串键“core operates in single-thread mode”上搜索),发现db4o核心是天然单线程的,那么当多个用户同时尝试访问数据库时,它如何维护性能/吞吐量?


你能添加一些关于单线程的证据吗? - Kees de Kooter
@Kees 这是来自苏黎世联邦理工学院的链接 http://www.globis.ethz.ch/education/oodb/slides/03-db4o-part-1.pdf,请搜索字符串关键字“core operates in single-thread mode”。 - Sreedhar Danturthi
1个回答

6
是的,db4o本质上是单线程的。它使用一个大锁来保护其所有操作。在代码中很容易看到这一点。
那么它如何维护吞吐量呢?实际上它并不会!db4o从未为处理大量并发操作(如Web应用程序)等应用程序而构建。它确实是为嵌入式桌面/移动应用程序而设计的。它无法处理服务器负载。要处理高吞吐量,您需要考虑更大的数据库。
除了单线程之外,db4o还没有提供任何良好的并发控制以检测不同事务之间的冲突更改。

你能否推荐一个与ASP.NET Web应用程序良好配合的好的面向对象数据库?有人已经对db4o和SQL Server进行了性能基准测试吗? - Sreedhar Danturthi
我个人可以推荐 RavenDB。虽然它不是面向对象的数据库,但它是一个非常好的文档数据库,非常适合 Web 应用程序。 - Gamlor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接