c# - DB4O 可扩展性

标签 c# performance scalability db4o object-oriented-database

我正在寻找有关 DB4O 对象数据库的信息。我知道它有客户端/服务器模式,但我不知道它的可扩展性如何。我非常喜欢对象数据库的想法,但仍然找不到合适的 OODB 用于我的任何项目。所以我的问题是:

  • 我想知道是否有人在多客户端环境中部署了 DB4O,与 RDBMS 相比它的性能如何?
  • 目前是否有任何网络应用由 DB4O 提供支持?
  • 我可以使用 DB4O 替代 SQL Server(至少是 SQL Express)吗?
  • DB4O 在实践中可以支持多少并发客户端?
  • 当数据库大小增加时性能会下降吗?

谢谢

附言我对 C# 版本感兴趣。

最佳答案

我大体上同意 Vagaus 和其他评论。 db4o 在某些情况下可以替代,但这实际上取决于您的场景。对象数据库只是一种工具,并不能满足所有需求。您可能应该尝试一下。

我只想补充几点:

  • 多客户端环境:db4o 的重点是嵌入式模式。客户端/服务器模式更像是一个插件,而不是真正的默认模式。 db4o 期望客户端和服务器是“强”耦合的:客户端和服务器需要相同的类,否则就会发生灾难。此外,db4o 服务器不支持多个数据库、用户管理等内容。
  • SQL Server 的替代品(至少是 SQL Express):当然不是大型 SQL Server。需要比 db4o 更强大的对象数据库。 db4o 更像是速成版。
  • 当数据库大小增加时性能是否会下降:是的,就像所有数据库一样。 db4o 是为小型数据库构建的。大约 2-16 GB 适合 db4o。
  • 并发控制:db4o 对客户端-服务器模式的并发控制非常有限。它只支持相对较弱的'Read Committed'隔离模式。

如前所述,db4o 是为嵌入式场景设计的。对于更大的客户端服务器数据库,您可能需要查看其他(对象)数据库。

关于c# - DB4O 可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174742/

相关文章:

performance - Akka 可扩展性和性能基准测试用例

iphone - Parse 的可扩展性如何?

c# - 获取 Windows 注册表编辑器版本

c# - 用于验证 URL 或域名的正则表达式。

python - 与列表相比,在生成器上迭代多次的速度

performance - 我的 Theano 程序真的在使用 GPU 吗?

sql - SQL 数据库设计初学者指南

c# - 如何在word 2003文档的开头插入空白页

c# - Visual Studio 加载项 : How do I Add Item Specific Commands to the Solution Explorer Context Menu

java - 在java中创建昂贵的对象