2013-10-09 46 views
2

与键值数据存储相反,MongoDb被称为文档数据库。但MongoDB的docs文档数据库与键值对之间的区别

例子:

{ "item": "pencil", "qty": 500, "type": "no.2" } 

这看起来很像键值对的集合。那么文档数据库和键值对数据库之间是否存在根本差异?

+1

关键:价值商店实际上是指向单一价值的单个关键。文档是键值对的集合。 –

回答

2

这些定义不是唯一的。

“键值数据库”定义要检索的数据的“值”部分可以通过查询数据库的“键”直接访问,而不是定义数据库模式并使用SQL语法查询数据库。 “值”可以是任何东西,简单的字符串,编程语言对象,HTML页面...

文档数据库说明了关于键值对的“值”部分的更多信息:检索的数据编码为一些标准的可移植格式,如JSON或XML。 这为数据库提供了一些结构,但远不如传统数据库那样严格,每个数据行必须符合定义的模式。

因此,为了回答您的问题,MongoDB是一个使用“Key-Value”机制来检索数据的数据库,其“Value”是一个Document(由Document based数据库的定义松散地定义)。

考虑到NoSQL的“定义”有点重叠而且很松散。

0

更容易区分的方法是看Memcached和MongoDB。 Memcached只是一个键值存储,但MongoDB包含更丰富的数据结构,您可以在其中存储Arrays,Dict并很容易地查询它们。

0

在最近一次对MongoDB架构师的采访中,他们对我的开场白是“MongoDB基本上是一个关键:价值数据存储”。所以,是的,它是一组键和它们的值。它更多,但它是。

相关问题