📜  NoSQL 中的文档数据库

📅  最后修改于: 2022-05-13 01:57:03.496000             🧑  作者: Mango

NoSQL 中的文档数据库

在本文中,我们将了解 NoSQL 的文档数据模型以及文档数据模型的示例、优点、缺点和应用。

文档数据模型:

一种 文档数据模型与其他数据模型有很大不同,因为它将数据存储在 JSON、BSON 或 XML 文档中。在这个数据模型中,我们可以将文档移动到一个文档下,除此之外,任何特定元素都可以被索引以更快地运行查询。通常,文档的存储和检索方式接近于在许多应用程序中使用的数据对象,这意味着在应用程序中使用数据所需的翻译非常少。 JSON 是一种本地语言,也经常用于存储和查询数据。

所以在文档数据模型中,每个文档都有一个键值对,下面就是一个例子。

{
"Name" : "Yashodhra",
"Address" : "Near Patel Nagar",
"Email" : "yahoo123@yahoo.com",
"Contact" : "12345"
}

文档数据模型的工作:

这是一种数据模型,它作为半结构化数据模型工作,其中记录和与之关联的数据存储在单个文档中,这意味着该数据模型并非完全非结构化。主要是这里的数据存储在一个文档中。

特征:

  • 文档类型模型:众所周知,数据存储在文档中,而不是表格或图形中,因此在许多编程语言中映射事物变得很容易。
  • 灵活的模式:总体模式非常灵活,可以支持这种说法,必须知道并非集合中的所有文档都需要具有相同的字段。
  • 分布式和弹性:文档数据模型非常分散,这是数据水平扩展和分布背后的原因。
  • 可管理的查询语言:这些数据模型是查询语言允许开发人员对数据模型执行 CRUD(创建读取更新销毁)操作的数据模型。

文档数据模型示例:

  • 亚马逊文档数据库
  • MongoDB
  • 宇宙数据库
  • ArangoDB
  • Couchbase 服务器
  • 沙发数据库

好处:

  • 无模式:它们非常适合保留大量现有数据,因为数据存储的格式和结构绝对没有限制。
  • 更快地创建文档和维护:创建文档非常简单,除此之外几乎不需要任何维护。
  • 开放格式:它有一个非常简单的构建过程,使用 XML、JSON 和其他格式。
  • 内置版本控制:它具有内置版本控制,这意味着随着文档大小的增长,它们可能会变得复杂。版本控制减少了冲突。

缺点:

  • 弱原子性:缺乏对多文档 ACID 事务的支持。文档数据模型的变化 涉及两个集合将要求我们运行两个单独的查询,即每个集合一个。这是它打破原子性要求的地方。
  • 一致性检查限制:可以搜索集合和文档 未连接到作者集合但这样做可能会在数据库性能方面产生问题。
  • 安全性:如今许多 Web 应用程序缺乏安全性,进而导致敏感数据泄露。因此,它成为一个关注点,必须注意 Web 应用程序的漏洞。

文档数据模型的应用:

  • 内容管理:这些数据模型在创建各种 视频流平台、博客和类似服务因为每个都存储为单个文档,并且随着服务的发展,这里的数据库更容易维护。
  • 图书数据库:这些在制作图书数据库时非常有用,因为我们知道这个数据模型让我们可以嵌套。
  • 目录:在存储和读取目录文件时,这些数据模型非常常用,因为如果目录存储了数千个属性,它具有快速读取能力。
  • 分析平台:这些数据模型在分析平台中非常常用。