来源:阿里数据中台

全文共2547个字,建议7分钟阅读

大家好,我是一哥,今天跟大家聊一聊阿里的数据中台怎么样了。

数据中台是当下大数据领域最前沿的数据建设体系, 其实它并不是从零开始, 无中生有的,数据中台是传统的数据仓库的一种升级, 是数据采集、建设、管理与应用的一整套体系。Dataphin是一个构建数据中台的强大工具, 核心优势是在数据的建设与管理上引入了阿里巴巴多年来数据中台建设沉淀出的OneModel方法论。

01

OneModel方法论

OneModel方法论将数据中台的数据构建分成四层:

  1. 主题域建模:在数据中台, 主题对应一个宏观的分析领域, 比如销售分析就是分析"销售"这个主题,联系较为紧密的主题的集合就是主题域,每一个行业都可以拆分为有多个(十个左右不等)主题域组成的主题域模型。

  2. 概念建模:在主题域的基础上, 每个主题域内增加了实体以及实体之间的关系。

  3. 逻辑建模:在概念模型的基础上, 增加每个实体的属性以及属性的约束。

  4. 业务分析建模:行业中重要的以及常用的分析方法与分析视角,在逻辑模型基础上, 将业务分析问题转换为Dataphin特有的派生指标, 并进一步提炼出原子指标和业务限定。

02

规划

OneModel的四层不针对企业级数据中台, 而是围绕单个独立业务展开, 多个独立业务通过公共的维度来实现企业级数据中台的底层构建。因此, Dataphin的规划功能还包括独立业务的划分, 即业务板块的划分。规划并不会影响数据的准确性与产出时效, 而是一个重要的面向数据(资产)管理的功能, 会影响数据的查找, 理解与权限管控等多方面

  • 业务板块

企业的规模有大有小, 业务复杂度和跨度也不同, 数据反映业务, 所以每个企业的数据中台也是不同的。数据中台建设的第一步是做规划, 规划的第一步是全盘梳理企业的业务架构, 将业务划分为一个个独立业务, 在Dataphin里面就是业务板块的划分。

业务板块的划分总原则是, 高内聚, 低耦合, 具体的流程如下:

1、考察企业的所有的业务流程, 如果两个业务流程之间存在上下游的关系, 或者有共同的业务对象, 那么他们就应该被放到同一个业务板块。比如, 采购流程(采购单)结束后, 一般会有物流(企业的进货物流)这个流程,物流是依赖采购的, 同时货品是两个流程共同的业务对象, 因此, 采购和物流就应当属于同一个业务板块,将范围扩大, 列举出每个业务流程的上下游和业务对象, 直接或者间接的连接在一起的业务流程应当属于同一个业务板块。举例: 零售业务中, 采购->采购物流->仓储->销售发货, 营销->销售->履约->售后等, 有的有上下游的关系, 有的可以通过货品连接到一起, 他们就属于”零售”这一业务板块。

2、反之, 如果两个业务流程之间不存在任何直接或者间接的上下游关系, 也没有直接或者间接共同的业务对象, 他们就不应当被放在同一个业务板块。如,同一个企业下可能有零售和地产业务,在地产业务中, 拿地->设计->开发->销售等流程与零售的业务流程之间不存在上下游的关系, 也没法通过某个业务对象连接到一起, 应当分别创建“零售”“地产”两个业务板块。

3、值得注意的是, 某些业务对象是企业级共用的, 比如, 公司的员工、 行政地理区划(没错, 这个也属于业务对象) 等, 这些会将整个公司所有的业务流程连接到一个巨大的单一网络中。因此, 先要识别出这些企业级的业务对象, 对于只通过这些业务对象连接在一起(而没有上下游关系)的业务流程, 需要剪断这种连接, 将他们归属到不同的业务板块。

  • 主题域建模

主题域建模, 即在业务板块下进一步将业务划分为多个主题域。主题域的划分没有客观原则, 主要根据数据模型师的行业经验与业务理解来划分。具体以零售行业为例来说明。

零售行业的主题域划分如下图, 核心主题域为"人"、"货"、"场":

1、公共主题域:在所有业务流程中都会被引用的数据, 如企业的人员组织数据;

2、消费者(人)主题域:该主题域主要是零售企业内会员运营相关的业务活动数据;

3、商品(货)主题域:商品的管理(类目管理, 品牌管理等), 商品结构管理(组货)等相关的业务活动数据;

4、商家(场)主题域:包含线下门店, 线上电商(自营或者第三方)等售卖渠道相关的数据。如流量主题域、交易主题域、履约主题域、服务主题域(主要是售后等数据)、交互主题域、营销主题域、内容主题域、供应链主题域等。

  • 概念建模

在主题域模型基础上, 将每个主题域内的实体以及实体之间的关系构建出来的模型就是概念模型。

概念模型中名词解释:

  1. 实体:业务中的业务对象或者业务活动在数据世界的投射, 实体一般与数据表一一对应。某几个实体可能具有相同的特征(表现为有很多相同的属性), 这几个实体可以抽象泛化为泛化实体, 泛化实体没有对应的数据表。

  2. 业务对象:一种实体, 是参与业务的人和物品, 也可以是纯粹的概念。比如: 消费者, 商品, 类目(概念)等. 在Dataphin的某些版本中, 业务对象又被称为"维度"。

  3. 业务活动:一种实体, 业务对象的变化行为或业务对象之间交互行为。比如: 访问行为, 销售行为等. 在Dataphin的某些版本中, 业务活动又被称为"业务过程"。

  4. 实体关系:实体之间的关系, 主要有两种:
    a. 一是引用关系, 某一个实体是另一个实体的属性, 比如, 用户实体中用户有地址这个属性, 而地址本身也是一个实体, 那么用户实体就引用了地址实体; 再比如, 订单实体中, 买家, 卖家, 商品都是订单的参与实体, 订单实体引用了买家实体, 卖家实体, 商品实体。从技术角度来说, 引用就是SQL中的"关联"。引用关系又有三种类型, 一对一、一对多和多对多, 表示有引用关系的两个实体的实例(记录)之间的数量关系。
    b. 二是继承关系, 某一个实体A从属于另一个实体B, 在概念上A比B更细化具体。比如, 在零售业务中, 可以定义一个实体为"用户", "买家"与"会员"都是用户, 但是更加具体(买家是有过交易的用户, 会员是参与了会员项目的用户), "买家"实体, "会员"实体继承了"用户"实体。

通过本节实践,希望大家对阿里的OneModel有一定的了解,能够结合自己的具体业务使用,有什么问题欢迎大家加我微信,进入交流群探讨~

「数仓面试」如何确定主题域?


企业级数据仓库建设最新版(附16页文档)


数据体系的要义:贴源、规范、建模、标签、设计、建设....(82页PPT)

声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。