网易实时数据中台(基础设施)建设实践 陈亮亮 目录 背景介绍 实时架构的演进 网易数据中台基础设施实现 未来规划 大数据特征: •Volume ◦数据多 ◦体量大 •Variety ◦多样性 •Velocity ◦增长快 ◦处理快 数据分类: •热数据 •温数据 •冷数据 数据价值 随时间增长而衰减 行业趋势(实时数据领域,2021): •ApacheKafka商业化公司Confluent纳斯达克上市 •ApacheDruid商业化公司Imply以7亿美元估值完成7000万美元的C轮融资 •ClickHouse团队成立商业公司,并完成2.5亿美元B轮融资 •。。。等等 实时不是即未来,而是已来! Lambda架构 主要缺点: •两条链路各自独立,随时间推移容易产生各种口径不一致,以及计算结果不统一 •两条链路对应两份数据,计算和存储成本高 •Lambda涉及组件多,架构复杂,监控、运维成本高 离线数仓实时化 主要缺点: •合并成本高,全表合并代价大 •调度周期长,实时性不足,通常只能实现小时级别合并 初步具有流批一体能力的OLAP引擎 主要缺点: •数据孤岛 •没有存算分离,成本高 •激进合并策略会影响线 上稳定性和性能 •没有历史快照 流批一体/湖仓一体架构 实时架构的演进 数据模型 spark/hive/flink 数据服务 离线传输 数据资产 数据质量 impala/sparksql 实时传输 周期+事件驱动 数据血缘 流批一体表 数据开发 spark/flink 任务运维 AP系统 数据分析有数 APP 存储流批一体开发流批一体应用流批一体 统一schema统一存储引擎统一存储介质消除二义性 使用一套代码 覆盖实时和离线场景 统一UDF 统一开发规范 数据模型数据资产数据质量数据血缘数据传输 增量数据(L1,L0) change change change change change change change change change change 存量数据/批数据 base base base base base base base base base base WAL数据 changechangechangechangechange L2-Ln:按主键唯一L0:按时间append数据 L1:文件内主键唯一,小文件合并 MemTable 动态哈希二叉树结构[1]: •根据主键hash值划分 •只需维护文件所属结点信息(文件属性) •根据负载,可动态进行分裂或合并 优点 •不需要第三方索引组件 •兄弟结点间数据不相交,为高并发处理留下空间 [1]https://people.eecs.berkeley.edu/~culler/papers/dds.pdf •通过ArcticTree结构,提 高写入并发度 •通过数据shuffle,保证单个Node只有一个writer写入,减轻文件碎片化 •后台异步compaction,取得实时性和读写性能之间均衡 •MinorCompaction ◦作用于ChangeTable ◦insert/delete文件合并 •MajorCompaction ◦作用于整个表 ◦变更数据与base数据的合并 •CopyOnWrite–写时复制 ◦主要针对高性能读场景 ◦实时性稍差 •MergeOnRead–读时合并 ◦主要针对实时性要求高 场景 ◦写入性能好 ◦查询过程有额外消耗 流批统一Schema 实时开发 批查询 数据库 ODS DWD DWS ADS APP 运单 费用 收件 用户需求: 运单 费用 收件 收入 营收 揽件 •公司运单业务由运单管理平台、支付平台、收件管理平台共同协同完成,每个平台有自己独立的数据库系统存储业务数据,需要打通这些数据,通过实时的指标数据辅助运营决策 应用效果: 揽件率 营收量 妥投率 •运营决策延迟从1天优化到5-20分钟 •通过优化调度,运营效率提升15% 数据报表 运营决策 车辆调度 •机器成本降低55% 流批一体治理服务 流批一体AP服务 统一运维中心(sloth) 实时采集 实时报表营销策略实时库存特征决策实时大屏数据化运营安全风控 应用层 数据传输 数据开发 数据模型 数据质量 数据地图 数据资产 平台层 统一元数据中心 Arctic流批一体数据湖 流文件 流文件 批文件 流文件 流文件 批文件 流文件 流文件 批文件 批文件 批文件 流批一体调度(工作流)系统 基础设施