接触“数据产品经理”这个概念的时候,我还在找工作,跨专业、跨城市、跨人格的来到上海进行简历海投;很庆幸,过了九九八十一难之后,今天真的成了一位数据产品经理。
很多人都会问,数据产品经理到底是干什么的?对数据产品经理,我是这样理解的,遵循“所见即所得”:数据产品经理=产品经理+懂点数据。那这样拆分就好解释了,这岗位需要具备推进开发,迭代产品和协调日常人员的工作的能力外还需要懂一点数据,然后就按照日常计划,该上班上班,该泡妞泡妞。所以这个岗位的薪资也会高一些,这和岗位的产出成正比,我,每天几乎会做两个岗位的事。
如果你也想慢慢成长,有朝一日成为一枚数据产品,接下来的内容是最通俗易懂的启蒙知识。
数据仓库
这是数据产品经理从业是最关心也是最核心的概念,因为数据产品经理的一切工作,都是以它为基础的。
本文的结构如下:
- 什么是数据仓库
- 数据仓库和数据库的区别
- 数据仓库的分层
- 数据模型
- 总结
什么是数据仓库
我用个比喻解释这个概念。
马*:做个报告,我要知道开年到现在还没进入工作状态的有哪些人。
我:好的。
我开始收集:上/下班打卡数据、门口探头统计上厕所频率的数据、手机wifi上网数据、微信群活跃数据、发出零食声音最恐怖的工位数据、有事没事熬电话粥的数据...一周之后,分析报告上我们部门主管的名字占据第一,他让我加了一周的班......
我收集的这些数据我需要把它放在一个地方,我暂且把它放在一个叫“新年好”的文件夹,这些来自不同地方的数据,我需要做维度统一处理、字段命名规范处理、去噪处理(比喻年龄为100这种数据)等等。这是做一份报告,如果做一个平台或者一个项目呢?比喻支付宝的年度账单;网易云音乐的年度报告;那区区一个新年好就应付不过来了,所以,需要一个储藏这些数据的数据库来替代上面的“新年好”,这个用来储存按照我们需要的、对我们有用的、已经清洗过、很规范的东西就是我们的数据仓库。官方解释在这里
数据仓库与数据库的区别
数据库于数据仓库都用来储存数据,在本质上其实作用是相同的,当从业务出发,两者的区别就很大了
数据仓库是层级分明的
光收集数据没用啊,我们还得对数据做处理,如:你链接公共wifi,我想得到你的微信号,怎么办?思路是:通过链接wifi,获取手机信息,获得手机号,通过手机号搜索微信从而获取微信号…不要诧异,也不要觉得不可能,我可以明确告诉你,这些都是可能的,而且我们正在规划这个项目,未来的某一天,我们不需要定点卡口,定点摄像头了,因为无人机可以解决很多问题。既然要做数据处理,我们数据前后肯定有变化,那么为了保险,我们需要将各个维度的数据分层储存,比喻一个订单数据,让我罗列我可以整出二、三十个字段,可是最后我们真正用到的只有:uid、time和goods id,这个过程需要不断的过滤。每过滤一层就需要在新的一层储存一次。
业务是分层的参考标准
通常数据仓库会分成四层:ODS\DWD\DWS\ADS。不同的业务,分层不一样,比喻阿里的数据分层:stage层(buffer)\ODS\DWD\DWS\ADS;而华为的数据:ODS\DWD\DWS\ADS(我们大数据总监是之前在华为和阿里搞数据挖掘的,这是他说“价值千金”的机密)。
ODS:是数据仓库第一层数据,直接从原始数据过来的,经过简单地处理,比喻:字段体重的数据为175cm等数据。
DW*:这个是数据仓库的第二层数据,DWD和DWS很多情况下是并列存在的,这一层储存经过处理后的标准数据,比喻订单、用户、页面点击流量等数据。
ADS:这个是数据仓库的最后一层数据,为应用层数据,直接可以给业务人员使用。
看到这里,你也许会问,为什么要分层?在这篇文章里,过多解释这个原因,没有意义,这个阶段,你就记住,分层是为了更清晰的掌控、管理数据。了解了数据仓库的基本概念,我们就得实战啦,如基本的数据模型。
数据模型
数据模型有很多,如:范式模型、维度模型、Data Vault 等等。感兴趣的可以自行查阅资料,今天我们重点讲一下维度模型中的“星型模型”。
星型模型的基本概念
- 事实表:一些主键ID的集合,没有存放任何实际的内容。
上图是我自己画的一个听歌产品做年度分析时的星型模型表结构(仅辅助说明),如上图中的“报告表”就是一张事实表,这个报告表会随着用户的听歌习惯和听歌行为不断的优化和更新,每个ID对应维度表中一条记录。
- 维度表:存放详细的数据信息,有唯一的主键ID。
如上面的关键词表、用户表等等。
星型模型适用的业务场景
- 电商网站:某宝、狗东等分析用户的买买买行为。
- 新闻网站:虎嗅、36kr、推酷*等分析用户的阅读行为。
- 写作网站:知乎*、简书等用户的创作回顾分析。
- …
星型模型的特点
数据冗余小(因为很多具体的信息都存在相应的维度表中了,比如用户信息就只有一份)
结构清晰(表结构一目了然)
便于做OLAP分析(数据分析用起来会很开心)
增加使用成本,比如查询时要关联多张表
数据不一致,比如用户发起购买行为的时候的数据,和我们维度表里面存放的数据不一致
总结
大数据是个概念,数据产品经理是这个概念的执行层,数据仓库是数据产品经理做数据分析的第一步,数据仓库存在数据分层、维度建模、数据可视化等等内容,深入细致去讲,可以出一本书...ETL、元数据、数据血缘管理、调度系统、数据可视化等数据仓库的细分内容,下次再分享。