知识卡片
数据架构的三个核心设计任务
内容
数据架构关注持久化数据存储方案(数据库、文件、Flash),不仅包括实体及实体关系的数据存储格式,还可能包括数据传递、数据复制、数据同步等策略。它和物理架构的关系是:对很多集成系统而言,数据需要在不同系统之间传递、复制、暂存,这往往涉及不同的物理机器,因此需要时也可以把数据放进物理架构里一并考虑,以体现集成系统的数据分布与传递特征——这说明数据架构不是完全孤立的一个视图,它和物理架构在”数据跨机器流动”这个场景下会产生交叉。核心设计任务有三个:持久化技术选型(常见的持久化技术包括关系数据库、实时数据库、Flash、一般文件、分布式文件系统等,选型要结合系统实际的数据访问模式和运行环境)、数据存储格式(明确实体及实体关系具体以什么结构落地存储)、数据分布策略(数据放在哪里、如何在多个存储位置之间传递和同步)。数据架构在5视图方法里是相对最”薄”的一个视图,但它承担的作用不可替代——逻辑架构定义了领域模型的结构,数据架构则要回答这套结构最终要以什么持久化形式落地,两者之间同样存在映射关系,缺少数据架构的明确设计,逻辑架构里精心设计的领域模型可能在落地时被迫做出与设计初衷不一致的妥协。
参考来源
- 位置:《软件架构设计:程序员向架构师转型必备》第10章《细化架构设计》"10.3.5 数据架构=技术选型+存储格式+数据分布"节(源文件:_epub-src/OEBPS/text00013.html)
- 结论依据:原文说明"数据架构设计包含的核心设计任务是:持久化技术选型、数据存储格式、数据分布策略",并指出"对于很多集成系统,数据需要在不同系统之间传递、复制、暂存,这往往要涉及不同的物理机器……可以把数据放在物理架构之中考虑",直接支撑本卡片结论。
- 原始内容:数据架构设计包含的核心设计任务是:持久化技术选型、数据存储格式、数据分布策略。常见的持久化技术有:关系数据库、实时数据库、Flash、一般文件、分布式文件系统等。