大家好,我是一哥,今天分享一下网易传媒的离线数仓是怎么建设的。
主要分为以下四个方面介绍:
- 传媒业务介绍
- 数仓建设演进
- 数据管治体系
- 数仓建设展望
01
传媒业务介绍
传媒主要是内容生产者在平台中进行创作,然后平台推送感兴趣的内容给内容消费者。中间平台会做一些运营,包括用户行为分析/内容创新/渠道推广等,帮助内容生产者的作品能够被需要的内容创作者看到。
网易传媒建设的一套数据架构,支撑内容的分析与运营。
通过原始数据的采集我们在数仓分为了四层:ODS/DWD/DWS/APP。
离线计算引擎主要选择Spark和Hive,实时计算引擎主要是Flink。通过分析的数据的我们存储在MPPDB和HBase以及关系型数据库中,同时通过提供标准化的API为分析系统以及业务运营系统提供公共的数据服务。
02
数仓架构演进
数仓1.0到数仓2.0
数仓1.0并没有明确的分层架构,当时内容载体单一,数据丰富度低、量级小;主要支撑公司整体运营数据和临时取数需求;同时也没有数仓团队,统一由数据平台组支持。
通过从0到1搭建数仓团队,进行数仓建模、数仓开发、数据BI,明确数据分层、业务过程视角确定数仓主题,对统计逻辑底层封装,口径一致,最终实现影响可控。
数仓2.0到数仓3.0
随着公开课业务、自媒体平台、泛资讯转型,数据丰富度高越来越高,同时运营精细化导向、数据产品化也成为主流数据赋能方向。
通过确定业务过程主题、分析主题、应用主题,简化数仓层级,同时在ODS引入视图,降低外部影响,最终形成宽表模型产品输出,提供自助分析查询服务。
03数据管治体系
数据管理框架
数据管理已经有了一些行业标准规范,比如DAMA数据管理指南,同时20年信通院也发布了数据管理白皮书,都有详细的规范内容可以参考。
数据研发流程
通过运营数据(养)和数据化运营(用),不断的收集问题和解决问题。支持产品的创新与改善。
同时,我们也形成了一套完整的数据应用流程,见下图:
数据资产管理
我们对数据资产定义了四个等级:未知影响/一般影响/局部影响/全局影响。
所有核心指标、维度通过血缘上溯到的所有数据都是同等级别的数据,如果一份数据出现在多个应用场景中,则遵循就高原则。为了保证分级的ROI,核心数据资产(L4、L3)级别的数据占比会控制在30%内,会有准入准出流程。
资源成本优化
存储成本方面,我们通过磁盘使用监控,对僵尸文件进行清理,同时增加模型生命周期管理,采用压缩格式ORC进行数据存储,数据模型方面也进行了一些优化,通过优化,物理存储下降了4PB。
计算成本方面,通过对计算成本监控,采用了Hive on Spark的模式,同时对TOP任务优化慢SQL,对僵尸任务进行下线,通过优化,CPU使用率降低30%。
数仓运营体系
通过对任务的存储和资源优化,我们总结出了一套运营体系,持续保障数仓的高效运行。包括事前的规范:《离线数据研发规范》《有数抽取任务规范》《SQL任务优化指南》,以及事后的慢SQL监控优化以及存储的优化。
04数仓建设展望
end