2011-06-15 65 views
3

我已閱讀here(在字符串鍵上搜索「核心以單線程模式運行」)db4o核心本質上是單線程的,那麼當多個用戶嘗試使用db4o核心時,它如何保持性能/吞吐量?同時訪問數據庫?db4o如何保持性能

+0

你可以添加這種單線程的證據嗎? – 2011-06-15 11:44:05

+0

@Kees這裏是從蘇黎世聯邦理工學院的鏈接http://www.globis.ethz.ch/education/oodb/slides/03-db4o-part-1.pdf和搜索字符串鍵「核心在單線程模式「 – 2011-06-15 11:53:48

回答

6

是的,db4o本質上是單線程的。它使用一個大鎖來保護其所有操作。它很容易在代碼中看到。

如何保持吞吐量?那麼它根本就沒有!對於執行大量併發操作的應用程序(例如webapps),db4o永遠不會生成。它確實被嵌入到桌面/移動應用程序中。它無法處理服務器負載。對於高吞吐量,您需要在更大的數據庫上進行。

除了單線程外,db4o也不提供任何好的併發控制來檢測不同事務的衝突變化。

+0

你能否建議我一個好的面向對象的數據庫,它與ASP.NET Web應用程序結合使用效果很好。有沒有人使用db4o與SQL Server進行性能基準測試? – 2011-06-15 12:33:09

+0

我個人可以推薦RavenDB。然而,它不是一個面向對象的數據庫,而是一個非常好的文檔數據庫,它對Web應用程序來說非常有用。 – Gamlor 2011-06-15 12:44:29