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

文档型数据库解读11:16种文档型数据库的设计模式概览

巨杉数据库 2024-10-10
418

欢迎来到文档型数据库系列解读的第十一期!从本期开始,我们将正式进入文档型数据库模式设计阶段,通过具体的案例作为背景,讲解文档型数据库各种「设计模式」,从而探讨「设计模式」的基本内容、使用场景、实现方式、案例介绍以及模式本身的优点和局限性。本文,我们先对这些「设计模式」进行整体的介绍。

按使用难度及应用场景划分:

鉴于类别、使用难度以及应用场景等多重因素,涉及到以下几种「设计模式」方向:

  • 计算类别(Computation:包含预计算以及如何快速组合数据的几种模式。

  • 分组类别(Grouping:包含将多个文档或文档的部分组合成单个文档的几种模式。

  • 生命周期类别(Lifecycle:包含具有操作的几种模式。这里的操作指的是在系统生命周期的给定时间,在应用程序之外所执行的脚本以及过程。

  • 多态行类别Polymorphism :围绕文档模型的多态特性所设计的几种模式。这个特性允许具有不同形态的对象出于各种原因存在于一个集合中。

  • 关系类别Relationships :此类模式在文档之间建立简单的嵌入或者引用关系。例如,有的模式可以旋转数据以及对图进行建模。

类别

设计模式

计算

  • 近似值

  • 计算值

分组

  • 异常值

  • 预分配

生命周期

  • 归档

  • 文档版本控制

  • 信封

  • 模式版本控制

多态性

  • 继承

  • 单集合

关系

  • 属性

  • 扩展引用

  • 子集

表1:按类别分组的「设计模式」

按难易程度划分:

根据难易程度及使用频率可划分为6个“基础”模式,5个“高级”模式,以及5种“不太常见“的模式,如表2:

难度

设计模式

基础

  • 近似值

  • 计算值

  • 扩展引用

  • 继承

  • 信封

  • 模式版本控制

高级

  • 归档

  • 属性

  • 单集合

  • 子集

不太常见

  • 文档版本控制

  • 图形

  • 异常值

  • 预分配

表2:按难度分组的模型「设计模式」

模型属性

在「设计模式」时,我们会考虑到采用这一「设计模式」是否会引发异常(例如:导致数据重复、不实时或者对引用完整性被破坏)。因此,表3总结了每个模式的属性特征:

设计模式

 类别

模型关系变化

(Yes/No)

引入异常 (S=some)

近似值

计算

N

Y

归档

生命周期

N

N

属性

关系

Y

N

分组

Y

N

计算

计算

N

Y

文档版本控制

生命周期

N

N

信封

生命周期

N

N

扩展引用

关系

Y

Y

关系

Y

S

继承

多样性

Y

N

异常值

分组

Y

N

预分配

分组

Y

N

模式版本控制

生命周期

N

N

单集合

多态性

Y

N

子集

关系

Y

Y

关系

Y

S

表3:模型「设计模式」的一些属性。

使用场景介绍

本文通过五个领域(金融服务、电子商务、物联网、客户服务和网站)中每个领域的典型应用场景,从而去更全面的认识每个模式在其发挥的作用,如表4所示:

设计模式

金融服务(顾问应用程序)

电子商务(购物网站)

物联网(SIM卡)

客户服务(单一视图)

网站(电影网站)

近似


网页计数器

连接设备计数器


网页计数器

归档

保留文件的审计

停产产品

保留测定值用于分析



属性

搜索客户信息

产品属性


可搜索的文档标准

选定国家/地区的票房收入

每个账户每月的交易


一天的测定值

每年每个账户的索赔

每天的票房收入

计算

日终账户价值


每个存储桶的总数和平均数


门票销售收入

文档版本控制

更改的审计跟踪

上个月的更改




信封

应用迁移

应用迁移

应用迁移

应用迁移

应用迁移

扩展引用

客户资料中的账户

订单中的产品

测定中的设备

保单中的客户

电影中的演员

调查个人之间的欺诈性交易

多类别产品层次结构




继承

分组不同的信贷产品

分组不同类型的产品

分组不同制造商的SIM卡

分组政策

分组电影和电视节目

常值





额外列表

预分配

与顾问预约会议


一天的测定值


影院的座位

模式版本控制

应用程序更新

应用程序更新

应用程序更新

应用程序更新

应用程序更新

单集合


购物车


用户个人资料、政策、索赔和消息


子集

账户中的最后交易

产品测评

设备最近报告的数据

客户交互的日志

电影评价

银行位置组织

产品类别

设备所在区域组织


影院位置组织

表4:设计模式、用例和场景

总结

文档型数据库通过基于JSON的数据存储格式,提供其灵活性、高性能和开发效率,成为当今数据库领域备受关注的技术之一,文档型数据库成功地应对了多样化和变化频繁的数据需求。选择巨杉文档型数据库,可以帮助企业提升开发人员的程序开发效率,而在设计时遵循「设计模式」的最佳实践,可以帮助企业更有效地提升整体业务性能,并长期管理数据的有效性。


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

评论