金融级实时数仓建设实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 金融级实时数仓建设实践 马年圣-蚂蚁集团-实时数仓架构师 DataFunSummit # 2023
2. 目录 CONTENT 蚂蚁实时数仓架构 实时数据质量保障 实时数仓架构设计 实时数据解决方案 面向研发过程的任务级监控 面向数据链路的全链路监控 流批一体应用 数据湖落地展望 流批一体能力构建 流批一体场景应用 数据湖落地展望
3. 01 蚂蚁实时数仓架构 DataFunSummit # 2023
4. 蚂蚁实时数仓架构背景 围绕实时研发流程和能力,定义其中的关键问题,进行实时数仓和架构的建设 实时开发链路 选择 引擎 选择 平台 平台 引擎 可优化点 ! 引擎特性 语法函数 !!! 开发生态 !! 运维问题 申请 资源 !!! 平台能力参差不齐 !! 多平台运维 任务散布多平台 ! 用户实时开发心智 平台任务迁移问题 口径 copy 资源 代码 开发 任务 测试 资产 任务 上线 工具 任务 运维 报警 配置 质量 !!! 资产复用性问题 任务稳定性监控 !! 计算资源申请和管理 !!! 代码开发提效 逻辑表更同步问题 !! 数据时效监控 ! 存储资源的管理 !! 数据验证提效 !!! 数据内容监控 !! 重复解析的资源浪费 任务压测效率 !!! 计存资源和项目域的关系 ! 全链路监控 口径对齐问题 ! 任务执行计划配置 存储计算 事中的应急处理 ! 开发效率问题
5. 什么是实时资产? 元 表 权 限 客户端 API 云账号服务 ODPS SDK 流 批 一 体 自 动 化 研 发 IDE 元表消费 接入层 HTTP Server 逻辑层 MetaStore (OTS) CLT 元 表 血 缘 Worker SQL Planner 元表管理 元表定义 … Worker Scheduler Executor … Executor SQL Job … Pangu Fuxi 资产主题 元表质量 唯一性校验 存储/计算层 MR Job 资产目录 强Schema 资产搜索 规范性治理 配置复用 时效性校验 实时元表 SLS Flink Hbase Explorer Ob … 存储层 语义层 ? 内容校验 Table Api 实时资产 SQL Connector DDL 计算层 DataStream Runtime DataSet 内容 定义 生产 体系 消费 体系 资产 管理
6. 蚂蚁实时数仓架构 实时数据分析(OLAP) 数据服务层 实时数据集定义 资产即服务 实时报表配置 实时数据服务(OLTP) 数据应用接入 统一资产服务 实时接口定义 资产消费血缘 资产搜索 资产元数据打通 资产合规管控 实时标签服务 实时保障 DQC质量巡检 计算逻辑定义 计算开发层 低代码研发 开发模式复用 实时任务生成 流批一体 通用能力沉淀 计算逻辑一致 开发效率提升 解决方案拓展 数据保障增强 异源数据比对 主备一致性监控 核心资产 资产定义 资产沉淀 资产复用 资产规范 场景基线保障 任务运行监控 存储层 元表 物理表 数据源 数据源定义 物理表定义 字段定义 ODPS 引擎层 SLS 线上日志 EXPLORER HBASE 数据库日志 …… FLINK 实时消息 实时压测系统 诊断系统 ……
7. 实时计算解决方案-关联类数据计算 基础解决方案:双流Join、维表关联 trans1 用户 流量埋点 log1 转化事件 user1 流量埋点 trans6 log3 路径筛选 user1 user1 log6 user1 trans6 log3 user1 trans4 user1 trans2 user1 log6 trans3 log2 log7 log5 log1 trans3 log2 trans5 转化事件 trans4 trans2 trans1 用户 trans5 log5 log7 log8 log4 user1 log4 log8 图计算方案 拓扑构建 log1 user_id user1 user1 user1 user1 user1 log_time 2021-12-05 11:57:00 2021-12-05 11:57:30 2021-12-05 11:59:00 2021-12-05 11:59:30 2021-12-05 11:59:45 spm user1 trade_no trade_time trade_amt a1.b1.c1.d1 trade1 a2.b2.c2.d2 trade1 a6.b6.c6.d6 trade1 a7.b7.c7.d7 trade1 a8.b8.c8.d8 trade1 2021-12-05 12:00:00 2021-12-05 12:00:00 2021-12-05 12:00:00 2021-12-05 12:00:00 2021-12-05 12:00:00 100.0 log2 log3 log6 100.0 100.0 100.0 log5 log7 log4 log8 100.0 trans1 其他解决方案:端上进行流量日志的串联、数据湖准实时构建
8. 实时计算解决方案-去重类指标计算 Bitmap 优化方案:Cumulate window 用户去重 最细粒度新增 累计聚合 膨胀分发 去重+膨胀 如果查询活动期累计UV? => 尽可能缩小数据量 => 合并T+1前的累计数据 维表去重 明细流 离线回流 实时打标 构建维表 =>通过流批优化计算 Sls 累计聚合 Hbase 明细流 Hyperloglog / Thetasketch 细粒度 Hll/Theta 查询开窗聚合 初始化 RbmUDAF 用户高位分布序列维表 Odps Hbase OLTP 点查 Explorer OLAP 分析 分维度 RBM Flink user_id查询 init RbmUDTF 累计 数据 流批 对齐
9. 02 实时数据质量保障 DataFunSummit # 2023
10. 实时数仓保障体系-面向研发流程 在事前和事中两个重要的阶段,通过研发卡点、任务监控、数据监控、 全链路监控等能力,保障任务和数据的稳定性 事前 调试+诊断 事中 压测 + 限流防降 压测数据构造 历史数据回放 基于规则造流 TPS配置 并行数 数据异常监控 任务异常监控 记录数波动 数值分布 测试报告 最大消费速率 消费瓶颈点 CPU使用 MEM使用 目标消费能力限流 数据分布 数据波动 统计周期 统计方式 对比周期 阈值区间 服务异常监控 基线全链路巡检 异常数据监控 DQC 压测环境任务压测 全链路基线 数据不一致 全链路监控 单任务延迟 末节点溯源 数据比对 监控字段选定 主备监控 时间区间 异源核对 阈值区间 异常巡检 基线配置 基线等级 基线场景 保障体系 故障体系 任务挂载 血缘能力 DQC执行 Metric采集 数据统计 比对监控 差异比对 DP任务血缘 全任务血缘 消费血缘
11. 实时数仓保障体系-面向数据链路 面向实时数据的全生命周期和全链路,从最底层的引擎到最上层的服务, 构建端到端的实时数据质量监控能力 报表场景 算法场景 应用层 服务可用性监控 服务巡检 …… 数据健康度 底层依赖监控 消费 快排 查询层 存储层 生产 查询服务水位监控 写入监控 查询报错告警 负载监控 文件分布 计算层 任务基础监控 底层组件稳定性监控 数据源 数据上报时效 采集延迟监控 查询耗时监控 热点监控 任务级DQC 采集服务稳定性监控 “ 端 到 端 ” 数 据 质 量 监控 Metric注册中心 分析 快恢 消费切换
12. 实时数仓保障体系-任务粒度监控 任务DQC 单任务 Explorer DWD SLS Metric DQC DWS Metric DQC Hbase 结果DQC 异源核对 异源核对 实时 vs 离线 主备核对 监控系统 监控规则 规则配置 主备校验 主 vs 备 时序数据库 报警系统 数据服务 质量监控
13. 实时数仓保障体系-全链路监控 DWS 基线(时效) 场景(内容) 资产分类 链路监控 风险评估 大促保障 资源管理 场景基线 血缘 发布管控 资产汰换 ODS SLS_ODS ODS DRC_ODS R1 8 R2 7 DWD SLS_DWD DIM HBS_DIM SLS_DWS R1 8 R2 7 R3 5 ADM_1 HBS_ADM_1 ADM_2 EXP_ADM_2 ADM_3 UCS_ADM_3 R3 5 R1 8 R2 7
14. 03 流批一体应用 DataFunSummit # 2023
15. 流批一体-Lambda 离线数仓重中间层,实时数仓重应用层,从中间层到应用层均会进行数据融合 => 流批一体能力要能够兼容从原始层到应用层的逻辑对齐和引擎计算能力 Flink 贴 源 层 明细层 (消息中间件) 轻度 10% 汇总层 60% 报表场景 应用层 (存储多样) 应用直连 数据融合 标签场景 数据/应用融合 30% 数据回流 Odps 轻度 汇总层 明细层 30% 10% 应用回流 60% 应用层 特征场景 流/批模型融合
16. 流批一体-技术架构 元表管理 数据源 元表 代码 编辑 字段定义 Dataphin 离线任务运维 离线代码研发 任务 参数 变量 替换 资源 设置 调度 配置 周期 实例 周期 任务 补数 据实 例 运行 日志 监控 报警 任务 保障 离线调度引擎 离线代码生成 参数配置 预编译 提交 SQL解析 任务依赖 运行报告 权限管理 调试 发布 代码生成 调度实例 实例运行 SQL/Table API Optimizer Function Batch Optimizer AutoConf “ABS” DataStream Stream&Batch Physical SDK Flink Source/Sink Connectors Pluggable Components RateLimit Adaptation Operator API Shuffle Service Kubernetes原生调度/集群模式调度 Job Scheduler Backend
17. 流批一体-逻辑对齐 stream_source mix_source batch_source a varchar a varchar b varchar b varchar c varchar c d bigint d a varchar b varchar varchar c varchar bigint d bigint 元表注册 __source_type__ METADATA __source_type__ METADATA __source_type__ METADATA 流VS批 流批标识 代码生成 如为mix sink, 则会分别翻译 变量替换 静态/动态分区 sink Sink限流 保护线上库 sink a varchar b varchar bigint cnt_c bigint cnt_d bigint cnt_d bigint is_real varchar is_real varchar a varchar b varchar cnt_c
18. 流批一体-长周期指标计算 离线数据源 离线数据源 实时明细流 Odps Flink 离线天级汇总表 实时天级汇总 实时明细流 流批一体 混合元表 Flink Stream Flink Batch 离线天级汇总 数据回流 离线累计汇总表 Lindorm 一套计算逻辑 实时天级汇总 离线累计汇总 实时累计汇总流 Odps …… Lindorm 实时累计汇总流 优化点 口径一致性 计算通用性 通过流批一体能力保证实时 离线口径的一致性 UV/PV类、前后置汇总均可 使用此套方案 运维效率 研发生态 任务数由4+减少到1个,运维 便捷性提高 结果数据可直接同步到Flink 相关生态存储引擎中
19. 04 数据湖落地展望 DataFunSummit # 2023
20. 数据湖落地展望 计算 ①一套计算引擎 ②分钟级计算 ③打通存储生态 应用场景 ADM 数据报表 ODPS(1d) 存储 资产 效率 全量+增量+实时 切换为一套 存储,节约存储资源 ①一份存储,管理可控 ②对齐Odps生态,构建准实 时场景的相关资产管理和保 障能力 ①一份存储一套引擎,真正 实现流批一体研发 ②简化复杂解决方案(如长 周期、关联类等) 用户标签 数据服务 ODPS(1h) 离线兜底 Explorer Lindorm 离线实时 DWS ODPS(1d) ODPS(1h) DWD ODPS(di) ODPS(hi) 数据同步 数据回流 ODS 数据源 Explorer …… Lindorm 准实时 Explorer Sls Lindorm dim Sls ri ODPS(dtm->delta->ods) 线上日志 …… 算法特征样本 Paimon(明细->累计汇总) 消息流 增量+初始化 实时元表 数据库日志 Paimon(增全量明细) 实时消息 ……
21. 感谢观看

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-17 12:59
浙ICP备14020137号-1 $Map of visitor$