db4o和/或Eloquera数据库的实际经验[英] Real World Experience of db4o and/or Eloquera Database

本文是小编为大家收集整理的关于db4o和/或Eloquera数据库的实际经验的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我正在评估两个对象数据库DB4O( http://www.db4o.com )数据库( http://eloquera.com )用于即将到来的项目.我必须选择一个.我的基本要求是可伸缩性,多用户支持和rad.

  1. 请分享您的真实世界体验.

  2. 如果两者都有,可以比较这两个吗?您更喜欢哪个?

推荐答案

在过去的两年中,我一直在使用DB4O,现在我要改用Eloquera. 我的理由是:

  1. 我正在建造商业产品,而DB4O的最高版权许可是高高的; DB4O说我们可以"谈论它",但是我是一家很小的开发商店,在有一个很好的替代方案时,我进行的每笔销售的大部分都没有任何意义.

  2. 我正在使用db4otool.exe在后构建步骤中修改我的杂物,并且它确实减慢了构建过程. Eloquera不需要修改我的组件.

  3. 我在DB4O代码中找到了一个错误,并且花了很多个月的时间才将其集成到其代码库中.我在Eloquera中发现了错误,他们在一两天内修复了虫子

  4. db4o尚未使用.NET 4(尽管它们最终具有早期beta). DB4O是唯一让我使用VS2010(和.NET 4)的东西.我尝试迁移到VS2010,但VS2010自动将所有单元测试转换为.NET 4,因此我所有与持久性相关的单位测试都立即失败了.

  5. db4o并非真正设计为线程安全.

  6. db4o具有明显从Java移植的功能和许多API功能.

罗伯特

其他推荐答案

eloquera( www.eloquera.com )最初设计和开发用于网络环境和网络环境和它被设计为C#.

中的本机.NET应用程序

Eloquera没有像其他许多数据库那样从Java移植.

本地eloquera作为架构的一部分支持:

  • 同时用户访问
  • 安全设置
  • 具有真正的C/S架构,具有可用的桌面模式.
  • 最大数据库大小1TB+,在大数据量表中,Eloquera保持快速查询响应;它具有待处理技术的专利,包括虚拟文件系统,索引和自适应缓存. Eloquera具有MSIL编写的最新反思,允许Eloquera优于使用Microsoft标准反射的许多数据库.
  • 支持快速数据处理的内存数据库
  • 由于网络中的大多数用户来自关系数据库世界,因此Eloquera支持SQL和Linq
  • 很自然
  • EF支持将于下个月到期
  • 与某些数据库不同,如果您从int; int更改字段;长期它不会继续以错误的结果查询,因为它仍然看到两个int; int; - 它将通知用户更新定义
  • Eloquera为属性和字段提供了本机索引.大多数数据库都不提供属性索引.

我可能会与Carl关于DB4O的市场上最简单的数据库,因为Eloquera可以从API的角度做同样的事情.

Eloquera比Versant年轻,仍然有一些企业功能.

上个月Eloquera R&D部门与Eloquera Poolallal Server订婚,以提供水平缩放,可以说比Versant的VOD便宜.

一些杰出点

  • Eloquera免费用于商业用途.您无需支付任何特许权使用费.您免费提供的所有功能.
  • Eloquera有商业支持.
  • Eloquera是为现代建筑的现代世界而设计的.它并没有不时适应市场需求.这是Eloquera建筑的自然部分.

其他推荐答案

如果您有兴趣听到DB4O的用户体验,我建议您还会在我们的db4o用户论坛.

虽然DB4O最初是在资源有限的应用程序中开发用于嵌入式用途的(现在在诸如Android,CompactFramework和Silverlight之类的受约束平台上运行良好),但我知道我们确实有很多用户很乐意将DB4O用于Web应用程序./p>

的确,Leatrop的DB4O击败局有一些正确的说法:DB4O服务器核心当前只允许一个线程输入以存储和查询特定数据库中的任务.

但是,有几种方法可以很好地使DB4O应用程序缩放:
由于DB4O数据库的设置成本非常低(一个API调用),因此可以使用多个数据库.您可以使用DB4O复制系统(DRS)在多个数据库之间分配对象.也可以在运行时创建DB4O数据库的备份,并将这些备份复制到多个计算机.使用多个数据库(对于应用程序中的数据或不同用户酶)的方法非常适合备份和调试目的.如果您只想测试实时应用程序的某些方面,则无需复制整个数据库.

如果您仍然发现DB4O的扩展不足以适合并发用户或数据库尺寸,则稍后可以切换到我们的高端对象数据库 versant vod .它是为了在云中运行而建造的,并且具有可靠的记录记录,可为数千名具有多特比特数据库的并发用户工作. .NET的VOD也带有LINQ提供商,因此DB4O和VOD的接口兼容.

我的建议:从DB4O开始.这是开始和开发的最简单对象数据库.只需存储任何具有一行代码的对象,而无需设置模式或映射文件即可.使用linq查询(如果与Java一起工作,则使用本机查询).

db4o是开源的,是免费的(在GPL下).

本文地址:https://www.itbaoku.cn/post/597657.html

问题描述

I am evaluating two object databases, db4o (http://www.db4o.com) and Eloquera Database (http://eloquera.com) for a coming project. I have to choose one. My basic requirement is scalability, multi user support and easy type evolution for RAD.

  1. Please share your real world experience.

  2. If you have both, can you compare these two? Which do you prefer?

推荐答案

For the last 2 years I've been using DB4O, and I'm now switching to Eloquera. My reasons, in order:

  1. 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.

  2. 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.

  3. 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

  4. 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.

  5. DB4O is not really designed to be thread-safe.

  6. DB4O has features and many API features that are obviously ported from Java.

Robert

其他推荐答案

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:

  • Simultaneous user access
  • Security settings
  • Has genuine C/S architecture, has desktop mode available.
  • Max database size 1TB+, in a large data scale Eloquera maintains the fast query response; it has patents pending technologies including virtual file system, indexing, and adaptive cache. Eloquera has state of the art reflection written in MSIL that allows Eloquera to outperform many databases that use Microsoft’s standard reflection.
  • Supports in-memory database for the fast data processing
  • Since most of the users in the Web come from relational database world it was natural for Eloquera to support SQL and LINQ
  • EF support is due next month
  • Unlike some databases Eloquera does not put blindly objects in the database, if you change fields from int;int; to long; it will not keep querying with a wrong results because it still sees two int;int; - it will notify the user to update the definition
  • Eloquera provides a native indexing for properties and fields. Most of the databases do not provide properties indexing.

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

  • Eloquera is FREE for commercial use. You are not required to pay any royalties. All features above you have for FREE.
  • Eloquera has a commercial support available.
  • Eloquera is designed for the modern world with modern architecture. It was not adapting from time to time to market needs. It is natural part of Eloquera’s architecture.

其他推荐答案

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).