Netflix通过Apache Druid中的区间感知缓存实现84%查询结果来自缓存

TL;DR · AI 摘要
Netflix通过在Apache Druid中实现区间感知缓存,使84%的查询结果直接从缓存返回,显著降低延迟和系统负载。
核心要点
- Netflix使用Interval-Aware Caching技术,在Apache Druid中实现了84%的查询命中缓存。
- 该方案通过按时间区间预加载和保留热点数据,减少重复查询对底层存储的压力。
- 缓存策略结合Druid的时间分区特性,使查询延迟下降超过50%,资源消耗显著降低。
结构提纲
按章节快速跳转。
Netflix在大规模时序数据分析中面临高并发低延迟的查询压力,传统缓存难以满足需求。
新缓存机制根据数据的时间区间特征进行分段缓存,提升缓存命中率与一致性。
利用Druid的时间分区架构,将缓存粒度对齐到时间区间,实现高效数据驻留管理。
上线后84%的查询可由缓存响应,平均延迟下降超50%,集群负载明显减轻。
团队计划引入动态区间调整和机器学习预测热点区间以进一步提升效率。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Netflix基于Druid的区间感知缓存
- 核心机制
- 按时间区间缓存
- 与Druid分段对齐
- 性能成果
- 84%缓存命中率
- 延迟下降超50%
- 架构优势
- 降低存储I/O
- 支持高并发查询
金句 / Highlights
值得收藏与分享的关键句。
通过区间感知缓存,Netflix现在有84%的查询结果直接从缓存返回,大幅减少了对实时计算的依赖。
缓存策略与Apache Druid的时间分区数据模型对齐,使缓存区间与数据段边界一致,提升一致性与效率。
这项优化使平均查询延迟下降超过50%,并在高峰时段显著降低了后端存储的I/O压力。
Netflix 使用 Apache Druid 中的区间感知缓存,84% 的查询结果来自缓存 - InfoQ
您对此网站 Cookie 的选择
我们使用 Cookie 来优化网站功能,并为您提供尽可能好的体验。
我接受 我拒绝 设置
[BT](https://www.infoq.com/int/bt/ "bt")
InfoQ 软件架构师通讯
每月一次,为您汇总作为架构师或有志成为架构师所需了解的重要资讯。
输入您的电子邮箱地址
选择您的国家 - [x] 我同意 InfoQ.com 按照本隐私声明中说明的方式处理我的数据。
关闭
QCon 旧金山(11月16-20日):AI 的下一步是什么?软件的未来又将如何?向已经在实践的团队学习。立即注册
关闭
切换导航
促进专业软件开发领域的知识传播与创新
英文版
[为 InfoQ 投稿](https://www.infoq.com/write-for-infoq/ "Write for InfoQ")
搜索
解锁完整的 InfoQ 体验
登录以解锁完整的 InfoQ 体验!关注您喜爱的作者和主题,参与内容互动,并下载独家资源。
或
尚无 InfoQ 账户?
- 及时获取对您重要的话题和同行动态即时接收最新洞察与趋势提醒。
- 快速访问持续学习的免费资源迷你书、带文字记录的视频以及培训资料。
- 保存文章,随时阅读收藏文章,在您准备就绪时随时阅读。
主题
[开发](https://www.infoq.com/development/ "Development")
- [Java](https://www.infoq.com/java/ "Java")
- [Kotlin](https://www.infoq.com/kotlin/ "Kotlin")
- [.Net](https://www.infoq.com/dotnet/ ".Net")
- [C#](https://www.infoq.com/c_sharp/ "C#")
- [Swift](https://www.infoq.com/swift/ "Swift")
- [Go](https://www.infoq.com/golang/ "Go")
- [Rust](https://www.infoq.com/rust/ "Rust")
- [JavaScript](https://www.infoq.com/javascript/ "JavaScript")
开发领域推荐
Dany Lepage 讨论了一款热门 VR 游戏移植到七个非 VR 平台的架构历程。他解释了其团队如何解决跨平台进度同步、多样化的输入方式以及在 Steam、iOS 和 PlayStation 上保持快速发布节奏等挑战。除了技术层面,他还坦率分享了将沉浸式社交体验迁移到二维屏幕时面临的“产品契合度”落差问题。

全部开发内容关注该主题
[架构与设计](https://www.infoq.com/architecture-design/ "Architecture & Design")
- [架构](https://www.infoq.com/architecture/ "Architecture")
- [企业架构](https://www.infoq.com/enterprise-architecture/ "Enterprise Architecture")
- [可扩展性/性能](https://www.infoq.com/performance-scalability/ "Scalability/Performance")
- [设计](https://www.infoq.com/design/ "Design")
- [案例研究](https://www.infoq.com/Case_Study/ "Case Studies")
- [微服务](https://www.infoq.com/microservices/ "Microservices")
- [服务网格](https://www.infoq.com/servicemesh/ "Service Mesh")
- [模式](https://www.infoq.com/DesignPattern/ "Patterns")
- [安全](https://www.infoq.com/Security/ "Security")
架构与设计领域推荐
Jimmy Morzaria 探讨了 Stripe 数据库层的演进过程,以支持每秒 500 万次查询并实现 5.5 个 9 的可靠性。他介绍了 DocDB 的架构,并分享了 Stripe 如何利用自研的零停机数据迁移平台完成水平分片、版本升级和多租户迁移——同时始终保持全球商业所需的强一致性。

全部架构与设计内容关注该主题
[AI 基础设施](https://www.infoq.com/ai-ml-data-eng/ "AI Infrastructure")
- [大数据](https://www.infoq.com/bigdata/ "Big Data")
- [机器学习](https://www.infoq.com/machinelearning/ "Machine Learning")
- [NoSQL](https://www.infoq.com/nosql/ "NoSQL")
- [数据库](https://www.infoq.com/database/ "Database")
- [数据分析](https://www.infoq.com/data-analytics/ "Data Analytics")
- [流处理](https://www.infoq.com/streaming/ "Streaming")
人工智能、机器学习与数据工程精选
- #### AI 辅助工程中的领导力
Justin Reock 探讨了 AI 对工程实际影响的现实情况,超越轶事,引用 DORA 和 DX 研究的真实数据。他解释了“生成式 AI 鸿沟”——95% 的试点项目为何失败,并分享领导者如何利用 SPACE 和 Core 4 框架来衡量真正的投资回报率。他还阐述了如何在速度与质量之间取得平衡,减少开发者的恐惧,并在整个软件开发生命周期(SDLC)中应用智能代理解决方案。

查看全部 ai-ml-data-eng 内容 关注该主题
[文化与方法](https://www.infoq.com/culture-methods/ "Culture & Methods")
- [敏捷](https://www.infoq.com/agile/ "Agile")
- [多样性](https://www.infoq.com/diversity/ "Diversity")
- [领导力](https://www.infoq.com/leadership/ "Leadership")
- [精益/Kanban](https://www.infoq.com/lean/ "Lean/Kanban")
- [个人成长](https://www.infoq.com/personal-growth/ "Personal Growth")
- [Scrum](https://www.infoq.com/scrum/ "Scrum")
- [合议制](https://www.infoq.com/sociocracy/ "Sociocracy")
- [软件工艺](https://www.infoq.com/software_craftsmanship/ "Software Craftmanship")
- [团队协作](https://www.infoq.com/team-collaboration/ "Team Collaboration")
- [测试](https://www.infoq.com/testing/ "Testing")
- [用户体验](https://www.infoq.com/ux/ "UX")
文化与方法精选
在这期播客中,文化和方法领域的主编 Shane Hastie 与 TurinTech AI 的工程副总裁 Michael Parker 展开对话,探讨如何在 AI 时代重新为软件开发注入乐趣,讨论新兴的“工厂架构师”角色——他们协调 AI 代理而非直接编写代码,以及在 AI 炒作与开发者面对遗留代码库的现实之间存在的文化鸿沟。

查看全部 culture-methods 内容 关注该主题
- [基础设施](https://www.infoq.com/infrastructure/ "Infrastructure")
- [持续交付](https://www.infoq.com/continuous_delivery/ "Continuous Delivery")
- [自动化](https://www.infoq.com/automation/ "Automation")
- [容器](https://www.infoq.com/containers/ "Containers")
- [云](https://www.infoq.com/cloud-computing/ "Cloud")
- [可观测性](https://www.infoq.com/observability/ "Observability")
DevOps 精选
- #### 流媒体应用后端架构的演进
Daniele Frasca 讲解了德国流媒体巨头 Joyn 的后端架构演进过程。他介绍了如何从脆弱的单节点架构迁移到基于 AWS 的弹性无服务器架构,分享了关于使用“中心辐射”(Hub and Spoke)模式保障数据一致性、通过单元化隔离降低故障影响范围,以及实现经济高效的多区域双活架构的成本优化策略。

查看全部 devops 内容 关注该主题
[活动](https://events.infoq.com/ "Events")
实用链接
- [关于 InfoQ](https://www.infoq.com/about-infoq "About InfoQ")
- [InfoQ 编辑团队](https://www.infoq.com/infoq-editors "InfoQ Editors")
- [为 InfoQ 投稿](https://www.infoq.com/write-for-infoq "Write for InfoQ")
- [关于 C4Media](https://c4media.com/ "About C4Media")
- [多样性](https://c4media.com/diversity "Diversity")
选择你的语言

[InfoQ 首页](https://www.infoq.com/ "InfoQ 首页")[新闻](https://www.infoq.com/news "新闻")Netflix 使用 Apache Druid 中的区间感知缓存,84% 的查询结果来自缓存
[架构与设计](https://www.infoq.com/architecture-design/ "架构与设计")
按设计实现可移植性:多云系统的数据移动性与恢复模式(5月21日网络研讨会)
Netflix 使用 Apache Druid 中的区间感知缓存,84% 的查询结果来自缓存
2026年5月11日 2分钟阅读
作者
- Leela Kumili
关注首席工程师
#### 为 InfoQ 撰稿
满足你的好奇心。帮助每月超过 55 万的全球高级开发人员保持技术领先。联系我们
登录以收听本文
音频已准备就绪
您的浏览器不支持音频元素。
0:00 0:00
正常 1.25x 1.5x
喜欢
Netflix 通过引入一种“区间感知缓存”策略,显著提升了 Apache Druid 的查询效率,约 84% 的分析结果直接从缓存中返回,并使查询负载减少了约 33%。该优化主要针对滚动窗口仪表板场景,在这类场景中,不断刷新且时间范围略有偏移的查询传统上会导致大量重复计算和对大规模数据集的反复扫描。
在 Netflix 的规模下,实时分析系统需要处理数万亿行数据,以支撑用于监控、实验和运营决策的各类仪表板。这些仪表板频繁执行几乎相同的查询,例如过去一段时间内的错误率或用户参与度指标,通常基于滑动时间窗口。尽管每次查询的意图相同,但时间边界上的微小变化会使传统缓存系统将其视为不同的请求,从而导致缓存命中率低,并在 Apache Druid 中重复执行计算。
Hello Interview 的联合创始人 Evan King 在一篇帖子中描述了这一挑战:
即使底层数据基本不变,像“过去3小时内的错误”这类重复查询,也会被传统缓存视为不同的请求。
Netflix 的解决方案是将查询结果分解为按时间对齐的片段,从而实现跨重叠滚动窗口查询的结果复用。系统不再缓存完整的查询输出,而是为固定时间区间存储中间聚合结果。当新查询到达时,系统会复用历史时间段的缓存片段,仅需从 Druid 重新计算最新区间的数据,并将其与缓存结果合并。
/filters:no_upscale()/news/2026/05/netflix-druid-interval-cache/en/resources/1Screenshot%202026-04-24%20at%209.46.21%E2%80%AFPM-1777092444864.png)
查询结构与缓存键分离(来源:Netflix 技术博客)
该方法的一个关键动机和成果由 Netflix 工程师 Ben Sykes 提出:
Druid 查询量下降了 33%,P90 查询延迟改善了 66%
在 Netflix 的规模下,Apache Druid 中的数据超过 10 万亿行,重复的滚动窗口查询成为主要瓶颈。缓存层通过使用与粒度对齐的存储桶和指数级 TTL 策略来解决这一问题,既能长期缓存历史区间数据,又能保持近期数据的新鲜度,从而在数据准确性与性能效率之间取得平衡。从架构上看,缓存层作为一个外部代理运行,拦截传入的查询,将查询结构与时间区间分离,并生成可重用的缓存键。缓存的片段存储在分布式键值系统中,支持独立过期和高效检索。
/filters:no_upscale()/news/2026/05/netflix-druid-interval-cache/en/resources/1netflixapachedruid-1777092444864.jpeg)
_查询流程架构(来源:Netflix 博客文章)_
采用这种设计后,只有最新的时间区间需要重新计算,而历史片段可在多个重叠查询中重复使用。因此,发送到 Druid 的查询所处理的时间范围显著缩小,扫描的片段更少,处理的数据量也更小。在某些工作负载中,Netflix 观察到结果字节数最多减少了 14 倍,片段扫描次数也大幅下降。
该系统目前作为实验性层级部署,并仍在持续演进中。未来的工作包括扩展对仪表盘工具使用的模板化 SQL 查询的支持,减少对原生 Druid 查询表达式的依赖。Netflix 还在探索将区间感知缓存更紧密地集成到 Apache Druid 内部,以消除对外部代理层的需求,并提升查询规划的效率。
关于作者

#### Leela Kumili
Leela 是星巴克的一名首席软件工程师,精通构建可扩展的云原生系统和分布式平台。她负责奖励平台的架构、交付和运维卓越,主导系统现代化、提升可扩展性和增强可靠性的各项工作。除了技术领导力之外,Leela 还担任组织内的 AI 倡导者,致力于识别利用基于大语言模型(LLM)的工具提升开发人员生产力和工作流的机会,并建立 AI 应用的最佳实践。她热衷于构建可用于生产的系统,改善开发者体验,并指导工程师在技术和战略影响力方面不断成长。她的兴趣领域包括平台工程、分布式系统、开发者生产力,以及将技术方案与业务和产品目标相结合。
显示更多 收起
#### 本内容属于 时序数据 主题
关注该主题
##### 相关主题:
关注该主题
关注该主题
关注该主题
关注该主题
关注该主题
关注该主题
关注该主题
关注该主题
关注该主题
* #### 相关编辑推荐
- ##### 深入 Uber 查询架构:简化层级并提升可观测性
* #### 相关赞助商内容
- #### 相关赞助商
测试。防护。重复。Guardsquare 将移动应用测试与保护相结合,提供最高安全性且无性能损耗。[索取报价](https://www.infoq.com/url/f/e322e49b-fc5d-4712-9e5b-ecb7ce06f225/)。
相关内容
2025年11月14日 
2026年5月8日
2026年5月4日
2026年4月29日
2026年4月23日
- ##### 可观测性与遥测如何提升软件工程实践
2026年4月23日
2026年5月11日 
- ##### 平台工程的三大支柱:一个良性循环
2026年5月5日 
2026年4月15日
相关赞助商
- #### 客户端风险的兴起与信任鸿沟
TrendCandy 的一项全球调查显示,为何传统的操作系统级防御无法应对日益增长的移动应用威胁。了解客户端风险、API 滥用、AI 生成代码和快速发布周期如何导致漏洞频发——以及分层安全和应用认证如何重建信任。
- #### 现代移动应用安全中实时威胁监控与分析的重要性
借助实时洞察提升移动安全水平。本 Guardsquare 报告揭示了传统客户端防御为何难以应对持续威胁,以及持续的威胁监控与分析如何为团队提供可操作的可见性,以保护应用程序、用户和收入。
- 赞助内容

相关内容
2026年5月1日 
2026年4月14日
2026年4月14日 
- ##### 大规模替换数据库序列而不影响100多个服务
2026年4月3日 
- ##### 以变更作为指标:通过变更交付信号衡量系统可靠性
2026年3月9日 
- ##### Kubernetes 中边缘应用的主动自动扩缩容
2026年2月17日 
**InfoQ** 新闻简报
每周二发送的 InfoQ 上周内容汇总。加入超过25万名高级开发者的社区。查看示例
输入您的电子邮箱地址
选择您的国家 - [x] 我同意 InfoQ.com 按照本 隐私声明 处理我的数据。
- ##### [Cangjie:一种具有原生效应处理器和代数数据类型的新开源编译语言](https://www.infoq.com/news/2026/05/cangjie-effect-handlers-adt/ "Cangjie,一种具有原生效应处理器和代数数据类型的新开源编译语言")
- ##### [攻击者在 Flippa 上购买了30个 WordPress 插件并全部植入后门](https://www.infoq.com/news/2026/05/wordpress-plugins-supply-chain/ "攻击者在 Flippa 上购买了30个 WordPress 插件并全部植入后门")
- ##### [Cloudflare 推出旗舰产品 Flagship:基于 OpenFeature 构建的边缘原生功能标志服务](https://www.infoq.com/news/2026/05/cloudflare-flagship-openfeature/ "Cloudflare 推出旗舰产品 Flagship:基于 OpenFeature 构建的边缘原生功能标志服务")
- ##### [Netflix 使用 Apache Druid 中的区间感知缓存从缓存中提供84%的查询结果](https://www.infoq.com/news/2026/05/netflix-druid-interval-cache/ "Netflix 使用 Apache Druid 中的区间感知缓存从缓存中提供84%的查询结果")
- ##### [GitHub 如何在现代 CI/CD 系统中保障代理式工作流的安全](https://www.infoq.com/news/2026/05/github-agentic-workflows/ "GitHub 如何在现代 CI/CD 系统中保障代理式工作流的安全")
- ##### [OpenAI 引入基于 WebSocket 的执行模式以降低代理式工作流中的延迟](https://www.infoq.com/news/2026/05/openai-websocket-responses-api/ "OpenAI 引入基于 WebSocket 的执行模式以降低代理式工作流中的延迟")
- ##### [AI 快乐差距:为何一些开发者蓬勃发展而另一些人却挣扎](https://www.infoq.com/podcasts/some-developers-thrive-while-others-struggle/ "AI 快乐差距:为何一些开发者蓬勃发展而另一些人却挣扎")
- ##### [在软件设计中应用“当前最佳简单系统”原则](https://www.infoq.com/news/2026/05/best-simple-system-design/ "在软件设计中应用“当前最佳简单系统”原则")
- ##### [人类可扩展性问题:为什么你的团队不像代码那样可扩展](https://www.infoq.com/presentations/human-scalability/ "人类可扩展性问题:为什么你的团队不像代码那样可扩展")
- ##### [Coder Agents 支持在自托管基础设施上运行 AI 编码工作流](https://www.infoq.com/news/2026/05/coder-agents-self-hosted-ai/ "Coder Agents 支持在自托管基础设施上运行 AI 编码工作流")
- ##### [Netflix 推出“模型生命周期图”以扩展企业级机器学习](https://www.infoq.com/news/2026/05/netflix-ml-graph/ "Netflix Introduces ‘Model Lifecycle Graph’ to Scale Enterprise Machine Learning")
- ##### [MySQL 9.7:自 8.4 以来首个重要 LTS 版本,将企业级功能引入社区版](https://www.infoq.com/news/2026/05/mysql-97-lts/ "MySQL 9.7: First Major LTS Since 8.4 Brings Enterprise Features to Community Edition")
- ##### [流媒体应用后端的演进之路](https://www.infoq.com/presentations/streaming-application-aws-infrastructure/ "Evolution of a Backend for a Streaming Application")
- ##### [最新 DORA 报告称强大的工程基础推动 AI 投资回报](https://www.infoq.com/news/2026/05/dora-roi-ai-assisted-dev-report/ "New DORA Report Claims Strong Engineering Foundations Drive AI Return on Investment")
- ##### [Cloudflare 推出“Artifacts”测试版,为 AI 代理引入类 Git 的版本控制](https://www.infoq.com/news/2026/05/cloudflare-artifacts-ai-agents/ "Cloudflare Launches “Artifacts” Beta, Introducing Git-Like Versioning for AI Agents")
**InfoQ** 新闻通讯
每周二发送的 InfoQ 上周内容精选,加入超过 25 万名高级开发者的社区。查看示例
- 快速了解在创新者和早期采用者技术领域发布的各类内容
- 发现你尚未意识到自己不知道的知识
- 持续获取你感兴趣主题的最新资讯
输入您的电子邮箱地址
选择您的国家 - [x] 我同意 InfoQ.com 按照本隐私声明处理我的数据。
[首页](https://www.infoq.com/ "Home")[创建账户](https://www.infoq.com/reginit.action "Create account")登录[QCon 大会](http://qconferences.com/ "QCon Conferences")活动[为 InfoQ 写作](https://www.infoq.com/write-for-infoq/ "Write for InfoQ")[InfoQ 编辑团队](https://www.infoq.com/infoq-editors/ "InfoQ Editors")[关于 InfoQ](https://www.infoq.com/about-infoq/ "About InfoQ")[关于 C4Media](https://c4media.com/ "About C4Media")[媒体工具包](https://get.infoq.com/infoq-mediakit/ "Media Kit")[InfoQ 开发者营销博客](https://devmarketing.c4media.com/?utm_source=infoq "InfoQ Developer Marketing Blog")[多样性倡议](https://c4media.com/diversity "Diversity")
#### 活动
- ##### QCon AI 波士顿
2026 年 6 月 1-2 日
- ##### 在线 InfoQ 架构师认证课程
2026 年 6 月 10 日
- ##### 在线 InfoQ AI 工程认证课程
2026 年 7 月 25 日
- ##### QCon 旧金山
2026 年 11 月 16-20 日
#### 关注我们
Youtube 23.2万关注者Linkedin 2.6万关注者Instagram 新RSS 1.9万订阅者X 5.71万关注者Facebook 2.1万点赞Bluesky 新
#### 保持知情
InfoQ 播客工程文化播客软件架构师通讯
一般反馈 [feedback@infoq.com](mailto:feedback@infoq.com) 广告合作 [sales@infoq.com](mailto:sales@infoq.com) 编辑事务 [editors@infoq.com](mailto:editors@infoq.com) 市场合作 [marketing@infoq.com](mailto:marketing@infoq.com)
InfoQ.com 及所有内容版权 © 2006-2026 C4Media Inc.
关闭
[BT](https://www.infoq.com/int/bt/ "bt")