加载中...

文档数据库(document database)是以「文档」为基本存储单元的 NoSQL 数据库,文档通常采用 JSON、BSON 或 XML 等半结构化格式,同一集合中的文档可以拥有不同字段,无需预先定义统一模式。
与键值数据库不同,文档内容对数据库是可见的:可以对文档内部字段建立二级索引、按字段条件查询、做聚合运算和部分更新。相关数据倾向于内嵌在同一文档中(反规范化),一次读取即可取回聚合根,减少联表;跨文档事务与关联则相对薄弱。
MongoDB 是最流行的实现,其他包括 Apache CouchDB、RavenDB、Amazon DocumentDB、Firebase 的 Firestore 等,许多关系数据库也通过 JSON 字段类型吸收了文档能力。
优点是模式灵活、贴合面向对象的数据结构、迭代速度快;缺点是数据冗余带来更新一致性负担,复杂关联与强模式约束不如关系数据库。

登录 后参与讨论
暂无讨论,来发表第一条评论吧