B站用户行为数据分析架构演进与ClickHouse优化实践
1. 项目背景与核心挑战在当今互联网产品运营中用户行为数据分析已成为驱动业务决策的关键引擎。作为国内领先的年轻人文化社区B站面临着海量用户行为数据处理的严峻挑战每天产生数千亿条行为事件数据增量超过10TB传统的大数据处理架构已无法满足实时分析和复杂查询的需求。1.1 传统架构的瓶颈早期B站采用Spark批处理方案进行用户行为分析这种架构存在三个致命缺陷响应延迟高简单事件分析需要3分钟以上复杂分析如漏斗计算耗时超过30分钟资源利用率低固定资源配置无法适应查询复杂度变化常出现资源浪费或不足并发能力弱YARN资源调度机制导致高并发查询时产生严重排队现象1.2 ClickHouse的破局优势2020年技术团队引入ClickHouse列式数据库后性能指标获得质的飞跃查询响应提升98%90%事件分析在5秒内返回漏斗分析30秒内完成实时分析能力支持当天行为数据的即时查询周活跃用户增长300%性能改善直接带来产品使用率的显著提升但第一代ClickHouse方案也暴露出新问题千亿级明细数据存储消耗过大集群存储利用率长期低于10%实时数据处理链路复杂且维护成本高昂。2. 架构演进与核心技术方案2.1 三代技术架构演进路径2.1.1 第一代Spark批处理架构2019-2020graph LR A[用户行为日志] -- B[Spark批处理] B -- C[预聚合模型] C -- D[前端展示]痛点模型固化、资源僵化、响应迟缓2.1.2 第二代ClickHouse明细方案2020-2021graph LR A[Kafka日志流] -- B[Flink实时处理] B -- C[ClickHouse明细存储] C -- D[直接查询分析]突破实时性提升但存储压力巨大2.1.3 第三代IcebergClickHouse混合架构2021-至今graph LR A[原始日志] -- B[Iceberg聚合模型] B -- C[ClickHouse加速层] C -- D[多维分析]创新存储压缩90%查询性能再提升60%2.2 核心技术创新点2.2.1 通用流量聚合模型采用公有参数私有参数的混合存储方案私有参数使用ArrayMap结构动态存储数据压缩率高达10:1千亿→百亿2.2.2 BulkLoad数据导入Spark生成ClickHouse格式的data part文件通过改造的FETCH语法从HDFS拉取数据最终演进为直连ClickHouse的DataReceive服务# 数据导入伪代码示例 def bulk_load(): spark_job generate_clickhouse_parts() upload_to_hdfs(spark_job.output) execute_sql(ALTER TABLE...FETCH PARTITION...)2.2.3 智能重平衡算法平衡度计算基于变异系数0-1范围两种平衡策略装箱算法追求极致均衡Best FitAVL树贪心算法最小迁移成本实现较优均衡3. 关键模块实现细节3.1 事件分析优化方案3.1.1 数据模型设计CREATE TABLE polaris_dwb_flow_ubt ( dt Date, buvid UInt64, event_id String, pub_params Map(String,String), priv_params Array(String), metrics Map(String,Float64) ) ENGINE ReplicatedReplacingMergeTree() PARTITION BY dt ORDER BY (buvid, event_id) SAMPLE BY murmurHash3_64(buvid)3.1.2 查询加速技巧利用SAMPLE BY实现高效抽样自定义UDF解析Map结构比原生函数快30%布隆过滤器加速Array/Map字段查询3.2 漏斗路径分析实现3.2.1 漏斗分析优化-- 优化后的下推查询示例 SELECT level, countMerge(uv) AS uv FROM cluster(default, SELECT windowFunnel(3600)(dt, event_idlogin, event_idpay ) AS level, countState() AS uv FROM local_table WHERE dt BETWEEN 2023-01-01 AND 2023-01-07 GROUP BY level ) GROUP BY level3.2.2 路径分析创新采用RoaringBitmap压缩用户集合桑基图生成算法优化干扰事件过滤路径补位拼接权重阈值裁剪3.3 人群圈选系统3.3.1 属性字典服务三级缓存架构内存缓存Guava CacheRedis集群自研RockDB存储雪花算法变种实现50万QPS编码能力3.3.2 标签计算示例-- 最近7天观看科技区且点赞的用户 WITH tech_viewers AS ( SELECT user_id FROM behavior_events WHERE eventview AND zonetech AND dt today() - 7 ), like_users AS ( SELECT user_id FROM behavior_events WHERE eventlike AND dt today() - 7 ) SELECT countDistinct(user_id) FROM tech_viewers WHERE hasAny(like_users, [user_id])4. 性能优化实战经验4.1 查询下推的三种境界基础下推使用distributed_group_by_no_mergeSELECT count() FROM distributed_table SETTINGS distributed_group_by_no_merge1高级下推clusterview组合SELECT sum(cnt) FROM cluster( default, view(SELECT count() AS cnt FROM local_table) )极致下推预计算最终聚合4.2 压缩算法选型对比算法类型压缩率写入性能查询性能适用场景LZ41x100%100%默认场景LZ4HC1.2x80%95%历史数据ZSTD(1)1.5x60%98%冷数据存储实践建议热数据用LZ4温数据用LZ4HC冷数据用ZSTD4.3 常见问题排查指南4.3.1 写入瓶颈问题症状Too many parts错误根因频繁小批量写入导致merge压力大解决方案增大批量写入规模使用BulkLoad替代JDBC调整merge策略4.3.2 查询超时问题症状Query timeout exceeded根因复杂查询未利用索引解决方案检查跳数索引使用情况添加SAMPLE BY子句考虑预聚合方案5. 实践心得与未来展望在实际落地过程中有三点关键经验值得分享存储计算权衡我们发现将千亿明细预聚合为百亿级模型后存储节省40%的同时查询性能反而提升60%这印证了在OLAP场景中适当的预计算是必要的这一原则。资源隔离策略通过为不同业务模块配置独立的资源队列我们成功将高峰期的查询失败率从15%降至0.5%特别是在大促期间效果显著。监控体系建设自研的ClickHouse监控系统包含200个指标实现了从硬件资源到查询性能的全方位监控平均故障定位时间从小时级缩短到分钟级。未来技术团队计划在三个方向继续突破ZOrder索引研发解决多维度查询的索引效率问题服务端日志分析扩展行为分析场景覆盖面实时数仓融合探索Hudi与ClickHouse的协同方案

相关新闻

Bring-up前的输入资料

Bring-up前的输入资料

Bring-up我们需要的RK3562 原理图、PCB 版本和参考设计差异DDR、PMIC、电源树和上电时序GPIO、复用引脚、上下拉和电平说明eMMC、SD、SPI NOR 等启动介质配置LCD、触摸、摄像头、音频、网络等外设型号Rockchip 对应 BSP、交叉编译工具链和烧录工具芯片、PMIC、PHY、屏幕等器件手…

2026/7/18 4:18:26 阅读更多 →
拓氪科技四大 AI 运营能力能否降低电商新店运营成本?

拓氪科技四大 AI 运营能力能否降低电商新店运营成本?

淘宝、天猫新商家入驻初期,普遍陷入单人单兵作战的经营困境。店铺运营涵盖商品上新、视觉制作、付费推广、数据复盘、竞品分析等全链条工作,多数新商家长期面临人手短缺、素材匮乏、行业经验不足、运营效率偏低四大核心难题。传统人工运营模式耗时耗力、…

2026/7/18 4:18:26 阅读更多 →
C++二叉树非递归遍历:前序、中序、后序的栈实现与工程实践

C++二叉树非递归遍历:前序、中序、后序的栈实现与工程实践

1. 项目概述:为什么二叉树遍历值得深究?在C的算法与数据结构世界里,二叉树是一个绕不开的经典模型。无论是面试中的高频考点,还是实际项目中(比如文件系统索引、表达式求值、游戏AI决策树)的底层支撑&#…

2026/7/18 4:18:26 阅读更多 →

最新新闻

密钥管理与账户抽象(AA):下一代智能钱包的技术实现

密钥管理与账户抽象(AA):下一代智能钱包的技术实现

引言 传统以太坊钱包(EOA,外部拥有账户)的密钥管理存在一个根本性困境:资产安全完全系于单一私钥。丢失私钥意味着永久失去资产,而私钥泄露则意味着资产瞬间被盗。这种“单点失效”模式已成为Web3大规模采用的主要障碍之一。 账户抽象(Account Abstraction,AA)通过 E…

2026/7/18 9:47:51 阅读更多 →
山西大学JCIS:1600 °C焦耳热10秒,煤气化渣衍生Fe0/碳空位双位点用于选择性单线态氧降解污染物

山西大学JCIS:1600 °C焦耳热10秒,煤气化渣衍生Fe0/碳空位双位点用于选择性单线态氧降解污染物

1. 背景高级氧化过程是微量有机污染物去除的重要技术,其中过乙酸(PAA)因氧化能力强、pH 适应性较好和副产物相对可降解而受到关注。传统 PAA 活化常产生羟基自由基和有机自由基,这些自由基容易被水体中的无机离子和天然有机质猝灭…

2026/7/18 9:47:51 阅读更多 →
RL4CO GPU加速技巧:Flash Attention 2与混合精度训练优化终极指南

RL4CO GPU加速技巧:Flash Attention 2与混合精度训练优化终极指南

RL4CO GPU加速技巧:Flash Attention 2与混合精度训练优化终极指南 【免费下载链接】rl4co A PyTorch library for all things Reinforcement Learning (RL) for Combinatorial Optimization (CO) 项目地址: https://gitcode.com/gh_mirrors/rl/rl4co RL4CO是…

2026/7/18 9:47:51 阅读更多 →
如何免费使用Upscayl:5个步骤将模糊图片变高清的完整指南

如何免费使用Upscayl:5个步骤将模糊图片变高清的完整指南

如何免费使用Upscayl:5个步骤将模糊图片变高清的完整指南 【免费下载链接】upscayl 🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl 你是否曾…

2026/7/18 9:47:50 阅读更多 →
react-gsap-enhancer完全指南:如何无缝融合React与GSAP动画的终极方案

react-gsap-enhancer完全指南:如何无缝融合React与GSAP动画的终极方案

react-gsap-enhancer完全指南:如何无缝融合React与GSAP动画的终极方案 【免费下载链接】react-gsap-enhancer Use the full power of React and GSAP together 项目地址: https://gitcode.com/gh_mirrors/re/react-gsap-enhancer 想要在React应用中创建流畅、…

2026/7/18 9:47:50 阅读更多 →
Video-Use:基于AI代理的对话式视频编辑架构与技术实现方案

Video-Use:基于AI代理的对话式视频编辑架构与技术实现方案

Video-Use:基于AI代理的对话式视频编辑架构与技术实现方案 【免费下载链接】video-use Edit videos with coding agents 项目地址: https://gitcode.com/GitHub_Trending/vid/video-use Video-Use是一种革命性的AI驱动视频编辑范式,通过自然语言对…

2026/7/18 9:46:49 阅读更多 →

日新闻

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:38 阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:38 阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/18 0:00:38 阅读更多 →

周新闻

月新闻