您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[知乎]:Apache Doris在知乎AB实验平台的使用实践 - 发现报告
当前位置:首页/行业研究/报告详情/

Apache Doris在知乎AB实验平台的使用实践

信息技术2024-01-14张潇鹤知乎静***
AI智能总结
查看更多
Apache Doris在知乎AB实验平台的使用实践

orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit ApacheDoris在知乎AB实验平台的应用实践 Asia2024 DorisSummit Asia2024 张潇鹤数据平台开发工程师 DorisSummit 目录01 02 知乎AB平台业务背景介绍 Asia2024 DorisSummit 知乎AB实验平台架构演进历程 orisSummit Asia2024 Asia2024 mit Asia2024 DorisSummit DorisSummit A DorisSummit Asia202 03知乎AB在ApacheDoris上的实践 Asia2024 04未来展望 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit 01 Asia2024 DorisSummit Asia2024 知乎AB实验平台业务背景介绍 Asia2024 DorisSummit 知乎-AB实验平台介绍 实验运行 实验组 策略A 分流 对照组 无策略 •知乎 DorisSummit Asia2024 DorisSummit 高质量的在线问答社区 orisSummit mit A Asia2024 Asia202 •AB实验平台 Asia2024 Asia2024 DorisSummit DorisSummit AB实验的主要目的在于降低风险和分析策略结果。其基本思想是从大盘中取出一小部分流量,随机地将用户分给对照组和实验组,通过收集、分析不同分组用户行为指标数据,再结合统计学方法得出实验结论。 大盘流量 流量抽取 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-AB平台的基本背景介绍 DorisSummit Asia2024 DorisSummit 知乎AB实验平台支撑知乎主站、盐言故事、知乎知学堂等多条业务线,每天平台运行上千个实验。 实验进组用户表日均数据量百亿级。 Asia2024 DorisSummit Asia2024 支持实验分析场景多样:支持基础计算类、留存类、LTN类等4000多个指标分析,离群值剔除、多维度下钻等。 Asia2024 DorisSummit 知乎-AB平台进组用户生成逻辑介绍 orisSummit DorisSummit mit Asia2024 DorisSummit A DorisSummit Asia2024 Asia202 user_id ab_id enter_time 用户A 实验1实验组 用户A 实验2对照组 用户A …… Asia2024 Asia2024 DorisSummit 每天的实验进组用户数据量是DAU用户的数倍,一个用户携带的实验标签数量级介于数十~上百个不等。 分流服务/SDK 实验进组用户表 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit 02 Asia2024 DorisSummit Asia2024 知乎AB实验平台架构演进历程 orisSummit Asia2024 Asia2024 mit Asia2024 DorisSummit DorisSummit A DorisSummit Asia2024 Asia202 知乎-AB2.0基于Clickhouse的平台架构 DorisSummit Asia2024 DorisSummit AB2.0平台采用了预计算的方式,最终将预计算结果写入到ClickHouse中,充分利用了ClickHouse的单表查询能力。 Asia2024 DorisSummit 知乎-AB2.0平台实验数据加工流程 DorisSummit Asia2024 DorisSummit AB进组用户表 业务指标表 AB指标结果表 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia2024 Asia202 字段名称 字段描述 uid 用户ID cId 设备ID ab_id 实验分组ID enter_time 进组时间 p_date 日期分区 字段名称 字段描述 cId 设备ID frequency 用户频次(维度) content_consum_duration 内容消费时长(指标) content_consum_cnt 内容消费量 (指标) p_date 日期分区 字段名称 字段类型 字段描述 ab_id string 实验分组ID dimensions map<string,string> 维度字段 mean_value double 均值 std_value double 方差 p_metric_key string 指标分区 p_date string 日期分区 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-AB2.0架构的核心痛点 老架构的三大痛点 DorisSummit Asia2024 DorisSummit 痛点1:预计算资源消耗大,影响集群其他任务,只能对做Cube剪枝 Asia2024 DorisSummit 痛点2:ClickHouse对多表或大表Join支持有限,很多业务场景无法满足 Asia2024 痛点3:已有指标数据无法复用,造成资源重复消耗 Asia2024 DorisSummit 知乎-新架构选型的二大核心目标 新的选型产品在海量数据同步和多表关联查询性能两个场景下同时满足业务诉求 DorisSummit Asia2024 DorisSummit 数据同步查询性能 Asia2024 DorisSummit Asia2024 10倍性能提升 orisSummit mit Asia2024 A DorisSummit Asia202 •需要支持每日百亿级数据量写入,支持事务导入,数据精准写入。 •新的OLAP引擎需要满足AB进组用户表和业务指标表进行即席关联查询,部分业务场景需要3-4张表的Join。 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-基于ApacheDoris的AB数据流 切换到Doris后数据流程清晰简单: DorisSummit Asia2024 DorisSummit Hive中只做AB进组用户的落表和指标数据的加工,不再与AB业务耦合 通过BrokerLoad/SteamLoad进行Doris的数据写入 Asia2024 DorisSummit Asia2024 AB平台直接对接Doris进行即席数据查询 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-新旧AB平台功能与收益对比 对比维度 基于ClickHouse的旧架构 基于Doris的新平台架构 维度下钻能力支持 每个实验最多支持3个维度 不限制维度下钻个数,支持任意维度组合 指标离群值剔除 需要手动耦合到Hive作业中,很难支持 算法计算产出指标每天的阈值,自动生效 指标归因分析 不支持 支持指标下钻拆解,快速帮助业务定位变动原因 留存分析 根据留存范围预先计算 支持灵活配置,一张数据表可计算出次日/三日/七日留存数据 指标引入 完全依赖数据开发进行加工 支持基于现有指标,在Doris进行二次加工 Hadoop资源消耗大幅降低 DorisSummit Asia2024 DorisSummit Doris在多个大表Join下性能表现优秀,新版AB实现了相关性分析、归因分析、指标离群值剔除等实验功能 Asia2024 DorisSummit Asia2024 业务可根据已有数据进行指标口径自定义,缩短数据加工链路 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit 04 Asia2024 DorisSummit Asia2024 知乎AB在Doris上的实践 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-表结构设计基本准则 DorisSummit •利用好Doris默认提供的前缀索引 Asia2024 DorisSummit •zstd压缩方式 •合理的bucket数量 •指定Group,查询优先命中ColocateJoin Asia2024 DorisSummit Asia2024 •排序列 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-进组用户表设计 DorisSummit •使用业务字段exp_name进行物理分区 Asia2024 DorisSummit •Spark直接按照分区生成对应parquet文件,进行brokerload Asia2024 DorisSummit Asia2024 •使用AGG模型,部分列更新,提升查询和写入效率 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-精准进组用户分析(bitmap) DorisSummit Asia2024 DorisSummit 在精准分析业务中,会对用户进组/出组时间的滑动窗口查询,有两种实现方式: •记录每日明细数据,通过明细数据进行过滤 Asia2024 DorisSummit Asia2024 •将用户的进组日期写到Bitmap里,通过bitmap_and_count函数与筛选日期做交叉查询 orisSummit Asia2024 Asia2024 mit Asia2024 DorisSummit DorisSummit A DorisSummit Asia2024 Asia202 知乎-指标查询逻辑 •指标拆解,按需查询 •归属同一张表的指标查询SQL合并 DorisSummit Asia2024 DorisSummit •缓存加速 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-数据导入优化 DorisSummit •参数调整: Asia2024 DorisSummit desired_max_waiting_jobs=200async_pending_load_task_pool_size=15async_loading_load_task_pool_size=15 Asia2024 DorisSummit Asia2024 •通过临时分区实现数据的原子导入 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 知乎-Join调优 DorisSummit Asia2024 DorisSummit Shuffle方式 网络开销 物理算子 条件限

你可能感兴趣

hot

Apache Doris在天翼云的最佳实践

信息技术
天翼云2024-04-25
hot

1-5 Apache Doris 在同程数科数仓建设中的实践

信息技术
DataFunSummit2022:多维分析架构峰会2022-07-18
hot

7-2 基于 Doris 的知乎 DMP 平台的架构与实践

信息技术
DataFunSummit2022:多维分析架构峰会2022-07-18
hot

小米集团基于 Apache Doris 的 OLAP 实践

电子设备
DataFunSummit2023:OLAP引擎架构峰会2023-08-09