
数据模型设计是架构设计任务中数据架构的重要组成部分,而对于数据平台建设来说,数据模型是数据平台的灵魂,是其他数据平台所需建设任务的“纲”,纲举则目张。按照DCMM的定义,数据模型是使用结构化的语言将收集到的组织业务经营、管理和决策中使用的数据需求进行综合分析,按照模型设计规范将需求重新组织在一起。
从抽象层次/内容粒度看,一般分为主题域模型、概念模型、逻辑模型与物理模型;从数据范围看,分为企业级数据模型与应用级数据模型;从建模方法看,分为3NF关系建模、维度建模、DataVault建模等。
主题域模型
最高层级的数据模型(源自业务模型/业务过程模型),以主题概念及其之间的关系为基本单元所构成的模型。主题域(Subject)是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。主题域并非简单的对企业数据进行分门别类(如按业务线、按系统等),一般是对行业业务过程所涉及关键业务对象抽象概括而来(基于MECE原则,Mutually Exclusive Collectively Exhaustive,即相互独立、完全穷尽),并反映了真实的业务关系,由此可保障数据模型骨干结构的稳定性。一个典型证券行业主题域模型如下图所示:

行业主题域模型示例
概念模型
通过增加数据实体及关系对主题域模型进一步细化,以数据实体及其之间的关系为基本单元所构成的模型。概念模型遵循主题域模型所定义的骨干结构并在实体层面进行了扩充细化,可以更为具体地反映企业业务数据现实。一个典型的对当事人主题域进行细化的概念模型示例如下图所示:

当事人主题域模型示例
逻辑模型
通过增加数据内容细节对概念模型进一步细化,以数据属性为基本单元所构成的模型。逻辑模型需要对数据实体在属性层面进行完整细节地定义,典型的如名称(中文名称与英文名称)、数据类型(逻辑类型)、键值(如主键、外键等)、约束、索引等。另外逻辑数据建模一般需要借助特定的数据建模工具(如ErWin、PowerDesigner等)来提高建模效率及模型管理。一个典型的逻辑数据模型示例如下图所示:

逻辑数据模型示例
物理模型
针对实际承载数据模型的具体数据库对逻辑模型进行针对性的转换、设计或优化。物理模型设计的主要考虑点,一个方面是特定数据库的物理特性,典型的如分布式数据库中的数据分布机制,另一个方面是特定分析场景的使用需求,典型的如针对查询性能的模型优化。可以直接生成相应的DDL(利用建模工具一般可借助所谓的前向工程功能加以实现)在实际目标数据库中加以部署。

使用OushuDB构建物理模型示例
如前文所述,偶数建议的数据分层架构为包含着陆层、整合层、交付层在内的三层数据架构,其中对于整合层数据的模型选择来说,存在3NF关系建模、维度建模、DataVault建模等不同的选择。

关系建模、维度建模、DataVault建模比较

推荐阅读











点击下方阅读原文获取行业报告



