网易严选大数据架构演进
如果无法正常显示,请先停止浏览器的去广告插件。
1. 网易严选大数据架构演进
网易严选 左琴
2. 左琴
2013年毕业于浙江大学,先后任职阿里/华云数据/
网易等公司,主要从事大数据存储/计算引擎开发
和优化工作
目前就职于网易严选数据及风控部,同时担任网易
集团数据委员会委员,是网易严选数据和算法工程
团队的负责人,负责严选数据技术体系的建设(大
数据平台/中台/数据产品和算法工程)
社区的积极分享者,先后在SACC,QConf研习社
等做过多次主题分享,举办过Alluxio、Pulsar杭州
的Meetup.
3. 1 2 3
数据驱动技术体系 数据中台 数据平台
数据分析-> 数据决策 DataLake
AutoWarehouse 智能任务调度
Cloud Native
4. 1
数据驱动技术体系
数据业务的发展和变化
辅助决策 统计 分析 诊断
VIPAPP
移动数据工作台
轩辕
数据大屏
神相
流量分析产品
谛听
舆情洞察
伏羲
营销数据分析
大麦
商品数据运营
哈勃
评论数据产品
统计分析型 数据产品
用户分析
商品销售
渠道销售
逆向分析
供应商管理
DIS
科学实验平台
流量分析
营销分析
仓储物流
品控分析
财务分析
严选报表分析体系(有数)
阶段1 2017~2020: 重点打造分析体系
5. 1
数据驱动技术体系
数据业务的发展和变化
智能决策 策略 模型
用户运营
用户增长
风控
人
榜单
选品
推荐
货
辅助决策 统计 分析 诊断
栏目
搜索
广告
场
数据服务化 破除数据门槛 开放数据+能力
VIPAPP
移动数据工作台 轩辕
数据大屏 DIS
科学实验平台
大麦
商品数据运营 伏羲
营销数据运营 谛听
舆情洞察
河洛
供应链协同决策
业务财务一体化平台
刑天
市场投放与归因系统
阶段2 2020~: 打造数据驱动工程体系
严选商品中心
6. 1
数据驱动技术体系
全域
用户运营
用户增长
数据工程技术目标
时效: T+1, T+10m, 实时
风控
特征: 无统一访问服务
人
标签 特征 策略 模型
推荐
榜单
选品
货
质量: 准确率,异常分析
存储: 对外不直接暴露
开放数据+开放能力
业务目标
临时方案和烟囱开发积累的债务
翻译
目标
无ACID能力
无法应对在线业务要求
数仓模式过于重度
能力
无法应对标签与特征的大量需求
演进
计算: 服务化的计算能力 开放表,没SLA的服务
稳定: 满足在线业务SLA要求 …….
面向分析 向 数据驱动 的工程演进
Spark, flink etc.
严选商品中心
存储: 10+ 存储引擎
债务
推荐: 3个推荐服务
访问: 一致的访问服务
业务财务一体化平台
刑天
市场投放与归因系统
数据
定义: 统一的定义
赛马
场
河洛
供应链协同决策
标签: 3个不同的服务
工程目标
无法应对业务系统对数据体系的要求
分析|结合
工程现状
打
造
数
据
驱
动
技
术
体
系
7. 1
数据驱动技术体系 数据驱动工程体系建设思路
业务⻆度切入,技术视⻆划分
数据应用
数据中台
看技术本质
通用能力下沉
分析诊断型 策略型 智能型
指标 标签 + 规则 特征 + 模型 + 规则
Data PipeLine:数据集成 -> 数据开发 -> 数据访问
AI PipeLine:数据集成 -> 特征/模型开发 -> 模型推理
表
任务
数据平台
数据计算 + 数据存储
屏蔽底层细节
提供积木搭建
8. 1
数据驱动技术体系
前台
数据驱动技术体系全景图
VIPAPP 伏羲-营销 刑天-渠道 运营中心 商品中心 榜单 推荐 广告
商品-大⻨ 谛听-服务 选品系统 客服中心 供应链中心 CRM 搜索 ⻛控
科学实验平台
流量控制
效果分析
Binlog
数据仓库
数据
集成
中台
ODS/DW/DM
数据湖
Log
统计引擎
指标服务
数据治理
策略引擎
标签服务
特征 &模型服务
AI引擎
召回/排序/赛⻢
指标治理
标签治理
表治理
任务治理
DataHub数据总线
平台
Atom计算平台
机器学习平台
统一数据查询平台
YAWS-统一任务调度
MESSAGING
COMPUTING
RESOURCE
FAAS平台
Waiter-数据网关
SCHEDULE
STORAGE
基础服务
统一元数据
数据血缘
监控服务
9. 1
数据驱动技术体系
前台
数据驱动技术体系全景图
1
3
2
VIPAPP 伏羲-营销 刑天-渠道 运营中心 商品中心 榜单 推荐 广告
商品-大⻨ 谛听-服务 选品系统 客服中心 供应链中心 CRM 搜索 ⻛控
1
Binlog
数据仓库
数据
集成
中台
ODS/DW/DM
数据湖
Log
流量控制
效果分析
面向分析型应用的pipeline
统计引擎
统计引擎
指标服务
数据治理
2 面向策略型应用的pipeline
策略引擎
标签服务
3 面向智能型应用的pipeline
特征 &模型服务
科学实验平台
AI引擎
召回/排序/赛⻢
指标治理
标签治理
表治理
任务治理
DataHub数据总线
平台
Atom计算平台
机器学习平台
统一数据查询平台
YAWS-统一任务调度
MESSAGING
COMPUTING
RESOURCE
FAAS平台
Waiter-数据网关
SCHEDULE
STORAGE
基础服务
统一元数据
数据血缘
监控服务
10. 1
数据驱动技术体系
前台
数据驱动技术体系全景图
VIPAPP 伏羲-营销 刑天-渠道 运营中心 商品中心 榜单 推荐 广告
商品-大⻨ 谛听-服务 选品系统 客服中心 供应链中心 CRM 搜索 ⻛控
科学实验平台
流量控制
效果分析
Binlog
数据仓库
数据
集成
中台
ODS/DW/DM
数据湖
Log
统计引擎
指标服务
数据治理
策略引擎
标签服务
特征 &模型服务
AI引擎
召回/排序/赛⻢
指标治理
标签治理
表治理
任务治理
DataHub数据总线
平台
Atom计算平台
机器学习平台
统一数据查询平台
YAWS-统一任务调度
MESSAGING
COMPUTING
RESOURCE
FAAS平台
Waiter-数据网关
SCHEDULE
STORAGE
基础服务
统一元数据
数据血缘
监控服务
11. 1 2 3
数据驱动技术体系 数据中台 数据平台
数据分析-> 数据决策 DataLake
AutoWarehouse 智能任务调度
Cloud Native
12. 2
数据中台
数据&算法中台
VIPAPP 伏羲-营销 刑天-渠道 运营中心 商品中心 榜单 推荐 广告
商品-大⻨ 谛听-服务 选品系统 客服中心 供应链中心 CRM 搜索 ⻛控
科学实验平台
流量控制
效果分析
Binlog
数据仓库
数据
集成
ODS/DW/DM
数据湖
Log
统计引擎
指标服务
数据治理
策略引擎
标签服务
特征 &模型服务
AI引擎
召回/排序/赛⻢
指标治理
标签治理
表治理
任务治理
DataHub数据总线
Atom计算平台
机器学习平台
统一数据查询平台
FAAS平台
面向业务场景的, 数据(指标/标签/特征/模型),工程组件的技术解决方案
YAWS-统一任务调度
MESSAGING
COMPUTING
RESOURCE
Waiter-数据网关
SCHEDULE
STORAGE
基础服务
统一元数据
数据血缘
监控服务
13. 2
数据中台
数据架构的迭代 - 问题 和 价值
数据运转效率低 高生产效率
依赖数仓单独团队开发模型 自动化 数据清洗,0人工成
本,即可获取 干净的数据
自动化数仓
分析型产品
BI
数据schema频繁变更
问题
数据服务化
Auto WareHouse
释放数据生产力
业务研发团队能自行利用原
始数据能力构建产品和服务
数据湖
策略与模型
业务系统
搜广推/营销/供应链/榜单/DMP
等业务域需要更高效率的数据供应
严选数据湖解决方案
Yanxuan DataLake
高可用性保障
数据准实时
ACID能力保障数据随时可用
需要ACID的准实时数据
需求
问题和需求
价值
策略
14. 2
数据和算法中台
数仓的演进-存在的问题
建模
汇总计算
Flink
ODS
重复工作
Flink
DWD
实时数仓
Kafka
DWS
重复工作
实时和离线数仓:
两条数据流存在着许 重复
但又不完全一致的工作
汇总计算
建模
spark
spark
ODS
DWD
离线数仓
DWS
15. 2
数据和算法中台
数仓的演进-存在的问题
ETL
ETL | 汇总计算
ETL | 建模
Flink
ODS
数仓有很多规范和口径
Flink
DWD
DWS
规范与SQL实现并没有一致
实时数仓
Kafka
eg. 规范
ODS要完成的数据清洗,在DW和DM都存在
ETL| 汇总计算
ETL 与 建模
ETL
spark
spark
ODS
ODS不能有join
DWD
离线数仓
DWS 指标的定义和实现不一致
DWS
指标的二义性-大量重复计算代码
16. 2
数据和算法中台
数仓的演进 AutoDW
ODS层-AutoETL
ETL
建模
汇总计算
Flink
ODS
Flink
DWD
DWS
实时数仓
Kafka
ETL
汇总计算
建模
spark
spark
构建清洗算子替代人工硬编码
ODS
DWD
DWS
离线数仓
17. 2
数据中台
数仓的演进 AutoDW
ODS层-批流融合
Kafka
Auto Streaming ETL
流上自动化清洗
建模
汇总计算
Flink
ODS
Flink
DWD
DWS
实时数仓
1. ACID 保证
2. Update/Insert 支持
3. 分钟延迟
ETL
镜像表
清洗任务:流计算 替代 批处理
汇总计算
spark
ODS T+1 快照
DWD
DWS
离线数仓
18. 2
数据中台
数仓的演进 AutoDW
ODS层- 批流融合
如何解决乱序问题
乱
序
Flink-AutoETL任务
自动化清洗逻辑
保证数据顺序写入Iceberg
Spark-Compaction任务
eqDeleteFile -> posDeleteFile的转换
posDeleteFile的合并
dataFile的合并优化,重排后写入
Spark-周期快照任务
从iceberg镜像表中合并制作T+1快照
19. 2
数据/算法中台
数仓的演进 AutoDW
实时数仓
Auto Streaming ETL
Kafka
流上自动化清洗
建模
汇总计算
Flink
ODS
Flink
DWS
DWD
流上计算,回流到准实时
离线数仓
DWD层-批流融合
汇总计算
ODS
DWD
spark
DWS
20. 2
数据中台
数仓的演进 AutoDW
Auto Streaming ETL
建模
Kafka
汇总计算
Flink
ODS
Flink
DWD
DWS
实时数仓
离线数仓
汇总计算
spark
ODS
DM-指标自动化构建
指标定义即开发
标准化-> 自动化
DWD
DWS
指标
21. 2
数据中台
DataLake的建设与实践
建模
Kafka
汇总计算
Flink
ETL
ODS
Flink
DWD
DWS
实时数仓
汇总计算
建模
spark
spark
ODS
DWD
DWS
离线数仓
1000+ 表和任务
分钟级标签/特征
业务近实时数据查询
分钟级业务指标与报表
数据湖
小时级的模型训练
22. 2
数据平台
DataLake的建设与实践
旧
方
Flink
案
Kafka
Append
LOG & DB
Merge
10min增量
Spark
10min快照
新
Kafka
Update
LOG & DB
S级延迟镜像
Spark
陷
近实时数据方案
短周期快照10/30/60分钟级别的快照数据
1. 实时性无法满足,实时计算门槛高,按需开发成本高
2. 以空间换时间,浪费大量的存储资源
3. 没有ACID,更新期间并发访问不可用,可用率60%
Iceberg存储方案
方
Flink
缺
案
S级 99% 70%
数据延迟 可用率 节省资源
23. 2
数据平台
DataLake的建设与实践 - 基础设施建设
基础设施的建设
0 故
障
数据湖
数据集成
数据访问
数据仓库
1 计算引擎层:
2 统一元数据及血缘:Iceberg元数据的管理和查询
Flink/Spark/Presto社区版本支持
ODS/DW/DM
血缘的接入-提供灰度自动切换的保障
3
2
计算平台Atom
机器学习平台
数据服务平台Waiter
1
计算引擎(Flink)
OLAP引擎(Spark/Presto)
元数据
血缘
3 开发平台层: 计算平台/机器学习平台/数据服务平台
4 Iceberg的优化 Compaction的优化,性能提升10倍
4
存储格式 Iceberg
5
DataCheckTool保证数据100%一致
数据仓库 与 数据湖 平台架构上并无本质区别,并不引入额外的成本
24. 2
数据平台
大
量
小
文
件
DataLake的建设与实践- iceberg性能优化
1
2
3
问题及原因
Iceberg表读性能差,文件多影响MOR性能
主要优化点
1 rewrite EqDeleteFile ->PosDeleteFile
2 compact PosDeleteFile
3
order by index & overwrite
平均读取性能提升10倍
25. 2
数据中台
DataLake的建设与实践-应用场景
数据治理
Binlog
数据仓库
数据
集成
中台
Atom计算平台
面向智能型应用的pipeline
特征 &模型服务
机器学习平台
COMPUTING
RESOURCE
AI引擎
召回/排序/赛⻢
统一数据查询平台
YAWS-统一任务调度
MESSAGING
策略引擎
标签服务
数据湖
DataHub数据总线
平台
面向策略型应用的pipeline
ODS/DW/DM
Log
统计引擎
指标服务
STORAGE
标签治理
表治理
任务治理
基础服务
FAAS平台
Waiter-数据网关
SCHEDULE
指标治理
统一元数据
数据血缘
监控服务
特征和样本近实时存储 - 支持模型实时训练
标签服务 - 支撑近实时的用户圈选运营活动场景
26. 2
数据中台
DataLake的建设与实践-应用场景
Auto Streaming ETL
建模
Kafka
汇总计算
Flink
ODS
Flink
DWD
DWS
Second
实时数仓
T+1
汇总计算
Auto SQL
spark
ODS
DWD
DWS
离线数仓
Min
标签与画像场景
数据湖
标签圈选
27. 2
数据中台
DataLake的建设与实践 - 应用场景
据
数
Binlog
数据
集成
中台
能
数据仓库
ODS/DW/DM
数据湖
Log
力
开
放
数据治理
统计引擎
指标服务
数据 +
标签服务
能力 开放和探索
策略引擎
特征 &模型服务
AI引擎
召回/排序/赛⻢
放
开
DataHub数据总线
平台
Atom计算平台
机器学习平台
统一数据查询平台
YAWS-统一任务调度
MESSAGING
COMPUTING
RESOURCE
标签治理
表治理
任务治理
基础服务
FAAS平台
Waiter-数据网关
SCHEDULE
指标治理
STORAGE
统一元数据
数据血缘
监控服务
数据湖开放
如何使用湖和仓?平台提供数据集成-数据访问能力
近实时数据查询 - 支撑供应链/商品中心/财务等业务实时数据查询
28. 1 2 3
数据驱动技术体系
数据分析-> 数据决策
数据及算法中台
DataLake
AutoDW
数据及算法平台
智能任务调度
Cloud Native
29. 3
数据和算法平台
伏羲-营销
Spark
VIPAPP Over Hive
谛听-服务
商品-大⻨
计算存储分离
Spark
on
K8S
运营中心
刑天-渠道
Flink on K8S
选品系统
机器学习平台
2019
指标服务
ODS/DW/DM
数据湖
Log
榜单
Atom计算平台
COMPUTING
策略引擎
标签服务
特征 &模型服务
Qtum机器学习平台
RESOURCE
流量控制
效果分析
架构演进
数据治理
AI引擎
召回/排序/赛⻢
FAAS平台
Waiter-数据网关
SCHEDULE
STORAGE
指标治理
标签治理
表治理
任务治理
统一数据查询平台
YAWS-统一任务调度
MESSAGING
科学实验平台
统计引擎
2021.9
成本,效率,稳定
DataHub数据总线
广告
推荐
智能任务调度
供应链中心
搜索
⻛控
CRM
统一数据网关
Cloud Native
数据仓库
数据
集成
商品中心
客服中心
2020.9
Binlog
DataOPS
基础服务
统一元数据
数据血缘
监控服务
30. 3
数据和算法平台
数据计算 - 智能任务调度 - 问题 和 价值
离线计算
生产效率
几万+ 任务调度 手工管理 几万+ 任务调度 手工管理
实时计算 服务器成本
数据生产沙盘
万+ 任务手工管理
砍掉50% +服务器预算
调度影响重大
数据质量
模型训练
自动化/智能的调度管理系统
YAWS
年均2起+ 人工调度失误导致故障
上千+ 训练任务依赖管理
场景复杂度
在线特征
任务类型:流批混合
任务种类:人工开发 + 自动生成
多调度引擎:Airflow + Azkaban
上千+ 特征计算任务依赖管理
多资源调度: Yarn + K8S
现状
推演
价值
策略
31. 3
数据和算法平台
批流任务智能调度 - YAWS架构设计
统一任务管理
Cloud Native 架构
批/流/AI跨多平台任务提交与管理
血缘
元数据
任务监控
自动解析作业依赖
作业任务优先级
作业任务资源
作业
调度
策略
模型
事件触发作业
支持Yarn/K8S调度,屏蔽基础设施细节
统一的API服务,支撑上层应用计算任务
定时调度作业
eg. 日志平台/标签服务/指标服务等
调度策略
全链路数据血缘调度,不依赖人工配置,准确率99.9%
沙盘
仿真
模型训练任务
流任务
批任务
人工开发
人工开发
批任务
事件触发作业,解决流批混合调度,数据准确率100%
沙盘仿真模块,量化策略效果,准确率99%
智能调度策略,血缘+任务优先级+任务资源的策略模型
自动生成
调度执行
调度引擎-Airflow 和 Azkaban
K8S- 批处理/流计算/算法训练任务资源混合调度
Data & AI 混合调度,AI-Pipeline 端到端的流调度管理
32. 3
数据和算法平台
批流任务智能调度 - 调度策略
原来存在问题:
33. 3
数据和算法平台
批流任务智能调度 - 调度策略
34. 3
数据和算法平台
3:30
批流任务智能调度 - 调度策略
4:30基线
100%完成率3:30
90%完成率2:50
7:30
9:30基线
100%完成率
0
2020~2021
0生产延迟故障
0数据质量故障
35. 3
数据和算法平台
批流任务智能调度 - 资源调度
血缘 自动解析作业依赖
元数据 作业任务优先级
任务监控
沙盘
仿真
作业任务资源
作业
调度
策略
模型
事件触发作业
定时调度作业
资源混合调度
•
•
•
•
实时和离线计算使用不同的Yarn集群
Yarn运维复杂,缺乏好用的运维工具
Yarn资源隔离不彻底,任务之间容易相互影响
峰值流量场景,集群资源无法快速伸缩
模型训练任务
流任务
批任务
人工开发
人工开发
批任务
自动生成
任务资源调度- Cloud Native
• 批处理/流计算/算法训练任务混合部署
• 提供资源统一管理和分配
• 大促期间,计算资源快速扩缩容,抵抗峰值压力
36. 3
数据和算法平台
批流任务智能调度 - CloudNative
37. 总结和展望
数据仓库与数据湖发展
准实时数仓 (30分钟延迟 或 更少)
+ 数据仓库
指标定义即实现
……
更快的访问性能
+ 数据湖
更低的数据延迟
……
不同的场景 | 不同的数据使用理念
数据湖不会替代数仓,而是长期共存
38. 总结和展望
更可靠的数据生产和访问
大数据全链路的压测
+ DataOps
任务的自动降级
……
统一的数据网关服务
+ 数据访问
存储引擎的减少与优化
……
适用于各场景(nosql & nosql)的数据查询