简介
编辑面向文档的数据库或文档存储是一种计算机程序和数据存储系统,设计用于存储、检索和管理面向文档的信息,也称为半结构化数据。
面向文档的数据库是 NoSQL 数据库的主要类别之一,面向文档的数据库一词的流行度随着 NoSQL 本身的使用而增长。XML 数据库是面向文档的数据库的一个子类,这些数据库经过优化以处理 XML 文档。图数据库类似,但增加了另一层,关系,允许它们链接文档以进行快速遍历。
面向文档的数据库本质上是键值存储的子类,键值存储是另一个 NoSQL 数据库概念。区别在于处理数据的方式;在键值存储中,数据被认为对数据库本质上是不透明的,而面向文档的系统依赖文档中的内部结构来提取数据库引擎用于进一步优化的元数据。尽管由于系统中的工具,差异通常可以忽略不计,但从概念上讲,文档存储旨在通过现代编程技术提供更丰富的体验。
文档数据库与传统的关系数据库 (RDB) 形成鲜明对比。关系数据库通常将数据存储在由程序员定义的单独表中,并且单个对象可能分布在多个表中。文档数据库将给定对象的所有信息存储在数据库中的单个实例中,并且每个存储的对象都可以彼此不同。这消除了在将数据加载到数据库时进行对象关系映射的需要。
文件
编辑面向文档的数据库的核心概念是文档的概念。虽然每个面向文档的数据库实现在此定义的细节上有所不同,但一般来说,它们都假定文档以某种标准格式或编码封装和编码数据(或信息)。使用的编码包括 XML、YAML、JSON 以及像 BSON 这样的二进制形式。
文档存储中的文档大致相当于对象的编程概念。它们不需要遵守标准模式,也不会有所有相同的部分、槽、部件或键。通常,使用对象的程序有许多不同类型的对象,而这些对象通常有许多可选字段。 每个对象,即使是同一类对象,看起来也可能大不相同。文档存储的相似之处在于它们允许在单个存储中存储不同类型的文档,允许其中的字段是可选的,并且通常允许使用不同的编码系统对它们进行编码。
这两份文件彼此共享一些结构要素,但又各有独特的要素。文档中的结构和文本以及其他数据通常称为文档的内容,可以通过检索或编辑方法进行引用。与关系数据库不同,关系数据库中每条记录都包含相同的字段,将未使用的字段留空;上例中的任一文档(记录)中都没有空的“字段”。 这种方法允许将新信息添加到某些记录中,而不需要数据库中的所有其他记录共享相同的结构。
文档数据库通常提供与文档内容相关联并与文档内容一起存储的附加元数据。该元数据可能与数据存储提供的用于组织文档、提供安全性或其他实现特定功能的设施有关。
增删改查操作
面向文档的数据库支持文档的核心操作与其他数据库类似,虽然术语没有完全标准化,但大多数从业者将它们识别为 CRUD:
- 创建(或插入)
- 检索(或查询、搜索、阅读或查找)
- 更新(或编辑)
- 删除(或移除)
按键
文档通过代表该文档的xxx键在数据库中寻址。这个键是一个简单的标识符(或 ID),通常是一个字符串、一个 URI 或一个路径。密钥可用于从数据库中检索文档。通常数据库在键上保留索引以加快文档检索,在某些情况下需要创建键。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/249401/