Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性

作者:楚牧

前言

Dataphin核心功能: 规划功能一文中, 讲到过Dataphin的OneModel方法论将数据建设分为四层, 分别为主题域模型(建模), 概念模型, 逻辑模型和分析模型。前两个模型已在规划一文中介绍过, 本文将继续展开逻辑模型和分析模型的讲解。这四层都是属于Dataphin的智能研发,也称规范研发或逻辑化研发。除此之外, Dataphin还支持传统通用的各种研发方式, 如 SQL, MapReduce, Shell, Python 等,本文将重点解释智能研发。

Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性

数据分层

在介绍智能研发的逻辑模型和分析模型之前, 先简单说下另一种维度的数据分层。当前, 在数据中台领域, 通用的做法是根据数据的使用场景和生产方式, 将数据分为:

  1. ODS (Operational Data Source), 按照字面理解是操作数据来源, 通常的叫法是贴源数据层。ODS是从业务应用系统中同步过来的数据, 一般不对数据做任何清洗加工、镜像复制, 但是会保留多个版本,因为业务应用的数据一直在更新变化, ODS会保留部分中间过程版本数据。
  2. CDM (Common Data Model), 公共数据模型层, 数据的清洗加工, 建模都在这一层进行,智能研发也主要在这一层。
  3. ADS/ADM (Application Data Summary) 应用数据层, 面向具体业务场景的数据研发。

Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性

Dataphin中,规划到研发的流程一般是, 规划(板块划分->主题域建模->概念建模) -> 项目创建 -> ODS (数据上云/数据同步) -> CDM (逻辑建模->分析建模) -> ADS


逻辑模型

根据上一节的介绍, 现在假设 规划->项目创建->ODS 均已完成, 接下来就进入了逻辑建模


属性与约束

在概念建模中, 创建好实体, 配置好实体间的关系, 整个业务的大图就已经清晰的落地到数据中台。但是不同实体除了名字不同, 关系不一样之外, 还有哪些区别呢?例如,用户和会员有什么区别,这就是逻辑建模要来解决的问题。逻辑建模的核心工作是梳理实体的特征, 即给实体添加属性, 并明确属性的业务约束, 一个实体有很多属性(也叫特征), 这些属性可以用于区分实体。

属性按照类型, 可以分为:

  1. 标识属性, 即实体的某个具体实例的唯一标识。实体是一个抽象概念, 实体实例是具体事物。比如,商品鞋是一个实体。一双36码、白色、编码为6901234的鞋就是一个实例。一个实体可以有多个标识属性, 如商品ID, 商品编码
  2. 关联实体属性, 实体的某个属性本身可能也是一个实体。比如, 商品的卖家(货主)属性, 卖家是一个独立的实体
  3. 描述属性, 表述实体某一个维度的特征的一般属性, 实体中的定性属性, 一般是文本字符类型,如, 名称
  4. 度量属性, 某个维度数量程度的属性, 定量属性. 一般是数值类型, 如: 金额, 价格
  5. 时间属性, 描述实体某个行为的时间

根据实体的类型(业务对象或业务活动), 每个实体都有一些必须有的属性, 即关键属性:

  1. 业务对象至少有一个标识属性, 根据业务可以添加其他关键属性
  2. 业务活动必须有一个关联实体属性来标识活动的主体(发起人, 比如 订单活动中的买家), 一个或多个时间属性来明确活动时间。

实体丰富了属性之后还不能完全反映业务现实, 还需要给属性加上一些约束规则:

  1. 取值规则, 约束属性的取值范围, 即约束实体实例中该属性的具体内容的有效性
  2. 枚举值, 如 鞋子颜色只有黑色和白色两个
  3. 取值范围, 如 年龄一般是0~150
  4. 模式匹配, 如 身份证号码必须是15或者18位, 且最后一位才能有字母X, 其他必须是数字
  5. 唯一性, 除标识属性外, 其他属性也可能有唯一性要求
  6. 非空性, 不允许该属性出现空值
  7. 其他


实例化

定义好逻辑模型后, 映射数据到模型的过程就是模型的实例化, 浅白的说就是将物理的数据映射到逻辑模型。实例化的数据来源是ODS数据,少数情形下, ODS数据需要做一些额外处理, 将其按照一定的规则注册挂载到逻辑模型。Dataphin将根据映射自动生成计算代码和周期调度任务, 并基于属性约束生成数据质量校验规则。到这一步, 就完成了逻辑模型的构建。


分析模型

逻辑模型构建后之后, 基于逻辑模型可以构建分析模型, 即下图中的业务分析模型。分析模型的目标是快速生成业务分析中的指标,称为派生指标, 并且保障这些指标的可靠性和可维护性。通过把最终使用的指标拆解为四个基本组成部分,以最近30天按省份30岁以上男性下单金额为例:

  1. 统计周期, 业务发生的时间区段, 即例子中的 "最近30天"
  2. 原子指标, 分析指标不区分维度不加任何约束限制的基础抽象, 即例子中的 "下单金额", 原子指标是对实体的某个属性在所有实体实例上的整体刻画, 是一种统计性描述, 即原子指标一定是一个聚合表达式,如求和, 平均, 最大, 最小等
  3. 业务限定, 指标上的业务约束, 即例子中的 "30岁以上男性"
  4. 统计粒度, 分析的维度, 看业务的视角, 即例子中的 "省份"


Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性

以上描述可能还是让人无法准确明白分析模型是什么, 可以参照下图, 从传统SQL视角来理解:

Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性

分析建模的步骤是, 统计周期设置(系统内置了大部分常用统计周期)->原子指标/业务限定配置->派生指标配置, 所有配置完成后, 系统将自动生成计算代码(如上图)和周期调度任务。

Dataphin通过规范化、模块化的低代码配置式研发, 有效的保证了模型与代码的一致性。



关联阅读:

Dataphin产品核心功能大图(一)规划: 企业数据体系应该怎么规划

Dataphin产品核心功能大图(二)集成:如何将业务系统的数据抽取汇聚到数据中台


了解产品更多内容可以戳入:https://dp.alibaba.com/product/dataphin



数据中台是企业数智化的必经之路,阿里巴巴认为数据中台是集方法论、工具、组织于一体的,“快”、“准”、“全”、“统”、“通”的智能大数据体系。

目前正通过阿里云对外输出系列解决方案,包括通用数据中台解决方案零售数据中台解决方案金融数据中台解决方案互联网数据中台解决方案政务数据中台解决方案等细分场景。

其中阿里云数据中台产品矩阵是以Dataphin为基座,以Quick系列为业务场景化切入,包括:

官方站点:

数据中台官网 https://dp.alibaba.com

钉钉沟通群和微信公众号

Dataphin功能大图(三)研发:设计即研发,规范建模保障数据模型与代码的一致性

上一篇:Oracle11g创建表空间和用户,并授权


下一篇:cocos2d-x学习笔记19:记录存储3:使用摘要算法进行存档校验