我想知道为什么 ORM 如此受欢迎并且每个人都在使用 JDO 和 JDA 规范的 ORM 实现,而不是使用实现这些规范的对象数据库。使用对象数据库的性能要好得多。
objectdb (JDO, JPA) db4o (JDO)
如果我说这是因为开发人员需要在他们的应用程序中同时使用对象模型和关系模型,我说得对吗?
ORDBM 呢?是否有任何 ORDBM(值得一试)或者对象关系映射与关系数据库一起被视为 ORDBM 吗?
人们使用带有 OR 映射器而不是对象数据库的 RDBMS 的主要原因是 RDBMS 根深蒂固,大家都很好理解和支持。如果您使用对象数据库,您将遇到问题
对象数据库是否真的可以在真实世界场景中提供相同或更好的性能和安全性,可能还有很多疑问(我不能说是否合理)。
以我的经验,使用对象数据库可以减少代码,并使项目更简洁。
它在 RDBMS + ORM(LINQ-to-Entities)的 6 周学习曲线和对象数据库(对于 db4o)的 1 周学习曲线之间产生了差异。
您可能熟悉的常用 DBMS(例如 Oracle、SQL Server、DB2、MySQL、PostGreSQL)不是关系型的。它们基于 SQL 模型,尽管它在某些方面类似于关系模型,但它是完全不同的。
对象关系 DBMS 与关系DBMS的含义相同。这是另一种说法,RDBMS 原则上将支持任何无限的数据类型集和对它们的关系操作。O/R Mapping 软件实际上只解决了 SQL DBMS 不能很好地做到这一点的事实。