最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

数据仓库实践之业务数据矩阵的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-2 21:19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 168主编 于 2020-3-18 11:58 编辑

0x00 概述
数据仓库的设计不能完全依赖于业务的需求,但又必须服务于业务的价值。那么,该如何地从业务的角度出发,设计一套切实可行的数据仓库呢?
本文将分享数据仓库实践中的业务数据矩阵的设计经验,帮助大家在工作中快速理解业务并规划数据仓库体系。
本文将包含如下三部分内容:
  • 分享业务数据仓库的概念的作用
  • 举个栗子说明
  • 一些思考
0x01 业务数据矩阵
那么,什么是业务数据矩阵,它又有什么用呢?
业务数据矩阵,我们可以认为它的作用是从全局的角度来对公司的数据进行规划和设计。一般来讲,在数据仓库的设计初期,数据仓库架构师会根据对业务和数据的理解来设计一个全局的业务数据矩阵,以此从宏观的角度来描述公司的业务和数据现状,并指导后续的数据仓库建模。
如下表,是业务数据矩阵的表示方法,其中每一列是一个业务主题,每一行是一个数据主题。
  • 业务主题:我们可以将一个业务主题理解为公司的一条业务线,或者说数据仓库仓库待建设的一个数据集市。
  • 数据主题:一般来讲,我们会侧重于将数据主题理解为行为数据主题,比如说登陆、点击、下载等行为主题。

如果了解了什么是业务数据矩阵,那么它的作用就很容易被理解。简单来讲:
  • 能够帮助数据仓库架构师清晰地梳理整个数据体系。
  • 能够帮助决策者(各位老板)从宏观的角度了解数据仓库的整体情况。
  • 能够让所有的数据仓库参与者了解数据仓库的设计,根据矩阵有规划地填充数据表即可。
0x02 举个栗子
趁热打铁,居士举一个栗子来说明业务数据矩阵的设计。
业务背景
假设你是某电商网站的数据仓库架构师,公司的业务和某宝相似,有主营的电商业务,也有资讯阅读类业务、论坛业务和视频业务(比如拆箱导购视频)等。具体的业务就不多描述,简单的想象一下即可。
数据背景
在上面不同的业务中,有几种类型的数据:通用行为数据、业务强相关的数据、通用行为衍生出的行为数据以及其它不易划分的数据:
  • 通用行为数据主题:即各业务场景都容易出现行为,比如曝光、点击和下载等。
  • 业务行为数据主题:主要是指和业务强相关的行为,比如说视频业务中有播放行为,论坛业务中发表帖子行为。
  • 衍生行为数据主题:主要是指非用户原始的行为,比如说留存,本身是由用户活跃来描述的。
  • 其它行为数据主题:有一些多主题交叉的数据,比如跨业务主题的海内外互通用户主题,或者跨业务和行为的阅读带来的购买行为数据主题。
设计思路
有了业务背景和数据背景,我们就可以将整个数据体系按照矩阵的方式展现出来,凡是存在的主题,打勾即可。
比如国内和海外的电商业务都有订单相关的数据主题,那在这两项打勾即可。
根据上面的描述,一个业务数据矩阵的设计就可以出来了。如下表。

0x03 思考
如同该系列的其它文章一样(可参考https://github.com/dantezhao/data-warehouse ),本文也会从不同的角度来思考和总结业务数据矩阵的设计方法和原则。
业务数据矩阵的适用范围
从个人的角度来看,居士认为,业务数据矩阵的数据主要集中的数据分层中的DWD和DWM层,具体的分层可参考《一种通用的数据仓库分层方法》。因为在DWD和DWM层的数据的聚合程度相对较低,数据主题可以从行为的角度来切分,在DWS层的话,大部分数据的都会被整合起来。以国内电商业务主题为例,DWS层的数据表相对来讲就会少很多,该层的用户维度的相关表可能只有一到两张,大部分的行为都会被放入这一到两张表中。
另外,该矩阵更多地是作用于设计阶段,到具体的数据建模过程,表中的对勾可以替换成一张张的表名,比如国内电商业务的订单数据主题中,可能就会有多张表DWD和DWM的表。
主题划分的方法
主题划分是指两部分:行为主题和业务主题。不同的场景的有不同的划分方式,或者说不同的阶段也有不同的划分方式。
首先说行为主题,本文所举的例子未必是最合适的,比如留存和流失这些内容,其实也可以放在登陆数据主题中,因为一般的留存是按照是否登陆来判断的。这里需要根据具体的业务场景来对数据进行划分。
然后是业务主题的设计,本文的例子是根据公司的业务来划分主题的,即一个大的业务为一个业务主题。这里当然可以更细致来进行划分,比如把一个使用场景当作一个业务主题,比如买家和卖家对话可以是一个业务主题。
前面的设计比较偏向于DWM层。那么在数据集市层,也可以按照不同的数据集市来划分业务主题。
0xFF 总结
以上,主要是居士工作中总结的一种设计方法,暂无理论的支持。有相关经验的小伙伴可以交流一下。
然后补充一个业务数据矩阵的使用场景,该矩阵可以当作是数据项目的进度表来用,在矩阵里面写上负责人,和完成时间,这样可以方便定期的项目Review和汇报。

原文发布于微信公众号 - 木东居士(Data_Engineering)
楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-20 03:59

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表