只是认为具有 ORM 的关系数据库在许多方面与面向对象的数据库非常相似。我的经验仅在于带有 ORM 提示的 RDMS,因此在我看来,面向对象的数据库非常相似,但没有经验我不能肯定地说。
如果您使用过面向对象的数据库和 ORM,您可以比较它们吗?与 RBMS+ORM 相比,面向对象数据库的弱点是什么?
只是认为具有 ORM 的关系数据库在许多方面与面向对象的数据库非常相似。我的经验仅在于带有 ORM 提示的 RDMS,因此在我看来,面向对象的数据库非常相似,但没有经验我不能肯定地说。
如果您使用过面向对象的数据库和 ORM,您可以比较它们吗?与 RBMS+ORM 相比,面向对象数据库的弱点是什么?
与 RBMS+ORM 相比,面向对象数据库的弱点是什么?
最大的弱点是缺乏标准化:没有标准的 API,没有标准的查询语言(OQL 尝试是一个很大的失败),因此缺乏可移植性和可互操作的工具(用于备份、归档、迁移等)。当涉及到数据时,您不希望这样。
这解释了 IMO 为什么从采用的角度来看 OODBMS 是失败的,以及为什么 RDBMS 会保留一段时间,而不管 NoSQL 运动如何(我感觉 OODBMS 供应商将 NoSQL 运动视为经过一段时间后卷土重来的机会对其产品进行品牌重塑)。
我的经验:
对于企业世界中真正的大型系统,例如一个表中包含 2.5 亿行,诸如分片和诸如聚集索引与非聚集索引之类的选项对于性能来说变得很重要。在这种情况下,db4o 不起作用,它可能需要更多的企业。但是,如果您使用一种非常简单的方法来持久化对象,那么对象数据库将适合您。学习 SQL、在 ORM 中设置映射、处理 MSSQL 的安装、实现自己的批量加载过程等所有工作都消失了,只剩下干净、优雅的 100% 托管代码。
我怀疑供应商没有接受对象数据库的原因之一是数据库市场每年价值 30 亿美元,目前还没有理由杀死摇钱树。
Chris Date 同意:
...“对象/关系”系统只不过是一个真正的关系系统......一个适当的对象/关系系统只是一个具有适当类型支持的关系系统......这只是意味着它是一个适当的关系系统,不多也不少。
SQL 和关系理论:如何编写准确的 SQL 代码,第 36 页