5.业务架构·应用架构·数据架构实战 --- 业务驱动的数据架构设计
Posted enlyhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.业务架构·应用架构·数据架构实战 --- 业务驱动的数据架构设计相关的知识,希望对你有一定的参考价值。
第5章 业务驱动的数据架构设计
5.1 什么是数据架构(DA)
数据架构是通过对企业战略得到的数据资产管理蓝图。具体而言,该蓝图用于指导如何分析数据需求,如何做好相应设计。
数据架构描述企业的:1)主要数据类型及其来源;2)逻辑数据资产;3)物理数据资产;4)数据管理资产;5)上述所有内容的结构和交互
综上可见:
1.数据架构的终极目标,是支撑战略
2.数据架构的具体内容包括数据需求,数据设计,数据管理这三大块
3.其中数据设计的内容,远远超过了数据模型设计,一般包括数据模型设计,数据存储设计,数据流设计
数据架构的设计内容可以总结为五大方面:
1.数据类型及来源
2.数据模型
3.数据存储
4.数据流
5.数据管理
5.2 数据架构在全球的快速发展
【技术】从OLTP,到BI,到BigData
数据库=文件+存取引擎+编程API
【管理】从"数据架构"到"企业数据管理"
5.3 解读TOGAF的数据架构方法
【1】DA设计内容
在TOGAF中,列举了如下目标数据架构设计内容:
1.定义业务数据模型
2.定义逻辑数据模型
3.确定数据满足业务
4.定义数据交换格式
5.规定数据管理过程
6.编写相关架构文档
【2】DA设计步骤
1.确定设计哪些视点
2.开发基线数据架构
3.开发目标数据架构
4.进行差距分析
5.识别能力增量
6.架构影响评估
7.干系人评审
8.敲定数据架构
9.创建架构文档
TOGAF推荐的数据架构设计过程如下:
1.分析业务与应用需求
2.定义合理的数据需求
3.数据模型设计
4.数据生命周期,数据流,数据接口,数据存储设计
5.4 实践攻略:数据架构的实际工作内容
【落地】实际的数据架构内容模型
数据战略:
1.需求
数据类型及其来源(生产库,历史库,BI库,主数据,参考数据)
(文本,日志,邮件,图片,声音,视频,IM,帖子,网页,位置,传感器)
(元数据)
2.设计
逻辑模型(数据模型,数据生命周期)
物理存储及其分布(数据存储,数据分布)
数据流(数据流,数据沿袭,数据交换格式)
3.管理
数据管理(数据标准,数据质量,数据安全)
【要点】数据需求=需要管理哪些数据类型
需求规定做什么,设计规定怎么做。
数据架构整个规划和设计过程,最重要的一点就是要做什么,即做好数据需求的分析。
1.根据不同领域的业务需求,要识别生产库,历史库,BI库对应的数据类型。
2.要做跨部门跨业务的分析,识别主数据对应的数据类型。
3.大数据风潮已来,每个企业都在探索大数据的深度应用场景。这就需要识别类型广泛的非结构化数据和半结构化数据。
【要点】静态设计=逻辑数据模型+物理存储与分布
数据架构的静态设计方面,总的来说包括4点:
1.数据模型设计
2.数据生命周期设计
3.数据存储策略设计
4.数据分布策略设计
逻辑数据模型,一般采用ER图设计。它和具体的物理数据模型独立,可以映射成不同的物理结构。
在设计数据模型的同时设计数据生命周期。
【要点】动态设计=数据流+数据沿袭+数据接口
数据架构的动态设计包含3点:
1.数据流 --- 定义数据传递与使用路径
2.数据沿袭 --- BI 领域多见数据的抽取,转换,装载,清洗,脱敏,而数据沿袭用于明确数据和数据源头之间的追踪关系
3.数据接口 --- 定义数据交换格式
【要点】数据管理=数据标准+数据质量+数据安全
数据管理包括:
1.数据标准
是指保证数据定义和使用的 一致性,准确性和完整性的规范性约束。例如,对企业数据的分类标准;数据的命名,数据类型,长度,
业务含义,计算口径,归属部门等统一规范;数据质量标准。
在数据标准中,规定数据的类型或数据域的划分最为常见。
2.数据质量
数据质量是围绕数据标准展开的检查,分析,提升工作,一个企业如果没有数据标准,它可怎么管理数据质量呢。
3.数据安全
数据安全包括 数据安全标准与策略,数据安全管理规范,数据安全审计规范等。其中<<数据安全标准>>可以认为是<<数据标准>>
的子集,包含横跨技术维,系统维,管理维等数据安全规定。
5.5 实践攻略:业务驱动的数据架构设计步骤
【落地】设计步骤
业务驱动,落地的数据架构设计过程:
1.上接业务
分析数据需求,识别数据类型。
2.静态设计
设计数据模型,定义生命周期。
规划数据存储,设计数据分布。
3.动态设计
数据流,数据沿袭,数据交换格式设计。
4.数据管理
根据需要,定义数据标准,数据质量,数据安全等规程。
【揭秘】业务驱动的数据建模
数据模型是数据架构的核心。
数据建模是业务驱动的。业务是果,数据是因,业务驱动就是以果导因。
不同粒度的业务定义能驱动不同粒度的数据建模:
1.业务主题,业务域【巨粒度】 --- 发现数据域
2.业务流程【粗粒度】 --- 发现数据实体,属性,关系
3.功能、特性【中粒度】 --- 细化数据实体,属性,关系
4.业务规则【细粒度】 --- 细化数据实体,属性,关系
5.6 实践案例:电商系统——业务驱动的数据建模串讲
【1】巨粒度 --- 业务主题驱动的数据建模
UC 矩阵可以作为发现数据域,识别数据类型的主力工具 --- 为数据建模"打头炮"。它的纵横两维:
1.每行 --- 代表一个巨粒度的业务主题或者业务功能域
2.每列 --- 代表一个巨粒度的数据域
C 代表创建(Create),U 代表使用(Use)。
【2】粗粒度 --- 业务流程驱动的数据建模
业务域包含一组业务功能,而每个业务功能都由业务流程来实现和支撑。此时,就该让业务流程驱动数据实体,属性,关系的发现了。
业务流程驱动的数据建模能否成功,依赖于"完整的主干流程+穷举了分支流程"这个条件是否满足。
【3】中粒度 --- 功能特性驱动的数据建模
功能特性更细粒度一些。或者说,业务流程说到底还是围绕业务,而功能特性却是"业务能力+系统能力"无所不包。所以,功能特性提供了更多
的信息量。
功能特性驱动的数据建模,用于推动数据实体,属性,关系模型的优化。
【4】细粒度 --- 业务规则驱动的数据建模
数据建模还没结束,因为还有数不胜数的业务规则需要支持,有的业务规则需要特定的数据模型的支持才能实现。所以,接下来架构师要做的,
就是明确业务规则,并逐条确认数据模型是否支持它。
相反,数据建模若是缺乏了业务规则驱动这一环,结果只能是模型不完整,模型质量差,研发后期不断"擦屁股",改模型,改程序。
5.7 实践案例:数字化服务转型——分析数据需求,识别数据类型
【推进】数据架构设计的起跑线
数据架构设计是业务驱动的,数据架构师的第一步工作是分析数据需求,识别数据类型。全面识别数据类型,具体做法有二:
1.认真的做法 --- 用UC矩阵,细细梳理每个业务功能产生什么数据,消费什么数据。
2.粗犷的做法 --- 直接将业务功能域借过来当做数据域,分析每个数据域需要的数据类型。
【推进】识别结构化数据类型
【推进】识别非结构化数据类型
5.8 实践案例:数字化服务转型——设计数据模型,定义生命周期
【推进】设计票源库数据模型
1.功能分析
2.设计构想
3.设计模型
4.设计思想
【推进】评价模型的优缺点
【推进】设计生命周期,解决问题
5.9 实践案例:数字化服务转型——抢到票后死机,怎么处理
抢到票后,后台立即生成订单。支持用户换终端完成支付。
5.10 实践案例:数字化服务转型——规划数据存储,设计数据分布
先将生产数据与历史数据分离,再将结构化数据与非结构化数据分离,将音频等文件单独保存,在接线记录数据库表里保存其地址。
5.11 实践案例:数字化服务转型——数据流、数据沿袭、数据交换格式设计
以上是关于5.业务架构·应用架构·数据架构实战 --- 业务驱动的数据架构设计的主要内容,如果未能解决你的问题,请参考以下文章
4.业务架构·应用架构·数据架构实战 --- 业务驱动的应用架构设计
3.业务架构·应用架构·数据架构实战 --- 战略驱动的业务架构设计