我们计划从Prevayler(http://prevayler.org/)迁移到db4o(http://www.db4o.com/),因此我们希望了解前进的经验,优点和缺点以及最佳实践。你怎么看待这件事?这是一个好的解决方案吗?或者,使用NoSQL标准解决方案可能会更好吗? (例如MongoDB或CouchDB)。谢谢!
答案 0 :(得分:2)
我们在生产环境(嵌入式和客户端/服务器)中使用db4o作为主数据库,所以我将分享我的一些经验。
<强>临强>: - 非常容易开发(您只需实现数据类) - 在同一界面下支持嵌入式/客户端服务器,这使得单元测试变得容易 - 小型项目的良好表现
<强>缺点强>: - db4o不再开发,因此它已经完全死了,你不会得到很多支持 - [客户端/服务器]每次更改模型时都需要重新部署服务器(不是说你需要自己托管服务器应用程序这一事实) - [客户端/服务器]性能下降,连接的客户端数量增加 - 无法扩展
摘要:db4o非常适合作为嵌入式数据库(移动应用程序,桌面本地数据库),但如果涉及到服务器应用程序则会遇到麻烦
答案 1 :(得分:0)
鉴于我没有收到这么多反馈,我们试了一下。到目前为止,它似乎是嵌入式数据库的一个很好的选择,使部署更容易。所以,我们再次写了整个持久层,用他们的单元测试,似乎工作得很好 然后,我们尝试使用真实数据,我们开始有一些奇怪的Null Pointers,我们不知道为什么。然后,我们开始阅读,我们发现了这个问题:http://www.gamlor.info/wordpress/2009/09/db4o-activation-update-depth/ 我们一直试图解决几个小时,但后来我们决定不花更多的时间在上面,并找到另一种方式。 CouchDB,OrientDB或MongoDB仍然在我们的列表中。