9.3.1 文档存储

2025-06-16 12:43:13 更新

文档存储是以文档为存储信息的基本单位。文档存储一般用类似JSON格式存储,存储的内容是文档型的。

文档数据库

关系数据库

集合(可以像定义表结构一样使用)

表结构

文档

可以很长,很复杂,无结构,可以是任意结构的字段,且数据具有物理和逻辑上的独立性

记录

具有高度结构化的表存储

可以通过复杂查询条件来获取数据

具备事务处理和联表join等操作

不提供对参数完整性和分布事务的支持

支持数据之间交换



主流文档型数据库

类型

名称

说明

JSON型

MongoDB

10gen公司开发,特点是无表结构,以BSON(JSON的二进制编码格式,支持更复杂格式)形式保存数据和结构

对比关系型:

添加字段:修改程序

查询数据:查询条件灵活,但不支持join查询

事务:不支持



(1)高性能:提供JSON、XML等可嵌入数据快速处理功能;提供文档索引功能

(2)丰富的查询语言:为数据聚合、结构文档、地理空间提供丰富的查询功能。

(3)高可用性:提供数据冗余处理和故障自动转移功能。

(4)水平扩展能力:通过集群将数据分布到多台机器

XML型

BaseX

具有高度交互可视性(GUI),可实时执行,可进行Xquery编辑。支持FullText扩展,可动态展示XML文件层次和结点关系

JSON型

CouchDB

用Erlang编写,致力于健壮性、高并发性和容错性。

API基于REST,采用标准动词GET、PUT、POST和DELETE。支持JavaScript操作,可通过Map/reduce函数来生成视图。

与其他NoSQL数据库最大的不同在于双流向增加副本。

多键值

Lotus Notes

群件系统,主要用于办公自动化领域,实现了业务流程化,定义了全文检索、复制、集成开发环境和安全机制等方面


XML型

MarkLogic Server