作者介绍
水大人,数据开发小哥,爱折腾、爱记笔记,热衷方法论提炼和效率提升 。虽然半路出家,但致力于全栈远景 。《七天数据埋点之旅》系列作者 。
一、前言数仓规划是数仓建设的蓝图,涵盖从需求分析开始到最终的数仓评估验收整个环境;数仓规划之所以重要,是因为它是描述了数据流动的概念性框架,为元数据管理奠定了基础,对数据加工过程的理解、数仓建设的交流分享、数据的使用和问题排查、数仓健康度的评估都提供了极大的帮助 。
需要强调的是本节是从宏观上描述数仓的框架,具体到数据模型的细节对比、存储选型和管理、接入数据源管理等数仓建设的周边在本节不涉及 。通过本节的阅读,你将了解到以下知识:
- 从业务矩阵的设计(宏观、微观)、横向的分层、纵向的分线到主题划分等角度解构数仓;
- 数仓建设的实施流程 。
分宏观和微观来看,宏观的是公司的整体业务布局,微观的是产品的业务过程布局和业务过程的维度分解交叉信息 。
2、宏观矩阵
宏观矩阵描述的是公司的业务线和对应的数据状况,其行和列一般分别对应着业务主题和数据主题 。
1)业务主题对应着公司的业务线布局,比如电商、游戏、视频、应用商店、新闻资讯、浏览器等 。
2)数据主题根据抽象的程度和视角有不同的取法:
- 一般取业务线中用户对内容的消费或者相关行为,比如曝光、点击、消费、播放、分享等,对这些行为的划分又可分为原生行为主题(通用和业务相关)、衍生行为主题(留存、活跃、流失等),这种划分方法更多的取自数据的底层和公共层,因为高层的数据都是多行为的汇总 。
- 对数据主题的另外划分方式参加分主题部分,这种划分方法更多的取自数据的高层 。
文章插图
引自《数据仓库实践之业务数据矩阵的设计-木东居士》
3、微观矩阵
微观矩阵描述的是主题和对应的维度关系,下面以常见的内容消费和用户主题两个维度来看微观矩阵的规划 。
文章插图
-w698
业务过程描述的一般是对内容的消费抽象,可以是原子的,也可以是抽象的,比如卡片曝光维度的划分可以从以下两个大方向入手:
- 通用标识维度(版本、机型、渠道、网络、时间等);
- 业务过程维度:消费者等级、消费位置、消费路径、其它等 。
ODS->DW->DM->DA(ADS)层是如何划分的,分层的原因(引自《一种通用的数据仓库分层方法-木东居士》):
- 清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解;
- 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算;
- 统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径;
- 复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题 。
一个完整数仓分层演示图如下:
文章插图
一个典型的数仓分层样例:
文章插图
-w730
6、分层依据
分层的依据在ods、da、dim层一般无歧义,关键在dw层的分层依据,也是数据仓库分层建设的核心 。
文章插图
每层划分的依据如下:
- ods层:存放原始数据信息,原则上不进行任何的数据清晰,和数据源保持一致;
- dw层:数据公共层,是数仓建设的重点,一般是日志子表和一些宽表,主要完成数据的清洗、转换等;
- dm层:数据集市层,是最直接体系数据资产的层,一般是汇总数据,现在已经逐步弱化,面向挖掘、数据分析等;
- da层:数据应用层,高度汇总数据,主要用于报表展示 。
分线也分宏观和微观,宏观的是整体的业务线,比如应用分发线、商业智能线、游戏运营线、广告流量线等;微观的是某个App或者某个具体的线,本节介绍的是app的数据线 。分线和分主题有很多相似的地方,只是看待数据的角度不同,分主题是从数据内容分类和对外服务的角度看,类似商品分类;而分线是从数据生产加工过程的角度来看,类似业务生产流水线 。
推荐阅读
- 中国最好的带鱼产自哪里
- 微信直播怎么开通?什么是微信直播?微信直播的优势有哪些
- seo核心宗旨
- 自媒体账号属性定位的那些知识点
- 查看电脑使用记录,看看有人偷玩过你的电脑吗?
- 注意了!U盘格式化的正确用法,学会之后不用担心文件损坏了
- 搜索引擎的工作流程、原理及作用
- 二维码是如何诞生的?消耗太快,会不会被消耗完
- 黑客入门:入侵电脑,获取管理权限,必须掌握的8个基本的DOS命令
- 微信公众号阅读数分析的技巧是什么? 看看究竟该怎么做