为什么关系数据库比面向对象数据库更常见?

如果面向对象的编程范例如此普遍,我们不应该看到很多面向对象的数据库管理系统(OODBMS)吗?它们的性能难道不会比RDBMS+或/M更好吗?

推荐答案

RDBMS保持流行的一个原因是它是一种成熟的技术,被广泛理解,并且有一种多供应商支持的标准语言(SQL).它还有一些很好的接口,比如ODBC和JDBC,可以很好地与不同的语言连接.稳定的API是保持技术主导地位的重要因素.

相比之下,OODBMS没有明确的模型,也没有标准的语言,也没有标准的API.通过拥有领先的供应商实现,甚至没有事实上的标准.

OODBMS概念might的性能优于RDBMS+ORM.这完全取决于实施情况.但OODBMS并不能解决RDBMS擅长解决的问题,这也是事实.如果数据管理解决方案强制执行引用完整性和关系头,则某些数据管理任务会容易得多.OODBMS模型中没有这些特性(至少到目前为止).

博客上有很多关于关系数据库过时的杂音,但RDBMS仍然是大多数数据管理任务的最佳通用解决方案.

Database相关问答推荐

如何正确创建mongo模型和客户端?

如何在同一个表的派生部分引用主键?

postgres 索引扫描的启动成本(postgresql 书的内部 struct )

utf-8 与 latin1

如何使用 SELECT WHERE IN() 保持订单?

多少个外键才算太多?

Zend 框架 - 为什么我应该使用数据映射器/Db_Table_Row?

将 `tsv` 文件插入 postgresql 数据库

South migration error: NoMigrations exception for django.contrib.auth

避免从网站数据库中data scraping数据抓取?

JavaScript 布尔搜索查询生成器接口库?

如何在远程服务器上备份 MySQL 数据库?

删除 PHP 中的所有小数

我可以用 JPA 命名我的约束吗?

面向文档的数据库是否旨在取代关系数据库?

EF4 代码优先导致 InvalidOperationException

在数据库字段中存储数字数组

获取数据库路径

如何解析来自 Google 快讯的数据?

数据库 - (行或记录、列或字段)?