db4o如何保持性能

发布于 11-15 13:22 字数 176 浏览 10 评论 0原文

我已阅读此处(搜索字符串键“核心以单线程模式运行”)表明db4o核心本质上是单线程的,那么当多个用户尝试同时访问数据库时,它如何保持性能/吞吐量?

I have read here (search on the string key "core operates in single-thread mode") that db4o core is inherently single threaded, then how does it maintain performance/throughput when multiple users try to access the database concurrently?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雨后彩虹2024-11-22 13:22:26

是的,db4o 本质上是单线程的。它使用一把大锁来保护其所有操作。在代码中很容易看出。

如何维持吞吐量?嗯,事实并非如此! db4o 从来不是为此类执行大量并发操作的应用程序(如 Web 应用程序)构建的。它确实是为了嵌入桌面/移动应用程序而构建的。它无法处理服务器负载。为了获得高吞吐量,您需要使用更大的数据库。

除了单线程之外,db4o 还没有提供任何良好的并发控制来检测不同事务的冲突更改。

Yes, db4o is inherently single threaded. It uses one big lock to protect all its operations. It's easily visible in the code.

How does is maintain the throughput? Well it simply doesn't! db4o was never build for such applications which do tons of concurrent operations (like webapps). It is really build to be embedded in desktop/mobile applications. It cannot handle a server load. For high throughput you need to take at larger databases.

Besides the single threadedness db4o also doesn't offer any good concurrency control to detect conflicting changes of different transactions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文