暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

文档型数据库解读7:文档型数据库建模视角—关系、维度及查询

巨杉数据库 2024-06-18
268

关系型数据库和文档型数据库是两个不同的建模视角。在关系型数据库内,又分为关系和维度两个视角。而文档型数据库主要面向查询,总结下来建模的三个视角是关系、维度和查询。本文将介绍文档型数据库建模视角的由来与内容。


关系型数据库源自Ted Codd在1969年至1974年间的开创性论文,其核心思想是在物理层面以表为单位存储数据,每个表包含属性,通过主键和外键约束强制表之间的关系。关系型数据库获得超过半个世纪成功的原因之一,在于其能够通过执行规则来维护高质量数据,确保数据完整性。其次,关系型数据库通过高效利用CPU,在存储数据、减少冗余和节省存储空间方面表现出色。然而,近年来随着磁盘成本的下降和CPU性能的相对稳定,节省空间的优势逐渐减弱,这为文档型数据库数据库,特别是文档型数据库的崛起创造了机会。


文档型数据库,是一种“非关系型数据库”,采用与关系型数据库不同的数据存储方式。关系型数据库以表(集合)的形式存储数据,通过主键和外键驱动数据完整性和导航。相反,文档型数据库以多种形式存储数据,例如:「巨杉文档型数据库」以及MongoDB均以JSON及BSON格式存储数据,其他文档型数据库产品可能使用RDF三元组或XML。


关系、维度和查询可以存在于这三个模型级别,共同形成九种不同类型的建模视角(如表1所示)。在业务建模的过程中,我们首先对齐通用业务语言,然后细化业务需求,最终进行数据库设计。例如,在为保险公司的理赔申请进行建模时,我们可能需要创建一个模型以收集业务规则,使用BTM收集业务词汇,LDM收集详细业务需求,PDM进行数据库设计。



关系型数据库

文档型数据库


关系

维度

查询

业务术语

(对齐)

术语和规则

术语和路径

术语和查询

逻辑

(细化)

集合

度量和上下文

按层级查询

物理

(设计)

扩展或折中后的集合

星型模式或雪花模式

增强的层次结构查询

表1: 九种不同类型的建模视角

这种方法通过对齐、细化和设计的三个层次,使我们能够更有效地建模业务需求,并在关系型数据库的:关系、维度,以及文档型数据库的查询模型之间,选择适当的模型类型。


关系型数据库

文档型数据库

因素

关系

维度

查询

优势

通过集合精确表示数据

精确表示数据如何用于分析

精确表示将如何接收和访问数据

重点

精确表示将如何接收和访问数据

分析业务流程的业务问题

提供业务流程洞察的访问路径

用例

运营(OLTP)

分析(OLAP)

发现

父视角

RDBMS

RDBMS

NoSQL

例子

客户必须拥有至少一个账户。

通过日期、区域和产品产生了多少收入?也想按月和年查看...

哪些客户的支票账户今年产生了超过10,000美元的费用,该客户还拥有至少一只猫,并住在纽约市500英里范围内?

表 2:关系型、维度型和查询型的比较

总结

文档型数据库以其独特的建模视角,为企业数据管理带来了新的思路和解决方案。关系、维度和查询三个视角的结合,使得文档型数据库在处理不断变化的业务需求、灵活适应数据模型变化、以及提供高效的查询操作等方面展现出独特的优势。



往期阅读:

文档型数据库解读6:文档型数据库建模过程--对齐、细化、设计

文档型数据库解读5:文档型数据库模型组件——实体、关系、属性与主键

文档型数据库解读4:精确性、最小化、可视化
文档型数据库解读3:文档型数据结构的多态性
文档型数据库解读2:文档型和关系型数据结构对照
文档型数据库解读1:什么是文档型数据库


最后修改时间:2024-06-19 11:45:41
文章转载自巨杉数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论