数据平台,从0到1到100
最近一直在做数据平台,一点总结和思考
一、数据平台是什么
最有名的应该是阿里这张图了

这个就是数据平台
对于不太了解的人,数据平台的模式:从应用数据库(e.g. MySQL)抽取数据,存到HDFS(用来存海量数据的数据库)上,进一步加工、分析。最后生成报表、看板、模型等。这个就是数据平台
不用原应用数据库的原因:
- 大量的读会对线上性能造成影响(而且通常涉及多张表之间的交叉计算、加工),而且也需要地方存储计算结果
- 能保存数据的历史记录
其他大公司也类似
网易 https://www.infoq.cn/article/uT2hOw7fUDxx1jHgN-3e

爱奇艺 https://www.infoq.cn/article/MtGSf09z-mH7LJXE65BJ

Airbnb, Uber也类似. AWS的也很典型 https://www.youtube.com/watch?v=ovPheIbY7U8

一般来说,数据平台内部可以分成各个系统
- 数据集成 (data integration): 从数据源将数据抽取到数据平台 (通常分为离线跑批、实时抓取2种)
- 数据开发: 数据查询、任务调度(用于计算、推送)
- 数据治理 (data governance): 数据目录/数据地图/元数据,数据质量监控,数据安全/权限
二、发展
(1) BI vs. AI
传统数据平台的核心是构建数仓模型,然后做BI报表
但随着数据湖(data lake), data science及廉价存储(S3, HDFS)的发展,data science/machine learning 也成为了数据平台的一部分
因此,就在数据平台中产生了另一半 —— 数据科学/机器学习平台

- 传统的BI开发: 基于SQL editor, 写SQL脚本,然后产生各类处理后的数据(事实表-维度表),最后用于输出BI报表. 好一点的会有指标管理系统.
- 新的data science/machine learning开发: 基于Jupyter类编辑器, 主要用data lake中的原始数据,最后生成模型并输出API供外部系统调用. 好一点的会有试验平台,用于检测、对比线上效果指标.
机器学习/Data science和传统BI有着完全不同的工作范式,因此也要求了新的工具、基础设施。这是数据平台新的内容。更多的内容以后单独再写.
(2) 集中 vs. 分布式分工
这个在 https://book.douban.com/review/10072449/ 中已经写过
业内公论可见 https://www.infoq.cn/article/the-development-history-of-big-data-platform-internet-age

- 传统的数仓是集中式的,业务人员给需求到数据团队,数据团队根据要求加工成维度表,供业务团队通过BI报表工具查询
- 数据湖是开放、自助式的(self-service),开放数据给所有人使用,数据团队更倾向于提供工具、环境供各业务团队使用(不过集中式的维度表建设还是需要的)
也就是组织架构的差别. 传统企业的数据团队可能被当做IT,整天要求提数,而在新型的互联网团队,则人人应具备数据分析的能力
三、问题:小公司怎么办?
完整的数据平台,其实很清晰. 无非就是数据集成、BI开发平台、报表工具、数据管理工具等等。看了几家大公司、厂商就知道包括哪些了,只是企业重视程度不同,因此做到不一样的程度
真正的难点,是小公司怎么做数据平台。投入和资源极其有限,但又希望有好的数据工具可用,怎么办?
或者说,100分的数据平台都知道怎么做了,但从0到1的数据平台,怎么做?
毕竟,单独、自研的数据平台太贵了,而且通常也和主营业务无关
这方面目前没有找到特别好的解决方案,以下是我的一些想法/猜想
(0) 1人: Segment + Metabase + Jupyter notebook
特点:没钱,个人项目,数据量小
- Segment: 把数据发到Google Analytics和Mixpanel, 能看到基本的流量数据,做一些分析,了解基本的运营情况
- Metabase: 用于分析业务数据库中的数据(下图)

我个人的项目(https://www.douban.com/review/8667119/)就是基于这些
好处:因为量小,所以能最大限度的利用免费计划(Segment/Mixpanel),也能尝试各类工具. 我自己在这方面是没花钱的(因为网站本身也没盈利...)
(1) 1 - 20 人: Google Analytics/Firebase + Metabase + Jupyterhub
特点:没钱,数据量不大
- GA/Firebase (免费的埋点工具) + Metabase (开源的数据分析、报表工具) 可以满足绝大部分的看数、分析需求。
- 存储:采用基于Postgre关系型数据库的生产数据库备份可能就行
整体和上面相似。重点在于Metabase实在是太良心了,极其易用的用户界面、非常方便于查数、分析。完全可以支持起20人团队的日常数据使用
如果需要复杂分析, 可以部署上Jupyterhub (多用户的Jupyter Notebook)
(2) 20 - 50 人: + ETL整合工具, Data lake (AWS)
特点:不一定有盈利,但有基本的funding,而且创业公司的数据来源可能是多种多样的
使用一些ETL工具把多个数据源整合,因为数据量比较多了,因此可以上云存储保存
比较理想的解决方案是Looker,不过这个很贵,朝着这个走应该就行了
(3) 50 - 100 人: + AWS 其他工具
特点:产生盈利,能花钱买更多工具提高效率
这个时候安心买工具(AWS, 阿里云有很多可用),团队也应有专门的数据团队负责数据工具的搭建
(4) 数据驱动型公司
上面说的都是针对普通创业公司、互联网公司.
如果是Google, 头条这种数据驱动,本身就不断爬取数据的公司呢?
刚开始的投入就要大一些,要求直接把data lake, 机器学习的环境都部署了. 起步应该就是50 - 100人团队的要求了.
(5) 一些参考案例
- https://thinkgrowth.org/the-startup-founders-guide-to-analytics-1d2176f20ac1
- https://medium.com/@natekupp/getting-started-the-3-stages-of-data-infrastructure-556dac82e825
- Robinhood: https://youtu.be/JsNR8uBVSiA?t=1057 https://www.youtube.com/watch?v=rlobQYMb7zY

其中,Robinhood是5个人基于AWS + Looker + Jupyterhub,而且是Fintech公司(数据量通常也会比较大,而且还有合规的要求),非常有参考价值 (另外Robinhood的小姐姐好漂亮呀~)
四、未来
关于数据平台,有几点我觉得未来会比较有意思
(1) 随着大公司的投入,开源的软件应该越来越多(比如Airflow),越来越好用;另一方面,AWS/阿里云的东西也会越来越便宜、功能越来越丰富
这是否意味着像Cloudera/星环等专门做数据平台的公司会难做生意?
(2) 随着各行业开始面向软件、数据、科技转型, 好的传统企业会产生一大批相关需求, 因为需要这样的infra建设 (i.e., BI; 数据应用/数据研发能力),对相关咨询公司、从0到1的需求会很旺盛,同时也需要相关经验的人才搭设这些基础设施.
所以,AWS/阿里云的未来非常的明朗(其他竞争者也能分点肉吃,但肯定不如AWS/阿里云的增长大);对互联网的个人从业者,为传统企业转型,也可以是将来的工作方向之一
不过,怎样在有限的资源内,向传统团队教育、证明数据的价值,会是关键的一步(否者就是“白花钱搭数仓了,感觉什么用都没有”),因此这类工作一定是敏捷、迭代的,要尽早展示价值(所谓 time-to-value),而非一开始就拿完整的解决方案
附:数据平台的学习指引
最开始看这方面的时候,没什么方向. 只有阿里的一本书,看得多了,才了解到国内各大公司的架构、AWS的做法. 从下面这些方面,可以对数据平台、数据中台的建设有较全面的了解(尤其是刚加入某个大公司的data infra team)
(1) 阿里/阿里云体系
阿里的这本应该是“教科书”级别了,国外目前都没有同等级别的书
产品方面

- 阿里云 Dataworks: https://help.aliyun.com/document_detail/113290.html
- 蚂蚁 金融数据中台: https://tech.antfin.com/solutions/enterprisedata
都算是完整的解决方案
(2) 国内大公司实践
算是具体的案例,其实都是从阿里的这套体系中衍生出来的

- 蚂蚁: https://www.infoq.cn/article/fKMHqX*diJG3DB0x06e6
- 美团: https://zhuanlan.zhihu.com/p/26359613
- 网易: https://www.infoq.cn/article/uT2hOw7fUDxx1jHgN-3e
- 爱奇艺: https://www.infoq.cn/article/MtGSf09z-mH7LJXE65BJ
- 360: https://juejin.im/entry/5b5ee229e51d45339e7edc6e
- 58: https://infoq.cn/article/58-big-data-platform-technology
- oppo: https://www.infoq.cn/article/9FENBBD13Q*03Jt9dANi
- 有赞: https://tech.youzan.com/you-zan-big-data-practice/
- 七牛: https://blog.qiniu.com/archives/8742
看多了会发现...都差不多
(3) AWS体系

这方面并没有成体系的书,但东西也很齐全了,能从视频、文档中学习,比如
- https://aws.amazon.com/blogs/big-data/
- Big Data Analytics Architectural Patterns & Best Practices https://www.youtube.com/watch?v=ovPheIbY7U8
- Effective Data Lakes: Challenges and Design Patterns: https://www.youtube.com/watch?v=v5lkNHib7bw
- Build and Govern Your Data Lakes with AWS Glue: https://www.youtube.com/watch?v=JsNR8uBVSiA
其他的也可以参考Azure, Google Cloud的
(4) 国外大公司实践
- Airbnb: https://medium.com/airbnb-engineering/data/home
- Uber: https://eng.uber.com/category/articles/uberdata/
- Netflix: https://medium.com/netflix-techblog
- Robinhood: https://youtu.be/JsNR8uBVSiA?t=1057 https://www.youtube.com/watch?v=rlobQYMb7zY
Airbnb, Uber, Netflix的参考性一般(因为实在是太大了,啥都是自己搞)
Robinhood就比较有参考性,其他中小厂还有很多,基本都基于AWS来做
(5) 国外研报与厂商对比

- Big data landscape: http://mattturck.com/bigdata2018/ 强烈推荐,是整个业内的概览(上图)。一下就能知道各个领域、公司、产品

Gatner的报告则是各方向的比较,便于了解各厂商水平的差异(上图)
- Magic Quadrant for Analytics and Business Intelligence Platforms: https://www.gartner.com/doc/reprints?id=1-65P04FG&ct=190125&st=sb
- Magic Quadrant for Data Management Solutions for Analytics: https://www.gartner.com/doc/reprints?id=1-65G0M0S&ct=190123&st=sb
- Magic Quadrant for Metadata Management Solutions: https://www.gartner.com/doc/reprints?id=1-5CB4BAO&ct=180810&st=sb
(6) Udacity - Data Engineer Nanodegree
讲述了基本的数仓、数据湖、ETL概念,可作为入门以及初步搭建的指南
https://www.udacity.com/course/data-engineer-nanodegree--nd027
------
补充:
- 数据开发中的模型管理: 主要是事实表、维度表,根据上层BI的需要,加工成常用的存储模型,对应的开源工具是dbt
- 数据科学中的模型管理: 主要是预测模型,比如OCR模型,风险评分模型等等。主要关注其线上的评分表现
-
looyup 赞了这篇日记 2024-07-31 19:31:21
-
黄小圈儿 赞了这篇日记 2024-05-16 15:40:45
-
红豆冰沙 赞了这篇日记 2023-10-29 02:53:52
-
cadl 赞了这篇日记 2021-06-22 12:55:03
-
Jack 赞了这篇日记 2021-03-29 07:08:26
-
麦穗 赞了这篇日记 2021-02-04 15:52:52
-
KittyLetter 赞了这篇日记 2020-04-22 08:42:03
-
深深j 赞了这篇日记 2020-04-15 22:22:41
-
一世长安 赞了这篇日记 2020-04-09 09:24:10
-
akin 赞了这篇日记 2019-12-06 17:49:44
-
hash 赞了这篇日记 2019-12-03 23:34:48
-
昨天梦见了狮子 赞了这篇日记 2019-12-01 17:46:59
-
Jo苜.娟 赞了这篇日记 2019-07-18 07:58:30
-
laura 赞了这篇日记 2019-05-30 02:22:12
-
小米椒 赞了这篇日记 2019-04-17 08:38:46
-
spencer 赞了这篇日记 2019-04-07 11:27:40
-
阿蓝大哥 赞了这篇日记 2019-04-06 19:58:00
-
修远 赞了这篇日记 2019-04-06 09:08:19
-
偶尔高兴 赞了这篇日记 2019-04-06 06:52:32
-
🍀 赞了这篇日记 2019-04-05 23:31:03
-
暴躁老农 赞了这篇日记 2019-04-05 22:19:34
-
[已注销] 赞了这篇日记 2019-04-05 21:49:33
-
长夜下 赞了这篇日记 2019-04-05 21:23:02
-
拼搭小怪 赞了这篇日记 2019-04-05 20:23:35
-
CNBorn 赞了这篇日记 2019-04-05 20:17:42
-
聪郎 赞了这篇日记 2019-04-05 20:14:02
-
.🌈 赞了这篇日记 2019-04-05 19:53:54
-
airstar 赞了这篇日记 2019-04-05 19:38:13
-
WALIVOLA 赞了这篇日记 2019-04-05 19:37:39
-
以太君哦 赞了这篇日记 2019-04-05 18:59:16
-
北极熊饲养员 赞了这篇日记 2019-04-05 18:24:32
-
红色有角F叔 赞了这篇日记 2019-04-05 18:19:10
-
ushuz 赞了这篇日记 2019-04-05 18:02:23
-
momo 赞了这篇日记 2019-04-05 17:38:10
-
李改之 赞了这篇日记 2019-04-05 17:03:46
-
麻辣女冰 赞了这篇日记 2019-04-05 16:48:50
-
极光 赞了这篇日记 2019-04-05 16:35:56