Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nosql “使用”的好处是什么;“面向文档的数据库管理系统”;?_Nosql_Document Oriented Db - Fatal编程技术网

Nosql “使用”的好处是什么;“面向文档的数据库管理系统”;?

Nosql “使用”的好处是什么;“面向文档的数据库管理系统”;?,nosql,document-oriented-db,Nosql,Document Oriented Db,我肯定错过了一些东西,因为我所看到的一切都表明,它并不比一个用于存储blob的表和另一个用于应用于它的标记的表更有趣 现在我当然可以从设计模式中看到一些好处,但是为什么我要使用“面向文档的DBMS”,而不是使用传统的数据库(如SQL Server、Oracle或Postgres)来构建它呢 我想您指的是Coach DB或Tokyo Cabinet等产品(而不是Documentum等ECM产品)。我认为很多开发者的吸引力在于熟悉 首先,概念模型(在大多数情况下)是键值对,就像配置文件一样。由于大多

我肯定错过了一些东西,因为我所看到的一切都表明,它并不比一个用于存储blob的表和另一个用于应用于它的标记的表更有趣


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

我想您指的是Coach DB或Tokyo Cabinet等产品(而不是Documentum等ECM产品)。我认为很多开发者的吸引力在于熟悉

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


然而,传统的RDBMS产品需要以一种不同的方式进行思考——关系。它们不仅需要学习一种奇怪的语言SQL,还需要学习一种新的编程方式:基于集合而不是过程的。如果您排练了将业务逻辑放在中间层而不是数据库中的存储过程的论点,那么它们中的很多也适用于没有SQL。p> 我喜欢听关于CouchDB的故事。那里有很多推理和想法

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

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

为什么我要使用“面向文档的DBMS”而不是 使用传统数据库(如SQL Server、Oracle或 博士后


历史上,面向文档的DBMS不允许跨文档跨ACID事务。他们不太支持外键。这项交易应该允许更易访问的操作、维护和扩展。

Documentum是有史以来价格过高的企业软件中最卑鄙的一种。如果您正在寻找一种关键价值模型,关系数据库在这方面没有问题。这只是一个两列的表。见鬼,其中一列甚至被称为“主键”。@JonathanAllen-使用关系数据产品(例如Oracle、MySQL)来保存键值对,这一点很不重要。这只是开发人员需要了解的另一种设计模式,以便充分利用他们的数据库。在过去五年中,我构建的每个数据库都至少有一个Key+XML或Key+JSON表。为那一张桌子设置整个其他服务器将是疯狂的。