【问题标题】:Difference between document database and key value pair文档数据库和键值对的区别
【发布时间】:2017-07-06 15:19:38
【问题描述】:

MongoDb 被称为文档数据库,而不是键值数据存储。但是mongodbdocs

例子:

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

这看起来完全像键值对的集合。那么文档数据库和键值对数据库之间是否存在根本区别

【问题讨论】:

  • key:value 存储实际上是指向单个值的单个键。文档是键值对的集合。

标签: mongodb nosql


【解决方案1】:

这些定义不是排他性的。

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

文档数据库更多地说明了键值对的“值”部分:检索到的数据以某种标准的、可移植的格式编码,如 JSON 或 XML。 这为数据库提供了一些结构,但远不如传统数据库那样严格,其中每一行都必须符合定义的架构。

所以,为了回答您的问题,MongoDB 是一个使用“键值”机制来检索数据的数据库,其“值”是一个文档(由基于文档的数据库的定义松散定义)。

考虑到 NoSQL 的“定义”有点重叠并且非常松散。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      在最近一次对 MongoDB 架构师的采访中,他们对我的开场白是“MongoDB 基本上是一个键值对数据存储。”所以,是的,它是键及其值的集合。不止于此。

      【讨论】:

        猜你喜欢
        • 2011-04-03
        • 2012-04-10
        • 1970-01-01
        • 1970-01-01
        • 2021-10-04
        • 2018-03-08
        • 1970-01-01
        • 2014-09-18
        • 1970-01-01
        相关资源
        最近更新 更多