7、数据库技术:从文档数据库到图数据库的探索

数据库技术:从文档数据库到图数据库的探索

1. 文档数据库的数据模型

文档数据库在数据存储和查询方面有独特的数据模型,常见的有文档嵌入和文档链接两种方式。

1.1 文档嵌入

在文档嵌入模式中,“演员”数据以数组形式嵌套在“电影”文档内。这种模式的优点显著,它允许在一次操作中获取一部电影及其所有演员的信息,避免了在应用代码中执行连接操作。然而,该模式也存在明显问题,“演员”数据会在多个文档中重复出现。在复杂设计中,如果需要更改“演员”的某些属性,可能会引发问题和数据不一致。而且,虽然一部电影中的演员数量相对较少,但在其他应用场景中,若嵌入文档的成员数量无限制增加,由于单个 JSON 文档的大小通常有限制(如 MongoDB 中为 64MB),也会产生问题。

1.2 文档链接

为解决文档嵌入的问题,数据库设计者可能会选择使用文档标识符来链接多个文档,类似于关系数据库通过外键关联行。例如,在“电影”文档中嵌入演员 ID 数组,用于定位出演该电影的演员。还有一种类似关系型第三范式的文档链接设计,通过链接文档将电影与演员关联起来。尽管这种设计对于文档数据库来说有些不自然,但对于某些工作负载,它能在性能和可维护性之间取得较好的平衡。

与关系数据库相比,文档数据库的数据建模确定性较低,没有类似第三范式这样定义“正确”模型的标准。而且,关系数据库的建模主要由待存储的数据性质驱动,而文档数据库中要执行的查询性质更为重要。

2. 早期 JSON 数据库

2.1 CouchDB

CouchDB 是首个著名的基于 JSON 的数据库系统,由 Damien Katz 创建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值