18

网易严选数仓规范与评价体系

 3 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw%3D%3D&%3Bmid=2247508685&%3Bidx=1&%3Bsn=5da954bd518e4a4cfd31f70291a2d212
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

640?wx_fmt=png

640?wx_fmt=png

文章作者:乙峰 网易严选

内容来源:公众号“严选技术团队”

导读: 数据为王的时代,数据量从最初的几十G,慢慢沉淀到几十T,甚至几十PB的量。 数据工程师,也从最初的ETL工程师慢慢成长为数据全栈工程师: 采集、同步、模型、离线、实时、规范、平台、工具、产品、交互、保障、数据体系等等。

数据仓库,是我们数据工程师的无形产品,不同于可视化、交互型产品的评价体系:拥有比较明确的评价指标MAU、DAU、GMV等。数据仓库一直没有比较系统的评价体系,下面从概念-平台-规范的链路来介绍一下严选数据仓库,最后跟大家交流一下数据仓库的评价体系。

01

数据仓库基本架构

这里概览讲一下严选数据仓库的分层逻辑,下面是严选数仓的框架图:

640?wx_fmt=png

数据仓库分层没有绝对的规范,适合的就是最好的,特别是企业已经有一个初版的数仓的时候,需要做好改造成本和可理解性之间的平衡。

以业务数据的流向划分,目前严选数据把模型分为三层,ods,dw和dm层。其中ods是操作数据层,保留最原始的数据;dw包含dwd和dws层,这两层共同组成中间层;dm是应用层,基于dw层做汇总加工,满足各产品、分析师和业务方的需求。

  • ODS层(操作数据层):不对外开放,把业务系统数据同步到数仓。数据格式保留业务系统的数据格式;目前主要通过datahub解析binlog来实现的,目前严选的ods层数据同步主要以全量数据为主。

  • DWD层(明细层):对外开放,主要作用是沉淀一些公共的逻辑,常用维度属性的关联等,下游经常在一起使用的模型会在这一层做宽表处理,减少事实表和维表的关联,减少重复的关联加工。

  • DWS层(汇总层):对外开放,主要沉淀严选数据的公共指标,dws层是整个严选数据对外开放和使用的核心,是严选最核心的数据资产。

  • DIM层(维表):对外开放,主要是一些常用维表,比如商品维表、sku维表、渠道维表。

  • DM层(应用层):对产品开放使用,支持数据产品、报表的使用,主要是不公用复杂指标的汇总和计算。

02

数据仓库开发平台

严选数据仓库分离线和实时两部分。

离线部分由猛犸提供支持。猛犸是网易杭州研究院研发的一站式数据管理和应用开发平台,覆盖了大规模数据存储和计算、数据集成、应用开发及数据管理等企业大数据应用场景。

640?wx_fmt=jpeg

实时部分由Atom平台提供支持,Atom是严选产技自研的一款实时数据管理和开发平台。

640?wx_fmt=png

03

严选数据仓库规范

在其他工种开发的眼里,数据仓库的入门门槛非常低,低到技术鄙视链的最末端:“噢……,他们就是写SQL的,他们整个团队都是写SQL的……”,顿时天空飘过一万匹神兽。曾经和未来都有很多人会来挑战数仓工程师存在的意义:“我也能干!”,但是实际情况是:naive!具体可参见严选数据仓库的架构图,这其中的每一个icon背后都有一套工具、平台,甚至于一个团队来支撑运转。

严选数据仓库是一套方法论,从规范定义、模型设计到数据服务,再到数据可管理、可追溯、可复用。严选数据仓库遵循维度建模理论,参考了阿里巴巴的Onedata建模理论,核心框架由三个规范组成:《严选-指标定义规范》 ,《严选-模型设计规范》和《严选-数据开发规范》,外层由辅助规范落地的若干工具、平台组成:仓颉-指标管理系统、燧人-指标地图系统、UDS-数据质量中心、EasyDesign-模型设计中心等。

640?wx_fmt=jpeg

1. 指标定义规范

指标定义规范,目的是统一开发&产品对指标的定义。通过对原子指标的命名规则、派生指标的命名规则和派生词的定义来完成。

指标定义体系,是数据建设体系的基础和内核,为了杜绝产品经理命名引起的歧义,以及后续带来的使用和维护以及解释成本。

640?wx_fmt=jpeg

2. 模型设计规范

模型设计规范,目的是统一数据开发对模型的命名定义。通过域+更新方式,域+维度+更新周期的方式来完成。

640?wx_fmt=jpeg

3. 数据开发规范

数据开发规范,目的是提高数据开发的SQL开发能力。通过限制各级子查询的缩进形式,子查询的规范等来完成。

04

数据仓库评价体系

近期的一些思考跟大家做一个交流,一家之言,欢迎拍砖。

基本要求:

数据安全和数据质量是数据仓库的生命线!不可逾越、不可触犯。

评价体系:

下图是近期整理的严选数据仓库的6个评价角度。

640?wx_fmt=jpeg

1. 数据规范

数据规范,最终目的是提高开发的整体水平。遵循严选数据规范:《严选-指标定义规范》、《严选-模型设计规范》和《严选-数据开发规范》,同时由工具和平台来保障规范的落地并监督评估规范落地的效果。

2. 数据安全

数据安全,这个命题怎么强调都不为过,特别是近期数据安全问题频发,51信用卡,大大小小的放贷公司。因此作为数据从业者,遵循《网易商业行为准则》,不对外泄露业务数据,时刻做到数据指间过,安全心中留。

3. 数据质量

数据质量由数据本身的质量和数据建设质量两部分组成:

  • 数据本身质量:数据开发对数据质量负责,保持对数据的敬畏心,结合《严选-线上故障定义规范》,通过故障等级和次数指标来量化考核。

  • 数据建设质量:可以从两方面来考量:易用性和丰富性;易用性是结合数据规范来考量的:所有的数据都遵循严选数据规范,目的是降低数据的使用成本;丰富性是考量核心数据资产的广度:dw对外服务的应用数量,dw层管理的数据量,dw层本身跨层依赖的数量等。

640?wx_fmt=png

4. 数据稳定性

  • 数据稳定性:建立完善数据仓库的值班制度,同时打通值班和故障平台,定期review数据本身问题导致的起夜的数量和影响面,量化考核具体开发。

  • 平台稳定性:建立完善的数据仓库和平台值班制度,打通值班日志和故障系统,定期review平台问题导致的起夜数量和影响面,量化考核平台。

5. 持续建设机制

  • 沉淀机制:严选数据仓库已经建立了和分析师定期交流的机制,定期交流沉淀分析师的核心指标,不断丰富严选数据核心资产。

  • 数据治理:有上有下,通过和猛犸合作打通逆向数据流,通过下线冷数据冷任务,推动开发治理不规范模型和数据,来达到规范模型和节约存储的目的。

6. 数据开发效率

较前5个角度对比,数据开发效率较难量化,可以从两个方面来考量:开发规范的自动化程度和平台使用体验。

05

严选数仓评价实践

依照前文提到的6个角度,严选分别有与之对应的工具来支持。

1. 数据规范

所有的数据规范,最终目的都是用来提高开发者的水平、提高代码的质量。在开发水平参差不齐的情况下,需要有平台工具保障规范的落地。在过去的一年中,我们和网易杭州研究院一起规划落地了Easydesign平台:辅助《严选-指标定义规范》和《严选-模型定义规范》的落地。

下图是依托Easydesign实现的模型设计线上化产品界面。

640?wx_fmt=png

衡量数仓建设水平可以通过以下3个指标:总ods表被跨层依赖率,被跨层依赖的ods表数量,有下游ods表被跨层依赖率三个指标来完成。

640?wx_fmt=png

640?wx_fmt=png

2. 数据安全

每年有很多因数据导致的资损问题产生,我们从数据的上线流程、测试工具、测试环境等三个方面入手,让过程合规,结果合法。

640?wx_fmt=jpeg

3. 数据稳定性

严选和杭研共建的任务运维中心EasyTaskOps,实现智能基线预警,多基线精细化运维;目前我们4条基线完成率超过90%。

2020年上半年,严选和杭研共建了数据运维中心,上线了以下内容:

  • 基线管理:通过任务历史执行情况,自动判断基线内任务逾期可能性,进行破线预警。

  • 失败和逾期报警:对于失败和逾期的任务,可以配置电话、短信or邮件报警。

  • 评价指标:基线完成率、出错任务数、处理及时率等来评价任务的稳定性。

4. 持续建设机制

迭代更新、持续建设,这是衡量一个数据仓库活力的一个重要机制,我们通过指标一致性项目,梳理了数仓持续建设机制,数据紧跟业务成长,数据仓库才会保持活力。

640?wx_fmt=jpeg

通过和杭研一起推动Easycost升级,通过梳理存储相关规则、规范相关规则、计算相关规则、质量相关规则,上半年一共下线3.4w张表,节约了1.2PB的存储。

5. 数据开发质量

通过Easydesign平台承接规范的落地,整个上半年数据开发通过平台新建200+dw层表,强有力的保障了规范的落地;我们的最终目标是通过各种方法策略来提高数据开发的素质,使用工具目的是帮助大家养成遵循规范的习惯。

6. 数据开发效率

持续建设机制、数据规范的落地,最直接的反应就是数据开发效率的提升。严选全渠道数据基建项目中,交易域+商品域的离线+实时数据校验一次性通过,大大降低了数据开发的迭代修复成本。

06

总结

严选数据仓库以上6个方面沉淀了丰富的经验,从产品到实践。我们数据团队在2019年Q3完成了严选数据规范和SOP流程的制定,2020的Q1-Q2在积极推进相关产品迭代落地。我们相信在Q3-Q4会呈现一个数据更丰富,使用更便捷,保障更有力,响应更及时的数据仓库!

作者简介:

乙峰:多年数据领域工作经验,专注数据架构、模型设计和规范执行落地等。严选数仓交易域负责人,负责交易域模型设计落地和对外服务。

今天的分享就到这里,谢谢大家。

在文末分享、点赞、在看,给个三连击呗~~

会员推荐:

DataFun会员计划重磅发布!多重权益加持,为你筑就数据科学家之路!扫码了解更多:

640?wx_fmt=jpeg

文章推荐:

基于Flink的严选实时数仓实践

关于我们:

DataFunTalk  专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100场线下沙龙、论坛及峰会,已邀请近500位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章300+,百万+阅读,8万+精准粉丝。

640?wx_fmt=jpeg

分享、点赞、在看 ,给个 三连击 呗! :point_down: 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK