我必须遗漏一些东西,因为到目前为止我所看到的一切都表明,它不比单个表存储blob更有趣,第二个表适用于适用于它的标记。
现在我当然可以从设计模式中看到一些好处,但为什么我要使用“面向文档的DBMS”而不是仅使用SQL Server,Oracle或Postgres等传统数据库来构建它?
答案 0 :(得分:4)
我很高兴听到关于CouchDB的floss weekly episode。那里有很多推理和想法。
在倾听之前,我读到的关于这个主题的大部分内容都没有引起太多的洞察(对我而言)。倾听人们谈论和推理为什么以及你想在哪里使用面向文档的数据库帮助我真正获得了概念,推理,利弊。现在所有的文章和声明(恕我直言)突然变得更有意义了。
你的里程可能会有所不同,但这对我有很大帮助。
答案 1 :(得分:0)
我认为你的意思是像Couch DB或Tokyo Cabinet这样的产品(而不是像Documentum这样的ECM产品)。我认为许多开发人员的吸引力是熟悉的。
首先,概念模型(在大多数情况下)是键值对,就像配置文件一样。由于大多数框架似乎需要进行大量的配置争论,因此前端/中间层开发人员对这种工作方式感到满意。其次,这些工具提供了开发人员友好语言的接口,如Java,Python等。
然而,传统的RDBMS产品需要以不同的方式进行思考 - 关系。他们不仅需要学习奇怪的语言,SQL,还需要学习一种新的编程方式:基于集合而不是程序。如果你排练将业务逻辑放在数据库中的中间层而不是存储过程中的参数,那么很多它们也适用于No SQL。
答案 2 :(得分:0)
为什么我要使用"面向文档的DBMS"而不仅仅是 使用传统数据库(如SQL Server,Oracle或。)构建它 Postgres的?
过去,面向文档的DBMS不允许跨文档跨越ACID事务。他们对外键的支持不足。该交易应该允许更易于操作,维护和扩展。