网易数帆小助手

个人签名

233篇博客

网易汪源:数据生产力统一技术目标,开放式流批一体支撑落地

网易数帆小助手2021-12-26 10:12

12月25日,由中国计算机学会主办,CCF大数据专家委员会承办的2021中国大数据技术大会以线上+线下的方式拉开了帷幕。网易副总裁、网易杭州研究院执行院长、网易数帆总经理汪源受邀出席本次大会并做了主题演讲,分享了对综合性数据生产力方法论的最新思考,网易数帆相应支撑技术体系的特色与落地成果,以及支撑该体系的开放式流批一体架构和核心技术Arctic的实现。



数据生产力:继承成果,统一技术发展目标


何谓数据生产力?汪源基于数据技术发展的核心目标给出了两层定义:狭义上指用于数据集成、清洗、转换、查询、可视化等数据加工处理软件的生产能力及这些软件的运行维护能力,广义上则指使用数据所带来的组织生产力提升。当然,后者需要前者的支撑。


为什么要提出这样的方法论?汪源表示,从上个世纪的关系数据库、SQL、数据仓库、OLAP,到近年来的大数据、数据治理、数据中台,数据分析领域的方法论层出不穷,这些方法论为技术研究和产品开发提供了较好的指导,如数据挖掘提出了超越基础统计的知识发现方法,大数据提出了全体而非抽样、相关而非因果的思想,促成了从ETL到ELT的转变。但由于这些方法论诞生于不同历史背景,天然难以融合形成整体统一的方法论,因而对数据技术的体系化发展造成了困扰。

 
事实上,于企业组织而言,不管构建何种数据处理技术,提升组织生产力都是其核心目标,这就是数据生产力产生的内因。而实现数据生产力的愿景,是 实现人人用数据、时时用数据,使得数据分析的能力成为企业差异化的关键。在这方面,7-11便利店、SHEIN、名创优品和德邦快递等行业翘楚已经提供了典型的范例。

 
网易数帆数据生产力方法论包括了三大要素:DataOps、DataFusion和DataProduct。DataOps重点是实现数据生产的敏捷和高质量,来自于Gartner的定义,本质上是通过软件工程的CI/CD(持续集成/持续交付)方法融入数据分析产品开发流程,做到数据需求的敏捷交付。DataFusion要实现整个组织数据的统一和共享,破解烟囱式开发模式下的需求响应慢、查询速度慢等问题。DataProduct(数据产品)最终要实现数据分析系统和业务系统之间的连接,以及数据的智能化的应用。

 
汪源强调, 综合性数据生产力方法论三大要素与历史上的数据分析方法论是一脉相承的,汇集了主流数据分析方法论的核心要素。例如,DataFusion就是数据中台、数据治理、数据仓库和大数据等方法论的集大成者。



网易有数:数据生产力技术体系


基于综合性数据生产力方法论和愿景,网易数帆打造了有数技术体系来促进业务发展。该体系包括数据研发、数据中台和数据产品三层架构,分别对应DataOps、DataFusion和DataProduct三要素。汪源分别深入介绍了这些技术产生的背景、核心建设思路、有数特色工作和业务应用成果。




DataOps的实践,源自缺乏自动化测试工具、测试任务污染线上数据、上游任务修改影响下游产出和任务发布缺乏有效管控等现象。基于此,网易数帆构建了一个高质量的数据发布流水线,从任务开发开始,经过数据测试、配置检查、Code Review、影响分析等一系列步骤,最后发布包要经过审核之后才进入生产发布环节。


其中网易数帆的特色工作,主要包括数据测试的SQL Sacn,生产/测试隔离,下游影响分析和发布审核等。其中SQL Sacn等价于软件工程的静态扫描,但体现了SQL核心专业知识,网易数帆支持跨层依赖、全表扫描、固定分区等,覆盖SQL开发常见问题和错误,并支持自定义规则扩展。


DataFusion的实践,包括了统一指标管理体系,高复用、规范的数据模型,基于ROI沉淀数据资产和数据服务化等四大着力点。以数据服务化为例,网易数帆通过管理系统支持可视化配置方式生产API,并以权限、熔断、限流等服务治理能力支持API共享,以API编排能力避免烟囱式开发。网易云音乐通过该系统发布了176个API支撑28个数据应用,日调用量达到1.26亿。


DataProduct的实践,意在打破传统报表模式下数据组织混乱、无法转化为有效决策、数据到业务链路不通等瓶颈,面向业务需求构建一个好用的、能解决问题、指导工作的产品体系。其核心思路,是通过数据门户、算法平台、决策引擎、连接中心等产品,建立从组织数据、发现异常、诊断异常、决策建议到决策执行的链路。


汪源举了一个网易严选应对库存周转高的案例,基于有数数据产品建设的严选供应链决策系统,包括销量预测、库存分析、补货决策、采购建议等一系列自动功能,并连接到供应商管理、采购、仓配、选品等业务系统,实现的效果,是系统自动采购订单占比82%,总体库存下降43%,库存周转天数下降24%。



Arctic表服务:升级开放式流批一体架构


从底层看,流批割裂是有数技术体系建设必须解决的一个核心技术难题。无论对于数据存储、系统运维、数据/应用开发和数据复用,流批割裂的复杂性都会带来成本和效率的极大影响。


对此,网易数帆形成了一个基于数据湖的开放式架构,包括五个层面的技术,最底层是文件系统,实现数据存储和访问;第二层是文件格式,定义文件与数据之间的关系;第三层是表格式,定义文件与表之间的逻辑关系;第四层是表服务,优化表物理结构,提供读写API;最上层以SQL方式来提供统一入口。


“在这个架构里面,每一层都是开放的技术,我们在做技术方案设计时始终追求与开放性技术的无缝融合,因为这样才能够满足企业客户的需求。”汪源强调说。


网易数帆近期对该架构的升级,主要包括专门构建了Arctic流批一体表服务取代Hive表服务(计算引擎集成),并引入Apache Iceberg作为流批一体表格式。




具体而言,Arctic提供实时场景支持和多引擎支持,即支持基于主键的更新、流表的实时订阅、实时维表join,支持Flink、Spark等主流计算引擎支,Presto、Impala等主流分析引擎,并支持多引擎并发读写,保障 ACID。


Arctic通过数据写入、数据读取和数据整理三个层面的处理来实现这些能力,如实时数据写入Change,批量数据写入Base,读时合并Base和Change。汪源详细介绍了Arctic Tree数据组织原理,及Compaction、Split、Merge-on-Read等应用。


他表示,无Arctic的索引设计(通过算法定位数据)、Base和Change多对对灵活映射和动态分区控制文件大小等设计,带来了写入快、读取快、写放大降低三个技术特点,从而形成了一个高性能的流批一体表服务。