我正在寻找有关 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/