- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
第三代指标平台如何解决复杂指标的定义和计算问题?
展开查看详情
1 .第三代指标平台 定义能力解析 张乐|Aloudata CAN 指标平台技术负责人 2024/03
2 .目录 Contents 1. 企业对指标平台的需求与痛点 2. 指标平台核心定义能力解析 3. 指标平台未来规划与展望
3 .企业对指标平台的需求 n 报表/驾驶舱 n 算法平台 n 实验平台 数据消费 指标生产 指标管理 指标分析 指标消费 规范化 标准化 配置灵活 权限管理 (行列) 维度管理 指标分析的灵活性 性能 多方式消费(API/JDBC/MQL) 生产即治理 统一语义模型 指标多版本 指标变更 多级维度下钻 BI可视化 归因分析 指标预警 时效 数据存储 n 关系型数据库 n 湖仓数据 n API 数据
4 . 指标平台面临的问题 & 痛点 指标查询性能慢 同名不同义 性能 口径 多表关联、数据量大 指标口径不一致 问题 问题 定义入口分散 复杂指标难定义 本年至今年月日 定义 指标 资源 计算资源消耗大 问题 问题 重复计算、复用率低等 均值最大值 平台 指标研发效率低 效率 IT 人员成为瓶颈 时效 数据时效无法保障 问题 取数等一周 问题 准点看数等问题
5 .指标平台面临的问题 & 痛点 指标 指标 指标 定义 加速 平台 本期话题 4 月 7 日,19:00
6 .针对指标定义的问题,尤其是复杂指标的定义, 应该如何解决?
7 .Aloudata CAN 指标平台 vs 传统 ETL 指标加工流程 明细层 汇总层 应用层 维度表 宽维度表 各类汇总表 业务系统数据 事实表 宽事实表 日志数据 更大的宽表 事实表 宽事实表 第三方数据 维度表 宽事实表 更大的宽表 复杂性持续上升,数据质量信心持续下降 维度表 业务系统数据 事实表 日志数据 事实表 第三方数据 维度表 语义模型 原子指标 派生指标 复合指标 指标平台(语义层):逻辑层与物理层解耦,无需大量宽表和汇总表开发
8 .案例推演:以电商场景为例,定义复杂指标 模型定义 指标需求 卖家表 店铺表 指标需求: VIP 用户近 7 天消费金额 1:N 1:N 口径:VIP 用户->累计消费金额达到 2W 1:N N:1 N:1 买家表 订单表 产品表 类目表 1:N 难点分析: 物流表 • 计算每个用户的累计消费金额 • 计算累计消费金额 > 2W 的时间 1:N N:1 • 以成为 VIP 会员的时间为锚定时间,往后开始每一 点击表 天计算近 7 天 1:N N:1 • 多层动态聚合带来的性能问题 访问表
9 .案例推演:VIP 用户近 7 天消费金额 ⽤户 ID 订单时间 消费⾦额 累计⾦额 成为 VIP 的⽇期 VIP ⽤户近 7 天消费⾦额 001 2024-03-01 09:16:20 5000 11000 null 0 001 2024-03-01 14:25:26 6000 11000 null 0 VIP 用户打标 (高中低) 001 2024-03-02 15:31:15 10000 21000 2024-03-02 21000 001 2024-03-03 16:11:30 1000 22000 2024-03-02 22000 001 2024-03-04 08:26:15 5000 27000 2024-03-02 27000 高中低用户城市占比 002 2024-03-04 18:27:24 1000 1000 null 0 001 2024-03-05 09:31:15 1000 28000 2024-03-02 28000 高中低用户城市排名 002 2024-03-06 10:32:15 8000 9000 null 0 002 2024-03-07 23:35:17 17000 26000 2024-03-07 26000 VIP 消费金额同环比 001 2024-03-08 18:31:20 500 28500 2024-03-02 17500 001 2024-03-09 07:26:56 5000 33500 2024-03-02 12500 …… 001 2024-03-10 17:35:10 1000 34500 2024-03-02 7500 002 2024-03-10 09:31:15 2000 28000 2024-03-07 28000 001 2024-03-11 17:35:10 5000 39500 2024-03-02 12500 002 2024-03-12 09:31:15 8000 36000 2024-03-07 35000
10 .案例推演:产品操作流程 VIP ⽤户近 7 天 订单⾦额
11 .能力 1:基于数据模型的标准化指标定义 语义数据模型 维度表 数据模型:逻辑关系而非物理关联 事实表 维度表 事实表 只需表达数据集之间的关联关系,无需物理关联 打宽或汇总计算,保留模型的灵活性,实现指标 灵活定义与下钻分析 维度表 5 大指标要素:标准化指标定义与管理 统一指标要素 指标要素绑定唯⼀物理⼝径,实现逻辑⼝径及物 原子指标 | 多层时间限定 | 业务限定 | 衍生方式 | 维度(指标转维度) 理⼝径的标准化 基于指标要素组合快速定义指标 指标要素化组合 基于指标要素背后绑定的⼝径,⾃动⽣成 SQL 派生指标 = 原子指标 + 时间限定 + 业务限定 + 衍生方式 计算逻辑,并⾃动物化加速,实现⾃动化研发, 大幅提升指标开发效率
12 .能力 2:基于函数体系灵活进行指标定义 通用函数:完整实现了基本数据处理能力 文本函数 数学与三角函数 针对基本的数据处理需求,系统提供了文本函数、数学与三角 日期与时间函数 通用函数 函数、日期与时间函数、复杂类型函数、类型转换函数、聚合 复杂类型函数 (Json) 类型转换函数 (CAST) 函数、逻辑函数等等。 排名 COUNT 累计 SUM 窗口函数:基于分析语义进行窗口调节 聚合函数 AVG 窗口函数 位移 COUNT_DISTINCT 针对分析过程中常用的窗口调节需求,系统定义了一套窗口函 MAX 滑动 MIN 数,用于快速进行开窗聚合,提升指标开发效率,如累计计数。 函数体系 IF 累计订单量 = AccCount('订单表'[订单 ID]) 预聚合函数 IN 逻辑函数 NOT 计算调节函数 分析函数 ISNULL 分析函数:基于任意粒度和筛选进行数据计算 ISNOTNULL 快速计算函数 针对计算过程中需要的聚合,可以灵活的调节外部维度以及筛 四则运算 选,并且针对常用的计算提供了快速计算函数,如同环比函数。 运算符 比较运算符 与或非 [周同比订单量] = SamePeriod( COUNT('订单表'[订单 ID]),' 订单表'[订单日期],"WEEK")
13 . 能力 3:基于多层次、多聚合的查询依赖构建 node:node4 Node 4 node:node3 groups: [ metric_time = [smart_date/day_col] (近 7 天计算结果) columns: [tb_order/…., node2/dim_become_vip_date] buyer_id= [tb_user/user_id] filters: [ ] [ds_order/order_date] >= aggregates: [ Smart_ [group_node1/dim_become_vip_date] metric_7d_order_amt= Sum([node3/order_amt]) date ] ] Node 3 sourceTables: [tb_order, node2] filters: [ (筛选后的宽表) 近7天 sourceTables: [Node3, smart_table] Node 2 node:node2 (成为 VIP 的日期) groups: [ Tb_order user_id = [tb_user/user_id] ] aggregates: [ node:node1 Node 1 dim_become_vip_date= Min([tb_order/order_date]) columns: [wind_col = Sum([tb_order/ order_amt]) (累计订单金额) ] Over(Partition By [tb_user/user_id] filters: [ [window_node/wind_col] > 20000 ORDER BY [tb_order/order_date]), ] user_id = [tb_user/user_id]] sourceTables: [node1] sourceTables: [tb_user, tb_order] Tb_order Tb_user
14 .能力 4:基于指标要素构建查询 SQL Node 指标查询列、计算列 selectItem selectClause 模型数据集、数据源 tableSources fromClause 业务限定 logicExpression whereClause e 维度列 groupByItem groupByClause SQL 查询过滤器 logicExpression havingClause 排序列 orderByItem orderByClause 结果行数限定 LimitItem limitClause
15 .基于多步骤、多层级的 Node 生成的查询 SQL,是否会存在查 询性能问题?
16 .语义化:针对查询 SQL 进行性能优化 1 2 3 基于策略、RBO 生 基于内存计算引擎提升 基于物化视图进行物 成高性能的 SQL 查询效率 化加速
17 .能力 5:基于指标定义以及 RBO 规则进行 SQL 优化 Node RelNode 1、模型关联键的筛选下推 2、同/多层 AGG 的合并 基于指标计算的优化 3、智能日期查询裁剪/筛选 4、…… Optimizated Node Calcite RelNode 1、列裁剪 2、聚合合并 RBO 3、筛选 /Limit 下推 Optimizated Calcite 4、子查询裁剪 RelNode 5、…… SQL
18 . 能力 6:内存计算引擎,提升查询效率 公式函数体系 01 指标分组 根据指标依赖的数据集,基于维度 内存计算分析器 (Analyzer) 表/事实表进行拆分合并计算,复 指标复杂度评估体系 基于 RBO 拆分 基于 CBO 拆分 任务 DAG 构建 用计算引擎的并行计算能力。 (指标个数、引用表数量、计 (任务合并、上下游节点合并 (维度表、事实表、表行数、历 算复杂度等) 等) 史执行 Cost 等) 内存计算路由器 (Dispatcher) 02 灵活任务编排 根据指标计算任务编排成对应的任 路由规则定义 & 执行 Job 队列管理 任务提交 任务状态跟踪 务对接以及计算 DAG,通过多线程 并行调度各类任务并进行监听。 内存计算执行器 (Executor) Executor 1 Executor 2 Executor 3 内存计算任务 Aggregate Join Filter Project 内存计算任务 内存计算任务 03 丰富的算子集 针对底层的计算引起返回的结果数 GroupBy Drop SQL 计算任务 SQL 计算任务 据,需要实现多个不同的计算算 Sort Scan 子,基于算子灵活实现各种关系投 SQL任 SQL任 SQL任 缓存查询任务 缓存查询任务 务 务 务 Append Union 影计算。 Distinct …… Thread 1 Thread 2 Thread 3 …… ……
19 .总结
20 . 总结:基于指标要素化理念,抽象有限的原子指标,实现无限的派生指 标覆盖 指标定义目标 指标定义方法 指标定义能力 语义模型 指标标准化的“定义覆盖度”直接决定了指标平台业 维度表 维度表 务的“需求满足度” 一次定义,处处复用 派生指标定义支持 事实表 一次定义、多次复用, 时间智能 LOD & 窗口 跨事实转化 一处修改,处处生效。 多层聚合 维度表 维度表 时段累计 同期群 e.g. 本年至今年月日 e.g. 近 30 天下单人数 e.g. 留存率、复购率 均值最大值 时间平移-同环比 窗口计算 漏斗类 e.g. 贷款余额比月初 e.g. 店铺销量排名 e.g. 领券开卡率 原子指标 维度 一个指标,多维分析 累加、半累加、不可累加 虚拟维度、维值映射 原子指标定义支持 指标支持从多个维度 进行层层深入的分析 派生指标 可累加指标 半累加指标 不可累加指标 e.g. 放款金额 e.g. 期末存款余额 e.g. 开卡用户数 原子指标 + 统计周期 + 业务限定 + 衍生方式
21 .总结: Aloudata CAN,定义即生产的自动化指标平台 看得懂 100% 指标口径一致 基于强大的语义建模和指标要素 口径清晰,权责明确 配置化定义,系统自动进行“同 名不同义、同义不同名”的校验 链路可视,变更可查 开发周期从周缩短到分钟 无需开发宽表与汇总表 管得住 实现指标自动物化加速 实现“定义即生产” 一处定义,处处使用 降低指标沟通成本 一处变更,处处生效 实现指标业务语义的统一沉淀, 提供指标血缘和指标多版本功能, 清晰呈现指标加工链路和历史变 用得好 更记录 一个指标,多维分析 一个指标,多场景消费 一个指标,灵活筛选 提供 API、JDBC 标准化接口,实 现“一个指标,多场景消费”
22 .总结: Aloudata CAN 核心优势 管、研、用一体 强大 自动 灵活 指标定义 指标生产 指标分析 强大的语义模型和函数能力,实现数 IT 无需开发宽表与汇总表 支持任意字段、任意维度与指标灵 据加工者与消费者隔离,做轻数仓 系统自动物化加速 活分析,无需依赖 IT 开发
23 .总结: Aloudata CAN 整体机制 AI BI Biz Decision Systems SQL Consumers Rest API、GraphQL、JDBC、ODBC、SDKs Data Sources Data Storage and Compute Metrics Store Data Analytics Dimension Metric Product Systems Original Dimension Atom Metric Managerment Analysis View Enterprise Apps Custom Dimension Derived Metric Web / Log Events Dimension Values Composite Metric MQL (Metric Query Language) Data Thrid Party / File Models and Relations Orchestration
24 .指标平台未来规划与展望 用户 数据源 权限 指标 维度 分析 归因 服务 指标 Copilot:结合大语言模型能力,通过 自然语言对话完成围绕业务指标的自助取数、 指标定义能力 API 开放 归因洞察、波动预警、分析报告生成等,降 低业务用数门槛,帮助业务快速理解业务现 行、列过滤 模型构建 维度、度量定义 指标计算 JDBC 查询 状、确定根本原因以及做出正确的决策。 语义化扩展:依托强大的语义表达能力,持续 客户模型 订单模型 营销模型 …… 增强复杂指标的定义能力以及提升指标计算性 能,实现复杂指标定义简单且计算高效的目标。 统一且灵活的语义模型 明细物化 星型物化 聚合物化 结果物化 物化策略中心:基于用户创建的指标和物化方 案,自动编排、物化和回收数据管道,免除 ETL工程师大量繁琐的开发、运维和治理工作, 亿级数据秒级响应。 物化加速引擎
25 .当风吹叶动,⼭河皆随之摇。
26 . 下期预告 指标平台物化加速技术分享 4 月 7 日,19:00 Aloudata 视频号
27 .Aloudata CAN 预约试用
28 .
29 .Thank you. zhiyi.zhang@aloudata.com