db4o 和/或 Eloquera 数据库的真实体验
我正在评估两个对象数据库,db4o (http://www.db4o.com) 和 Eloquera Database (< a href="http://eloquera.com" rel="nofollow noreferrer">http://eloquera.com) 用于即将到来的项目。我必须选择一个。我的基本要求是 RAD 的可扩展性、多用户支持和简单的类型演变。
-
请分享您的现实世界经验。
-
如果两者都有,你能比较一下这两个吗?您更喜欢哪一个?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在过去的两年里,我一直在使用 DB4O,现在我正在切换到 Eloquera。
我的理由按顺序为:
我正在构建一个商业产品,并且 DB4O 上基于版税的许可太高了; DB4O 说我们可以“讨论一下”,但我是一家非常小的开发商店,当有一个非常好的替代方案时,放弃我所做的每笔销售的很大一部分是没有任何意义的。
我正在使用 Db4oTool.exe 在构建后步骤中修改我的组件,它确实减慢了构建过程。 Eloquera 不需要修改我的程序集。
我在 DB4O 代码中发现了一个错误,花了好几个月的时间才将其集成到他们的代码库中。我在 Eloquera 中发现了错误,他们在一两天内修复了它们
DB4O 尚未出现在 .NET 4 上(尽管他们最终有了早期测试版)。 DB4O 是唯一阻碍我使用 VS2010(和 .NET 4)的因素。我尝试迁移到 VS2010,但 VS2010 自动将所有单元测试转换为 .NET 4,因此我所有与持久性相关的单元测试立即失败。
DB4O 并不是真正设计为线程安全的。
DB4O 的功能和许多 API 功能显然是从 Java 移植的。
罗伯特
For the last 2 years I've been using DB4O, and I'm now switching to Eloquera.
My reasons, in order:
I'm building a commercial product, and the royalty based licensing on DB4O is WAY to high; DB4O said we could "talk about it", but I'm a very small development shop and giving away a huge chunk of each sale I make just doesn't make any sense when there's a perfectly good alternative.
I'm using the Db4oTool.exe to modify my assmeblies in a post-build step, and it really slows down the build process. Eloquera doesn't need to modify my assemblies.
I found a bug in the DB4O code, and it took many many months before it was integrated into their codebase. I have found bugs in Eloquera and they fixed them in a day or two
DB4O is not yet on .NET 4 (although they finally have an early beta). DB4O is the ONLY thing holding me back from using VS2010 (and .NET 4). I tried migrating to VS2010 but VS2010 automatically converts all unit tests to .NET 4, so all of my persistence related unit tests immediately failed.
DB4O is not really designed to be thread-safe.
DB4O has features and many API features that are obviously ported from Java.
Robert
Eloquera ( www.eloquera.com ) 最初是为在 Web 环境中使用而设计和开发的,它被设计为原生 .NET C# 中的应用程序。
Eloquera 不像许多其他数据库那样从 Java 移植。
Eloquera 本身作为架构的一部分支持:
我可能会与 Carl 争论 DB4O 是市场上最简单的数据库,因为 Eloquera 可以从 API 角度做同样的事情。
Eloquera 比 Versant 更年轻,并且仍然有一些企业功能即将推出。
上个月,Eloquera 研发部门与 Eloquera Parallel Server 合作,提供水平扩展,这可能比 Versant 的 VOD 便宜得多。
Eloquera 的一些特点
Eloquera ( www.eloquera.com ) originally designed and developed for use in the Web environment and it’s designed as native .NET application in C#.
Eloquera wasn’t ported from Java as many other databases.
Eloquera natively as part of architecture supports:
I might argue with Carl regarding DB4O the easiest database on the market, since Eloquera can do the same things from API perspective.
Eloquera is younger than Versant and still has some enterprise features coming.
Last month Eloquera R&D department got engaged with Eloquera Parallel Server to provide horizontal scaling that arguably will be magnitude cheaper than Versant’s VOD.
Some of the distinguished points
如果您有兴趣了解 db4o 的用户体验,我建议您也询问 我们的 db4o 用户论坛。
虽然 db4o 最初是为资源有限的应用程序中的嵌入式使用而开发的(现在在 Android、CompactFramework 和 Silverlight 等受限平台上运行得很好),但我知道我们确实有很多用户很乐意将 db4o 用于 Web 应用程序。
事实上,leatrop 的 db4o-bashing-post 确实有一定的正确性:db4o 服务器核心当前只允许一个线程进入特定数据库中的存储和查询任务。
然而,有几种方法可以使 db4o 应用程序很好地扩展:
由于 db4o 数据库的设置成本非常低(一次 API 调用),因此可以使用多个数据库。您可以使用 db4o 复制系统 (dRS) 在多个数据库之间分发对象。还可以在 db4o 数据库运行时创建它们的备份,并将这些备份复制到多台计算机。使用多个数据库(用于数据时间片或应用程序中的不同用例)的方法对于备份和调试目的非常有用。如果您只想测试实时应用程序的某些方面,则无需复制整个数据库。
如果您仍然发现 db4o 对于并发用户或数据库大小的扩展性不够好,您可以稍后切换到我们的高端对象数据库 Versant VOD。它是为在云中运行而构建的,并且拥有良好的记录,可以为数千个具有多 TB 数据库的并发用户工作。 VOD for .NET 还附带了 LINQ 提供程序,因此 db4o 和 VOD 的接口是兼容的。
我的建议:从 db4o 开始。它是最容易入门和开发的对象数据库。只需用一行代码即可存储任何对象,无需设置架构或映射文件。使用 LINQ 进行查询(或者本机查询,如果您使用 Java)。
db4o 是开源的并且它是免费的(遵循 GPL)。
If you are interested to hear user experiences with db4o, I suggest you also ask in our db4o user forums.
While db4o was originally developed for embedded use in applications with limited resources (and now runs very well on constrained platforms like Android, CompactFramework and Silverlight) I know that we do have many users that are happily using db4o for web applications.
Indeed there is some correctness to the db4o-bashing-post by leatrop: The db4o server core currently only allows one thread to enter for storing and querying tasks in a particular database.
However there are a couple of ways to make db4o applications scale very well:
Since the setup costs for db4o databases is very low (one single API call) it is possible to work with multiple databases. You can use the db4o replication system (dRS) to distribute objects between multiple databases. It is also possible to create backups of db4o databases while they are running and to replicate these backups to multiple machines. The approach of using multiple databases (for timeslices of data or for different usecases in your application) can be very nice for backup and debugging purposes. You don't need to copy the entire database if you want to test only some aspects of your live app.
If you still find that db4o does not scale good enough for concurrent users or database sizes, you can later switch to our high-end object database Versant VOD. It was built to run in the cloud and it has a proven track record to work for thousands of concurrent users with multi-terabyte databases. VOD for .NET also comes with a LINQ provider, so the interfaces of db4o and VOD are compatible.
My recommendation: Start with db4o. It is the easiest object database to get started with and to develop with. Just store any object with one line of code, without setting up schemas or mapping files. Use LINQ to query (or native queries, if you work with Java).
db4o is open source and it's free (under the GPL).
我正在创建一个完全基于 Javafx 和 Db4o 的第二代社交媒体平台。我们能够使用 db4o 完成任何其他数据库无法完成的事情。语义 OWL 本体论以及与对象的复杂关系以及我们的用户可定义画布使 Db4o 非常适合我们。我们也不担心扩展问题,并且已经找到了几种解决方案。卡尔是软件界最聪明的人之一。当您了解他的产品时,这一事实是显而易见的。
迈克·塔伦特
首席执行官
对象轮
I'm creating a 2nd generation Social Media Platform completely based on Javafx and Db4o. We are able to do things with db4o that would be impossible with any other database. Semantic OWL Ontologies and Complex relationships with Objects and Our User Definable Canvas make Db4o an amazing fit for us. We have no worries about scaling either and have found several solutions. Carl is one of the most intelligent people in software. This fact is obvious when you learn about his product.
Mike Tallent
CEO
Objectwheel