写点什么

架构设计实践五部曲(三):从领域模型提取数据架构

  • 2019-09-26
  • 本文字数:1540 字

    阅读完需:约 5 分钟

架构设计实践五部曲(三):从领域模型提取数据架构

数据架构重要的输出是数据-实体关系图,简称 ER 图。ER 图中包含了实体(数据对象)、关系和属性 3 种基本成分。ER 图可以用来建立数据模型。如何准确的建立产品的数据模型,需要分解出业务需要什么样的数据。数据域的分解过程是站在业务架构的基础上,对业务域进行模型分析的过程。说起业务建模,大家很快会想到领域模型这个概念。这里的思路是通过领域建模来逐步提取系统的数据架构图。


说到领域模型,这里采用四色原型法进行业务模型的抽象。在进行四色模型分析前,我们先了解下四色模型的一些基本概念。


四色模型,顾名思义是通过四种不同颜色代表四种不同的原型。


  1. Moment-Interval Archetype 时标性原型


表示事物在某个时刻或某一段时间内发生的。使用红色表示,简写为 MI.


  1. Part-Place-Thing Archetype 参与方-地点-物品原型.


表示参与扮演不同角色的人或事物。使用绿色表示。简写为 PPT。


  1. Role Archetype 角色原型


角色是一种参与方式,它由人或组织机构、地点或物品来承担。使用黄色表示。简写为 Role。


  1. Description Archetype 描述原型


表示资料类型的资源,它可以被其它原型反复使用,并为其它原型提供行为。使用蓝色表示。简写为 DESC。


还是以风控系统为例,进行领域建模的过程如下:

1.关键流程

在进行业务建模前,首先需要梳理出业务的流程,这一步在业务架构分解环节中已经完成。按照四色建模法的原则,将业务流程图进行一点改造。在原来的流程图上,将流程涉及的事务和角色添加进来。


改造之后的流程图如下:



图 1

2.领域模型骨干

从业务流中,我们可以清晰的定义出 Moment-Interval Archetype (时标性原型),流程中的每个节点符合 MI 的定义,即事物在某个时间段内发生。在 MI 的定义过程中,一种方法是通过名词+动词进行定义。那么,风控的 MI 即为:数据采集、规则 &模型设置、风险识别、告警通知、风险处置、风险分析(MI 使用红色表示)。


在得到骨干之后,我们需要丰富这个模型,使它可以更好的描述业务概念。这里需要补充一些实体对象,通常实体对象包括:参与方、地点、物(party/place/thing)。


Part-Place-Thing Archetype(参与方-地点-物品原型):业务对象、规则、模型、异常风险、通知、异常事件、分析报告(PPT 使用绿色表示)。


领域模型骨干图,如下:



图 2

3.领域模型角色

在领域模型骨干的基础上,需要把参与的角色(role)带进来。Role 使用黄色表示。如下图:



图 3

4.领域模型描述

最后将模型的描述信息添加进来,模型的描述信息中涵盖模型的具体属性。这些描述信息对于后面数据库设计有很大的影响。


模型描述使用蓝色标注,如下图:



图 4

5.提取 ER 图

领域模型构建完成之后,在此基础上,我们已经能够初步的掌握整个系统的数据模型。其中绿色的 Part-Place-Thing Archetype(参与方-地点-物品原型),可以用来表示 ER 图中的实体模型。红色的 Moment-Interval Archetype(时标性原型),可以用来表示 ER 图中的关系。对领域模型架构图进行提炼,得到如下图:



图 5


实体(Entity)和联系(RelationShip)存在一定的关联关系,一般存在 3 种约束性关系: 一对一约束、一对多约束和多对多约束。将这些约束性关系表现在 ER 图中,用于展现实体与实体间具体的关联关系,最终输出 ER 图。(考虑保证 ER 的简洁性,这里并没有把模型的属性画进来)



图 6


最终一种好的 ER 图需要具备以下原则:


  • 同一实体在同一个 ER 图中只能出现一次

  • 先设计局部 ER 图,再把每一个局部 ER 图综合起来,生成总体的 ER 图。


作者简介


胡斌,菜鸟网络技术专家,目前负责菜鸟风控系统的建设。曾在淘宝技术部先后负责卖家平台、商家运营等领域。在大规模分布式应用、大数据、架构领域有多年的开发和管理经验。

延展阅读

架构设计实践五部曲(一):架构与架构图


架构设计实践五部曲(二):业务架构与产品架构设计实践


2019-09-26 20:5315684

评论 4 条评论

发布
用户头像
通表示ER图那儿没看懂,模型类型、规则类型和处置人从哪儿来的,异常事件、异常风险又去哪儿了?
2021-05-23 21:22
回复
模型和规则的治理,通常需要一个类型来管理,就产生了模型类型和规则类型。规则识别出来的风险,在配置规则时候应该需要对每种风险都配置好处理人。
2021-11-07 11:52
回复
用户头像
提取er图那一步还没有看懂
2020-11-05 15:12
回复
用户头像
大神,能不能再多讲讲数据建模的方法及知识
2020-11-05 15:10
回复
没有更多了
发现更多内容

2025 全球人形机器人赛道研究分析!

机器人头条

科技 大模型 人形机器人 具身智能

基于 MySQL 8.0 细粒度授权:单独授予 KILL 权限的优雅解决方案

GreatSQL

对比Jira/禅道后,我们为什么选择Leangoo做敏捷项目管理?

云端拾光

项目管理 敏捷研发 敏捷工具 看板工具 看板软件

质变科技AI-ready Data Cloud:生成式AI分析 VS ChatGPT

AI数据云Relyt

ChatGPT 生成式AI LLM ChatBI AI分析

通义灵码上新推理模型,快来体验数学和编程双冠王 Qwen2.5-Max

阿里巴巴云原生

阿里云 云原生 通义灵码 AI程序员 AI程序员体验官

IPv6改造:隧道技术的原理和优缺点分析

国科云

2025 科技前沿!大模型与智能体的超强联动力大揭秘!

Techinsight

智能体 #大模型 AI 智能体

Spring Boot 3.0核心特性解读

秃头小帅oi

【干货】零售商的商品规划策略

第七在线

解决跨域问题的这6种方案,真香!

伤感汤姆布利柏

关注单店盈利模型!连锁餐饮数字化这么做

奇点云

大数据 零售 餐饮 连锁

财务数字化转型下,RPA 如何成为财务人的得力助手?

Techinsight

RPA 财务 RPA评测 财务关键 财务办公

2025 财务 AI 浪潮来袭,这些工具你还不知道就 OUT 了!

Techinsight

AI RPA评测 AI Agent 财务办公

120万用户背后:质变科技如何定义自主式AI数据分析?

AI数据云Relyt

数据分析 数据科学 LLM Datacloud AI分析

韩国互联网巨头 NAVER 如何借助 StarRocks 实现实时数据洞察

StarRocks

Clickhouse StarRocks #大数据 naver

3D LED屏幕的创新应用及未来发展方向

Dylan

应用 3D LED LED display LED显示屏

Flink CDC + Hologres高性能数据同步优化实践

Apache Flink

大数据 flink 实时计算 hologres

Databend 产品月报(2025年2月)

Databend

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

福大大架构师每日一题

福大大架构师每日一题

质变科技AI-ready Data Cloud:生成式数据分析Relyt AI全球用户突破120万

AI数据云Relyt

数据分析 Datacloud AI分析 生成式AI分析 AI数据分析

通义灵码上新推理模型,快来体验数学和编程双冠王 Qwen2.5-Max

阿里云云效

阿里云 云原生 通义灵码 AI程序员 AI程序员体验官

架构设计实践五部曲(三):从领域模型提取数据架构_架构_胡斌_InfoQ精选文章