为什么关系数据库比面向对象数据库更常见?
如果面向对象的编程范例如此普遍,我们不应该看到很多面向对象的数据库管理系统(OODBMS)吗?它们的性能难道不会比RDBMS+或/M更好吗?
为什么关系数据库比面向对象数据库更常见?
如果面向对象的编程范例如此普遍,我们不应该看到很多面向对象的数据库管理系统(OODBMS)吗?它们的性能难道不会比RDBMS+或/M更好吗?
RDBMS保持流行的一个原因是它是一种成熟的技术,被广泛理解,并且有一种多供应商支持的标准语言(SQL).它还有一些很好的接口,比如ODBC和JDBC,可以很好地与不同的语言连接.稳定的API是保持技术主导地位的重要因素.
相比之下,OODBMS没有明确的模型,也没有标准的语言,也没有标准的API.通过拥有领先的供应商实现,甚至没有事实上的标准.
OODBMS概念might的性能优于RDBMS+ORM.这完全取决于实施情况.但OODBMS并不能解决RDBMS擅长解决的问题,这也是事实.如果数据管理解决方案强制执行引用完整性和关系头,则某些数据管理任务会容易得多.OODBMS模型中没有这些特性(至少到目前为止).
博客上有很多关于关系数据库过时的杂音,但RDBMS仍然是大多数数据管理任务的最佳通用解决方案.