您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[中国数据智能管理峰会]:网易严选全链路数据治理的实践与总结 - 发现报告
当前位置:首页/其他报告/报告详情/

网易严选全链路数据治理的实践与总结

2023-04-15祝佳俊中国数据智能管理峰会后***
网易严选全链路数据治理的实践与总结

网易严选全链路数据治理的实践与总结 演讲人:祝佳俊 目录 CONTENTS 面临的问题 1 2 3 治理平台的建设&实践数据开发治理 4 总结&未来规划 01 面临的困难 面临的问题 数据源 ETL 清洗 验证标准化 数据仓库 ODS DW DM 特征训练 数据应用 AIServing 数据流向 计算资源 数据研发 数据服务 数据处理 数据集成 服 基础设施与 存储资源 务 面临的问题 数据使用效率低 表数量随着业务的发展越来越多,需求的频繁变更,用数时常常面临着不知道数据在哪,开发随意无规范 数据成本压力大 数据日积月累,存储成本日益增加,无法准确定位无用数据,数据不敢轻易删除。 数据稳定性差 任务数逐渐增多,集群计算资源不足导致任务经常失败无法正常产出数据,当大流量时无法保证基线数据完成率。 数据链路长 数据从集成到被使用链路长,依赖服务 和组件多,数据问题定位很困难 02 全链路数据治理平台 治理服务 MetaDataCollector LineageCollector MetricCollector 治理应用 表治理 •生命周期管理 •冷/热数据管理 •小文件合并 任务治理 •低效任务优化 •数据倾斜 •资源配置 系统治理 •引擎优化 •调度优化 •… 治理模型 表生命周期模型 任务资源模型 任务健康模型 数据产出模型 任务优先级模型 任务调度模型 统一元数据服务 全链路血缘服务 全链路监控服务 数据源元信息 包括了严选业务域中使用到的所有数据源,如日志、mysql、ddb、kafka、hive、hbase等,例如mysql数据源就记录了相关的ip、端口、所属服务、数据库名等信息 数据表元信息 包括表名、schema、访问情况、存储位置等相关信息 任务元信息 包括任务的类型、依赖、资源配置、 计算引擎、调度周期等信息 数据服务元信息 即数据产品服务,包含服务所属的部门、负责人、产品类型等信息 LineageAgent Datahub Atom Mammut Hive Hooks Spark 有数报表 … LineageCore LineageManage MetadataManage LineageStore IndexStore LineageStorage 统一元数据服务 ods.abc abc foo.bar 血缘校验 全链路监控服务 服务监控 •Yarn •HDFS •Azkaban •….. 任务监控 •任务资源使用情况 •流任务消息处理延迟 •批任务执行时间 •IO/shuffleData 数据收集 数据流处理 数据批处理 对外服务 表生命周期模型 表的生命周期管理模型,针对表的访问次数、优先级来 对表进行冷热分类 任务健康模型 从任务的:产出数据的使用率、任务依赖配置、报警配置、运行时长、资源使用等多个维度来评估一个任务的健康程度 数据处理模型 对所以离线调度批任务进行分析,识别生产链路中的关键节点、资源瓶颈、调度信息等,并给出相应的治理策略来使整个调度系统达到最优。 表 元 数 据 存储格式 文件数 文件大小 访问时间 访问次数 表分级 表生命周期模型 小文件合并 •基于血缘错峰合并 •数据备份&比对&恢复 缓存预热 •对于热数据提前缓存 •加速查询 冷数据处理 •数据冷备 •无用数据下线 •过期数据删除 任执行引擎执行历史依赖信息务 元 数产出信息资源使用…据 冷任务下线 产出冷表的数据为冷任务,自动将其下线,节省存储/计算资源 引擎自动升级 自动化将使用hive计算引擎的任务升级成Spark计算引擎 配置优化 去除无效依赖补全缺失依赖资源配置优化 低效任务处理 发生数据倾斜、运行时间>1小时、资源消耗(CPU/Memory)的低效任务进行通知报警人工调优 全链路任务智能调度 沙盘模拟 调度资源调整 任务降级 调度时间设置 资源检查 运行趋势预测 执行历史比对 依赖检查 调度检查 智能分级 基线期望产出时间 基线正常产出 计算资源治理策略任务集合 调度模拟器 任务完成时间资源使用 数仓基线稳定性治理效果 治理后 治理前 03 数据开发治理 AB 架构不合理 数据从集成到应用,架构设计不合理,数仓分层设计混乱 开发效率低 模型设计不规范,数据含义不统一,导致模型开发效率低 CD 计算口径不统一 对相同的指标存在不同的口径,数据准确率低 指标构建混乱 缺少指标的管理,相同指标可能被重复开发 产品框架 功能模块 不规范的定义习惯 规范后的定义流程 1.切分业务域 2.设计维度、生成派生词 3.设计业务过程 •确定所含业务流程 •设计业务维度矩阵 •设计度量 4.设计原子指标、衍生原子指标 •关联度量 •明确数据类型、汇总方式 •描述衍生计算公式 5.设计派生指标、派生计算指标 •自动关联依赖的指标 •确定派生词集合和时间周期 •中、英文标识自动生成 1.录入旧指标管理系统 •随意起名 •感性地描述指标含义 •只登记原子指标,不登记派生指标 2.登记在Wiki、离线文档等处 3.写在模型物理表字段注释中 4.不设计、直接写数据开发代码 1.DWD模型基于设计进行人工开发 •限定业务含义、所含度量 2.DWS底层模型基于设计进行人工开发 •限定模型标识、内容、更新方式 •自动扫描模型依赖情况 3.DWS汇总模型自动构建 •完全基于指标定义和模型设计 •自动发现依赖、生成汇总代码 •自动完成任务发布、调度和运维 4.DM集市层模型自动构建 •面向应用的数据访问需求 •只取数不计算 •自动发现依赖、生成构建代码 •自动生成和绑定数据服务 不规范的模型开发习惯规范后的模型开发流程 1.完全人工编写 •实际逻辑与定义不符 •烟囱式开发 2.为了快速交付而跨层依赖 •直接从DWD产出DM 3.反向依赖 •DWS依赖DM(当维表) 4.相同指标被重复计算 •逻辑不一致导致结果不一致 01 数据域定义 业务过程定义 02 03 指标定义 模型定义 04 05 自动构建&发布 100% 100% 10倍 定义和设计规范化 •指标规范定义300+个 •各类模型规范设计200+个 模型自动化构建 •所有在指标平台设计的模型都100%自动化构建 开发效率提升 •模型开发效率提升10倍+ •需求交付时间由周缩短至天 04 总结&未来计划 总结 数据有数报表风控拦截CRM用户画像特征训练 应用 数据权限控制API管理流量控制请求重放引擎决策 网关 元数据&血缘 表治理 任务治理 系统治理 数据血缘图谱 治理 搜索展示 数据采集元数据 文件合并缓存预热 冷表下线 TTL 任务分级引擎升级 任务下线配置优化 依赖补全资源优化 基线保障智能分级 数据分析 可视化 OLAP 自主分析 … 规范设计 数据集成 数据开发 数据开发 数仓规划 指标定义 维度建模 自动构建 分库分表 离线同步 实时同步 数据湖 任务开发 任务运维 数据质量 统一调度 Iceberg Doris Presto Flink 基础SparkHBase 服务KafkaRedis 未来规划 更自动的治理更智能的调度推广治理理念 THANKYOU!