50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Netflix 如何在万亿行规模上处理观众数据洞察

作者:Matt Foster

  • 2025-09-26
    北京
  • 本文字数:1152 字

    阅读完需:约 4 分钟

大小:575.48K时长:03:16
Netflix如何在万亿行规模上处理观众数据洞察

在最近的一篇博客文章中,Netflix 的工程师描述了他们如何扩展 Muse 这个公司内部用于数据驱动创意洞察的应用,使其能处理万亿行数据集。

 

Muse 帮助 Netflix 的创意和发布团队了解哪些艺术作品和视频资产能够引起观众的共鸣,而公司的业务增长需要它在大规模数据上支持高级过滤和受众亲和性分析。

 

为了满足这些需求,Netflix 报告称它重新设计了数据服务层,将查询延迟减少了约 50%,同时保持了准确性和响应性。

 

Muse 最初是一个由 Spark 驱动的仪表板,背后是一个适度的 Apache Druid 集群。随着时间的推移,创意团队要求添加异常检测、通知和媒体比较等功能,而数据量增长到了每年数万亿行。满足这些需求需要更低的延迟和更强大的服务层。

 

一个主要挑战来自于受众亲和性:通过算法推断的标签,将成员按喜好分组,如“角色剧粉丝”或“流行文化爱好者”。将这些多对多关系添加到印象和播放数据中增加了复杂性,达到了原来架构的极限。


Muse 应用程序 GUI

 

另一个挑战来自于 Muse 的两个关键指标,一个是印象,也就是资产被展示的次数,还有一个是合格播放,这将播放事件与印象联系起来。两者都需要计算不同的用户,这在 Netflix 的规模上是一项昂贵的操作。

 

为了解决这个问题,团队采用了来自 Apache DataSketches 的 HyperLogLog 草图,这些草图提供了大约 1%误差的估计。

 

草图在两个地方构建:在 Druid 摄取过程中和在 Spark ETL 作业中,后者将每日草图合并成所有时间的聚合。这种方法将整个组织的常见 OLAP 模式的查询延迟减少了大约 50%。

 

为了进一步减轻 Druid 的负载,Netflix 转向了 Hollow,这是其内部的内存键/值存储库。Hollow 提要由 Iceberg 表构建,生产服务器推送更新,Spring Boot 消费者刷新缓存的数据集。这种设置允许 Muse 直接从内存中提供预计算的聚合,如不同国家的可用性、所有时间资产指标和元数据。

 

查询时间从数百毫秒降低到数十毫秒,同时也保护 Druid 免受高并发请求的影响。团队指出,这种权衡是更高的内存使用和更复杂的请求路由,但结果是更大的稳定性和响应性。


当前 Muse 架构

 

最后,Netflix 还花时间调整了 Druid:团队调整了数据在节点之间分割的方式,调整了段的大小以使扫描更有效,并在存储前过滤掉未使用的列。

 

他们还利用 Druid 在单个字段中存储多个值的能力,更好地处理受众亲和性。

 

这些变化,结合早期的改进,将查询时间大致减半,并使系统在重负载下更加一致。

 

为了确保准确性和信任,Netflix 并行运行了遗留和新的度量堆栈,通过自动化的 Jupyter 比较和突出显示差异的应用程序内工具来验证结果。

 

推出是分阶段进行的,由影子测试和细粒度的功能标志支持,以实现安全的回滚。

 

展望未来,Netflix 计划将 Muse 扩展到支持“直播”和游戏,整合概要数据,并完善区分“有效”和“真实”促销资产的指标。

 

原文链接:

How Netflix Powers Audience Insights at Trillion-Row Scale

2025-09-26 11:002

评论

发布
暂无评论

哪家好用?四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk

热爱编程的小白白

完全兼容DynamoDB协议!GaussDB(for Cassandra)为NoSQL注入新活力

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

视频会议进入云时代,为何企业需要华为云会议

轶天下事

云上办公时代,华为云会议如何保障企业的开会效率与数据安全?

轶天下事

云会议成为企业高频服务,华为云会议为何成为众多企业的选择?

轶天下事

数字化办公需求激增,华为云桌面解锁全新云办公模式

轶天下事

聊聊Excel解析:如何处理百万行EXCEL文件? | 京东云技术团队

京东科技开发者

POI 内存优化 企业号 7 月 PK 榜 excel解析

关于序列化与反序列化MessagePack的实践 | 京东云技术团队

京东科技开发者

序列化 反序列化 企业号 7 月 PK 榜 MessagePack 字节序列

数据库中用户删除不掉总是报错,依赖如何处理干净?

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

华为云桌面正协助企业快速进入云上数字化办公时代

轶天下事

迭代失败的4个迹象,团队中了几个?快来看看如何解决!

敏捷开发

项目管理 Scrum 迭代 开发人员

给新手产品经理的技术接口文档入门指南

Liam

产品 程序员 接口 API接口文档

NFTScan | 06.26~07.02 NFT 市场热点汇总

NFT Research

热点 NFT\

云原生实力再获认可!腾讯云云原生拿下重量级奖项

极客天地

从头学Java17-Lambda表达式

Lambda java17

与 TDengine 性能直接相关——3.0 的落盘机制优化及使用原则

爱倒腾的程序员

涛思数据 tdengine 时序数据库

互联网高可用架构探讨 | 京东云技术团队

京东科技开发者

高可用 架构设计 硬件架构 网络架构 企业号 7 月 PK 榜

【直播预告】HarmonyOS极客松赋能直播第四期:HarmonyOS开发经验分享

HarmonyOS开发者

HarmonyOS

稳定性和高可用如何兼顾,华为云网站高可用解决方案满足多方案需求

轶天下事

从头学Java17-Modules模块

modules java17

微服务架构中的单一职责原则:构建高内聚、低耦合的服务

2756

微服务 微服务架构 单一职责

单色和彩色LED显示屏

Dylan

场景 使用技巧 显示器 LED显示屏 全彩LED显示屏

Jmeter压测实战:Jmeter二次开发之自定义函数 | 京东云技术团队

京东科技开发者

测试 Jmeter 压测 企业号 7 月 PK 榜 插件化机制

《golong入门教程📚》,从零开始入门❤️(建议收藏⭐️)

不在线第一只蜗牛

教程 Go 语言

Netflix如何在万亿行规模上处理观众数据洞察_架构_InfoQ精选文章