网易严选数仓规范和评价体系
严选技术团队
导读:数据仓库,是我们数据工程师的无形产品,不同于可视化、交互型产品的评价体系,数据仓库的评价有其独特性。本文从概念-平台-规范的链路来介绍一下严选数据仓库,并介绍了严选数据仓库的评价体系。
数据为王的时代,数据量从最初的几十G,慢慢沉淀到几十T,甚至几十PB的量。数据工程师,也从最初的ETL工程师慢慢成长为数据全栈工程师:采集、同步、模型、离线、实时、规范、平台、工具、产品、交互、保障、数据体系等等。
数据仓库,是我们数据工程师的无形产品,不同于可视化、交互型产品的评价体系:拥有比较明确的评价指标MAU、DAU、GMV等。数据仓库一直没有比较系统的评价体系,下面从概念-平台-规范的链路来介绍一下严选数据仓库,最后跟大家交流一下数据仓库的评价体系。
数据仓库基本架构
这里概览讲一下严选数据仓库的分层逻辑,下面是严选数仓的框架图:
数据仓库分层没有绝对的规范,适合的就是最好的,特别是企业已经有一个初版的数仓的时候,需要做好改造成本和可理解性之间的平衡。
以业务数据的流向划分,目前严选数据把模型分为三层,ods,dw和dm层。其中ods是操作数据层,保留最原始的数据;dw包含dwd和dws层,这两层共同组成中间层;dm是应用层,基于dw层做汇总加工,满足各产品、分析师和业务方的需求。
- ODS层(操作数据层):不对外开放,把业务系统数据同步到数仓。数据格式保留业务系统的数据格式;目前主要通过datahub解析binlog来实现的,目前严选的ods层数据同步主要以全量数据为主。
- DWD层(明细层):对外开放,主要作用是沉淀一些公共的逻辑,常用维度属性的关联等,下游经常在一起使用的模型会在这一层做宽表处理,减少事实表和维表的关联,减少重复的关联加工。
- DWS层(汇总层):对外开放,主要沉淀严选数据的公共指标,dws层是整个严选数据对外开放和使用的核心,是严选最核心的数据资产。
- DIM层(维表):对外开放,主要是一些常用维表,比如商品维表、sku维表、渠道维表。
- DM层(应用层):对产品开放使用,支持数据产品、报表的使用,主要是不公用复杂指标的汇总和计算。
数据仓库开发平台
严选数据仓库分 离线 和 实时 两部分。
离线部分由猛犸提供支持。猛犸是网易杭州研究院研发的一站式数据管理和应用开发平台,覆盖了大规模数据存储和计算、数据集成、应用开发及数据管理等企业大数据应用场景。
实时部分由Atom平台提供支持,Atom是严选产技自研的一款实时数据管理和开发平台。
严选数据仓库规范
在其他工种开发的眼里,数据仓库的入门门槛非常低,低到技术鄙视链的最末端:“噢……,他们就是写SQL的,他们整个团队都是写SQL的……”,顿时天空飘过一万匹神兽。曾经和未来都有很多人会来挑战数仓工程师存在的意义:“我也能干!”,但是实际情况是:naive!具体可参见严选数据仓库的架构图,这其中的每一个icon背后都有一套工具、平台,甚至于一个团队来支撑运转。
严选数据仓库是一套方法论,从规范定义、模型设计到数据服务,再到数据可管理、可追溯、可复用。严选数据仓库遵循维度建模理论,参考了阿里巴巴的Onedata建模理论,核心框架由三个规范组成:《严选-指标定义规范》 ,《严选-模型设计规范》和《严选-数据开发规范》,外层由辅助规范落地的若干工具、平台组成:仓颉-指标管理系统、燧人-指标地图系统、UDS-数据质量中心、EasyDesign-模型设计中心等。
** **
1、指标定义规范
指标定义规范,目的是统一开发&产品对指标的定义。通过对原子指标的命名规则、派生指标的命名规则和派生词的定义来完成。
指标定义体系,是数据建设体系的基础和内核,为了杜绝产品经理命名引起的歧义,以及后续带来的使用和维护以及解释成本。
** **
2、模型设计规范
模型设计规范,目的是统一数据开发对模型的命名定义。通过域+更新方式,域+维度+更新周期的方式来完成。
3、数据开发规范
数据开发规范,目的是提高数据开发的SQL开发能力。通过限制各级子查询的缩进形式,子查询的规范等来完成。
数据仓库评价体系
近期的一些思考跟大家做一个交流,一家之言,欢迎拍砖。
基本要求
数据安全和数据质量是数据仓库的生命线!不可逾越、不可触犯。
评价体系
下图是近期整理的严选数据仓库的6个评价角度
1.数据规范
数据规范,最终目的是提高开发的整体水平。遵循严选数据规范:《严选-指标定义规范》、《严选-模型设计规范》和《严选-数据开发规范》,同时由工具和平台来保障规范的落地并监督评估规范落地的效果。
2.数据安全
数据安全,这个命题怎么强调都不为过,特别是近期数据安全问题频发,51信用卡,大大小小的放贷公司。因此作为数据从业者,遵循《网易商业行为准则》,不对外泄露业务数据,时刻做到数据指间过,安全心中留。
3.数据质量
数据质量由 数据本身的质量 和 数据建设质量 两部分组成:
- 数据本身质量:数据开发对数据质量负责,保持对数据的敬畏心,结合《严选-线上故障定义规范》,通过故障等级和次数指标来量化考核。
- 数据建设质量:可以从两方面来考量:易用性和丰富性;易用性是结合数据规范来考量的:所有的数据都遵循严选数据规范,目的是降低数据的使用成本;丰富性是考量核心数据资产的广度:dw对外服务的应用数量,dw层管理的数据量,dw层本身跨层依赖的数量等。
4.数据稳定性
- 数据稳定性:建立完善数据仓库的值班制度,同时打通值班和故障平台,定期review数据本身问题导致的起夜的数量和影响面,量化考核具体开发。
- 平台稳定性:建立完善的数据仓库和平台值班制度,打通值班日志和故障系统,定期review平台问题导致的起夜数量和影响面,量化考核平台。
5.持续建设机制
- 沉淀机制:严选数据仓库已经建立了和分析师定期交流的机制,定期交流沉淀分析师的核心指标,不断丰富严选数据核心资产。
- 数据治理:有上有下,通过和猛犸合作打通逆向数据流,通过下线冷数据冷任务,推动开发治理不规范模型和数据,来达到规范模型和节约存储的目的。
6.数据开发效率
较前5个角度对比,数据开发效率较难量化,可以从两个方面来考量:开发规范的自动化程度和平台使用体验。
严选数仓评价实践
依照前文提到的6个角度,严选分别有与之对应的工具来�
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek/post/%E4%BA%92%E8%81%94%E7%BD%91/%E7%BD%91%E6%98%93%E4%B8%A5%E9%80%89%E6%95%B0%E4%BB%93%E8%A7%84%E8%8C%83%E5%92%8C%E8%AF%84%E4%BB%B7%E4%BD%93%E7%B3%BB/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com