赞
踩
OneData 建模体系是目前关注度比较高的建模方法论,也是由阿里内部整理出来的建模体系(书名:《大数据之路:阿里巴巴大数据实践》
)。
OneData 体系是阿里数据中台的核心方法论,其包含了三个方面内容:OneModel 即建立企业统一的数据公共层,从设计、开发、部署和使用上保障了数据口径规范和统一,实现数据资产全链路管理,提供标准数据输出。OneID 即建立业务实体要素资产化为核心,实现全域链接、标签萃取、立体画像,其数据服务理念根植于心,强调业务模式。OneService 即数据被整合和计算好之后,需要提供给产品和应用进行数据消费,为了更好的性能和体验,需要构建数据服务层,通过统一的接口服务化方式对外提供数据服务。
上图是 OneData 建模大概流程,主要分为需求调研及规划、规范定义、模型设计、数仓研发、资产管理及服务等模块;其中最为重要的是需求调研及规划、规范定义、模型设计这三个模块,后续内容也是围绕这些模块展开进行说明。
在建设数仓时,首先要做的第一步必然是进行充分的业务调研与需求分析;这是数仓建设的前提条件,业务调研和需求分析做得是否充分直接决定了数据仓库建设是否成功。其次就是进行数据总体架构设计,及根据数据域对数据进行划分。那怎么进行业务调研和需求分析呢?还有数据域划分呢?后续内容将会展开说明。
业务调研的主要目的是熟悉业务流程与业务数据。
熟悉业务流程就需要做到,明确每一个业务具体的流程;并且清楚业务流程
中的每个业务过程
。例如常见的用户买东西下单的业务过程,大致会经过买家下单 -> 买家付款 -> 卖家发货 -> 完成交易;其中买家下单这些就表示为业务过程。
熟悉业务数据就需要做到,明确知道每一个业务过程会对哪些业务表数据产生影响;比如是新增了一条记录或者多条,还是修改某一条数据;将业务过程与数据对应起来。
完成业务调研之后就是进行需求分析,这一步同样很重要;因为数仓前期的数据架构大多数是按照需求进行设定的,需求没有理解透或者理解错误;那么最终可能就是beiguo
。
如何避免这样的事情发生呢?首先提需求的人员可能是分析师或者业务运营人员,那么对数仓涵盖的业务流程需要清楚明白(提高沟通效率);然后就是和提需求者确认需求,包括确认维度(什么类目,一级品类或者二级品类)、度量(金额单位)等等;最后就是双方确认需求分析内容,最好是以邮件的方式归档记录。
举例说明:
假如分析师需要了解某一级类目的成交金额。当获知这个需求后,就需要分析根据什么(维度)汇总,以及汇总什么(度量);这里类目是维度,金额是度量;那么明细数据和汇总数据应该怎样设计?这是一个公用的报表吗?是需要沉淀到汇总表里面,还是在报表工具中进行汇总?答案后续内容会进一步阐述
需求分析需要做到,每一个需求指标都可以找到对应的业务过程以及维度。
通过业务调研和需求分析之后,就基本清楚了数仓涵盖的业务过程以及具体的需求;那么就可以开始构建数仓架构的第一步数据域划分。
数仓模型设计除了纵向的分层设计,还会有横向的数据域划分;一般是通过业务过程和部门进行划分,数据域是需要抽象提炼,并且长期维护和更新的,但不轻易变动。为保障整个体系的生命力,在划分数据域时,既能涵盖当前所有的业务需求,又能在新业务进入时无影响地被包含进已有的数据域中和扩展新的数据域。同时要明确的是一个业务过程只能属于一个数据域,而数据域划分的意义是为了方便数据的管理和应用。
数据域 | 业务过程举例 |
---|---|
会员和店铺域 | 注册、登录、装修、开店、关店等等 |
商品域 | 发布、上架、下架、重发、SKU存量等等 |
日志域 | 曝光、浏览、点击等等 |
交易域 | 加购、下单、支付、退款、确认收货等等 |
客服和销售域 | 拜访、培训、leads管理等等 |
工具和服务域 | 商品收藏、淘金币领用、优惠券领用、服务市场订购等等 |
互动域 | 发帖、回帖、评论等等 |
信用风控域 | 评论、申诉、投诉、纠纷、买家保险、认证等等 |
采购分销域 | 商品采购(供应链管理)等等 |
上表为阿里数仓大致的数据域划分,阿里的体量是比较庞大的;对应的数据域的划分也是比较多。但相比较传统的互联网企业一般是将数据域划分为:渠道、营销、流量、交易、财务、商品、用户。数据域的具体划分还是得依据数仓涵盖的业务过程进行划分。
啥是派生指标、原子指标呢?
以上示例与内容仅是个人观点,如有误十分感谢提出;内容还在完善中!!!
参考链接:
《大数据之路:阿里巴巴大数据实践》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。