2

我一定遗漏了一些东西,因为到目前为止我所看到的一切都表明,它并不比一个用于存储 blob 的表和另一个用于适用于它的标签的表更有趣。

现在我当然可以从设计模式中看到一些好处,但是为什么我要使用“面向文档的 DBMS”而不是仅仅使用 SQL Server、Oracle 或 Postgres 等传统数据库来构建它呢?

4

3 回答 3

4

我喜欢听关于 CouchDB的每周一集。那里有很多推理和想法。

在听之前,我读到的关于这个话题的大部分内容都没有引发太多的洞察力(对我来说)。听人们谈论和推理你为什么和在哪里使用面向文档的数据库帮助我真正了解概念、推理、优缺点。现在所有的文章和声明(恕我直言)突然变得更有意义了。

您的里程可能会有所不同,但这对我帮助很大。

于 2009-11-15T08:55:37.587 回答
0

我想您指的是 Couch DB 或 Tokyo Cabinet 之类的产品(而不是 Documentum 之类的 ECM 产品)。我认为许多开发人员的吸引力在于熟悉。

首先,概念模型(在大多数情况下)是键值对,就像配置文件一样。由于大多数框架似乎需要大量的配置争论,前端/中间层开发人员对这种工作方式感到满意。其次,这些工具以开发人员友好的语言(如 Java、Python 等)提供接口。

然而,传统的 RDBMS 产品需要以不同的方式思考——关系。他们不仅需要学习一种奇怪的语言 SQL,还需要学习一种新的编程方式:基于集合而不是过程。如果您排练将业务逻辑放在中间层而不是将存储过程放在数据库中的论点,那么其中很多也适用于 No SQL。

于 2009-11-15T08:46:42.873 回答
0

为什么我要使用“面向文档的 DBMS”而不是仅仅使用 SQL Server、Oracle 或 Postgres 等传统数据库来构建它?

历史上面向文档的 DBMS 不允许跨文档跨越 ACID 事务。他们对Foreign Keys的支持很差。交易应该允许更方便的操作、维护和扩展。

于 2017-05-20T11:57:33.783 回答