在上一篇中,我们介绍了阿里云智能数据构建与管理Dataphin的缘起。Dataphin是一个构建数据中台的强大工具, 核心优势是在数据的建设与管理上引入了阿里巴巴多年来数据中台建设沉淀出的OneModel方法论(OneData体系的组成部分之一)。本篇主讲Dataphin核心功能规划的设计理念。
OneModel
OneModel将数据中台的建设分成四层:
- 主题域建模:在数据中台, 主题对应一个宏观的分析领域, 比如销售分析就是分析"销售"这个主题. 联系较为紧密的主题的集合就是主题域. 每一个行业都可以拆分为有多个(十个左右不等)主题域组成的主题域模型。
- 概念建模:在主题域的基础上, 每个主题域内增加了实体以及实体之间的关系。
- 逻辑建模:在概念模型的基础上, 增加每个实体的属性以及属性的约束。
- 业务分析建模:行业中重要的以及常用的分析方法与分析视角. 在逻辑模型基础上, 将业务分析问题转换为Dataphin特有的派生指标, 并进一步提炼出原子指标和业务限定。
规划
OneModel四层中的主题域建模和概念建模由Dataphin的规划功能来承载实现。OneModel的四层不针对企业级数据中台, 而是围绕单个独立业务来展开的, 多个独立业务通过公共的维度来实现企业级数据中台。因此, Dataphin的规划功能还包括独立业务的划分, 即业务板块的划分。规划并不会影响数据的准确性与产出时效, 而是一个重要的面向数据(资产)管理的功能, 会影响数据的查找, 理解与权限管控等多方面。
业务板块
企业的规模有大有小, 业务复杂度和跨度也不同, 数据反映业务, 所以每个企业的数据中台也是不同的。数据中台建设的第一步是做规划, 规划的第一步是全盘梳理企业的业务架构, 将业务划分为一个个独立业务, 在Dataphin里面就是业务板块的划分。
业务板块的划分总原则是, 高内聚, 低耦合, 具体的流程如下:
- 考察企业的所有的业务流程, 如果两个业务流程之间存在上下游的关系, 或者有共同的业务对象, 那么他们就应该被放到同一个业务板块。比如, 采购流程(采购单)结束后, 一般会有物流(企业的进货物流)这个流程. 物流是依赖采购的, 同时货品是两个流程共同的业务对象, 因此, 采购和物流就应当属于同一个业务板块. 将范围扩大, 列举出每个业务流程的上下游和业务对象, 直接或者间接的连接在一起的业务流程应当属于同一个业务板块. 举例: 零售业务中, 采购->采购物流->仓储->销售发货, 营销->销售->履约->售后等, 有的有上下游的关系, 有的可以通过货品连接到一起, 他们就属于”零售”这一业务板块。
- 反之, 如果两个业务流程之间不存在任何直接或者间接的上下游关系, 也没有直接或者间接共同的业务对象, 他们就不应当被放在同一个业务板块。举例: 同一个企业下, 可能有零售和地产. 地产业务中, 拿地->设计->开发->销售等流程与零售的业务流程之间不存在上下游的关系, 也没法通过某个业务对象连接到一起, 应当分别创建“零售”“地产”两个业务板块。
- 值得注意的是, 某些业务对象是企业级共用的, 比如, 公司的员工, 行政地理区划(没错, 这个也属于业务对象) 等, 这些会将整个公司的所有的业务流程连接到一个巨大的单一网络中。因此, 先要识别出这些企业级的业务对象, 对于只通过这些业务对象连接在一起(而没有上下游关系)的业务流程, 需要剪断这种连接, 将他们归属到不同的业务板块。
主题域建模
主题域建模, 即在业务板块下进一步将业务划分为多个主题域。主题域的划分没有客观原则, 主要根据数据模型师的行业经验与业务理解来划分。具体以零售行业为例来说明。
零售行业的主题域划分如下图, 核心主题域为"人"、"货"、"场":
- 公共主题域:在所有业务流程中都会被引用的数据, 如, 地理位置数据, 企业的人员组织数据
- 消费者(人)主题域:该主题域主要是零售企业内用户(消费者)运营相关的业务活动数据
- 商品(货)主题域:商品的管理(类目管理, 品牌管理等), 商品结构管理(组货)等相关的业务活动数据
- 商家(场)主题域:包含线下门店, 线上电商(自营或者第三方)等售卖渠道相关的数据
- 流量主题域:消费者访问店铺等相关的数据
- 交易主题域:包含销售订单, 支付, 退款退货等零售商与消费者之间契约形式的信息流与资金流数据
- 履约主题域:可选. 零售商按照契约(订单)将商品配送给消费者, 是零售商到消费者的物流数据
- 服务主题域:主要是售后等数据
- 交互主题域:可选. 零售商与消费者之间非契约形式信息流数据. 如零售商在社交媒体上与消费者的互动, 消费者在电商平台内的评论, 分享与收藏等
- 营销主题域:广告, 活动, 优惠券等数据
- 内容主题域:可选. 零售商以引流为目的所建设的内容, 比如, 商业软文, 直播带货, 宣传刊物等
- 供应链主题域:零售商与供应商之间的三流, 以及零售商内部的物流与信息流数据
概念建模
在主题域模型基础上, 将每个主题域内的实体以及实体之间的关系构建出来的模型就是概念模型。
概念模型中有如下名词:
- 实体:业务中的业务对象或者业务活动在数据世界的投射, 实体一般与数据表一一对应。某几个实体可能具有相同的特征(表现为有很多相同的属性), 这几个实体可以抽象泛化为泛化实体, 泛化实体没有对应的数据表。
- 业务对象:一种实体, 是参与业务的人和物品, 也可以是纯粹的概念。比如: 消费者(人), 商品(物品), 类目(概念)等. 在Dataphin的某些版本中, 业务对象又被称为"维度"。
- 业务活动:一种实体, 业务对象的变化行为或业务对象之间交互行为。比如: 访问行为, 销售行为等. 在Dataphin的某些版本中, 业务活动又被称为"业务过程"。
- 实体关系:实体之间的关系, 主要有两种
a. 一是引用关系, 某一个实体是另一个实体的属性, 比如, 用户实体中用户有地址这个属性, 而地址本身也是一个实体, 那么用户实体就引用了地址实体; 再比如, 订单实体中, 买家, 卖家, 商品都是订单的参与实体, 订单实体引用了买家实体, 卖家实体, 商品实体。从技术角度来说, 引用就是SQL中的"关联"。引用关系又有三种类型, 一对一、一对多和多对多, 表示有引用关系的两个实体的实例(记录)之间的数量关系。
b. 二是继承关系, 某一个实体A从属于另一个实体B, 在概念上A比B更细化具体。比如, 在零售业务中, 可以定义一个实体为"用户", "买家"与"会员"都是用户, 但是更加具体(买家是有过交易的用户, 会员是参与了会员项目的用户), "买家"实体, "会员"实体继承了"用户"实体。
以上就是Dataphin的核心功能规划背后的设计理念, 希望能帮助您更好的使用Dataphin规划功能。