Netflix 的图抽象层是一个构建在现有数据层之上的高吞吐、低延迟系统,用于管理 650TB 的全球图数据,以支持社交和运营用例。
📝 详细摘要
Netflix 的工程师开发了一个专门的图抽象层,旨在以毫秒级延迟管理海量图数据(650TB)。Netflix 没有部署独立的图数据库,而是将其作为现有键值(Key-Value)和时间序列(TimeSeries)数据抽象之上的战略层来实现。该系统有意牺牲了查询灵活性——限制遍历深度并要求定义起始节点——以确保可预测的性能和高吞吐量。关键架构组件包括用于低延迟访问的 EVCache、用于其受 Gremlin 启发的遍历 API 的 gRPC,以及用于维持全球可用性的异步跨区域复制。该基础设施目前为关键服务提供支持,例如 Netflix 游戏的社交图谱和用于事件分析的实时服务拓扑监控。
💡 主要观点
- Netflix 构建了一个图抽象层,而不是独立的数据库。 通过在现有的键值和时间序列抽象之上进行分层,Netflix 利用了经过验证的基础设施,同时增加了图特有的功能,如模式强制执行和优化的遍历规划。
💬 文章金句
- 图抽象层是作为 Netflix 现有数据基础设施之上的一个层来实现的。
- 该系统支持对约 650TB 的图数据进行毫秒级查询。
- Netflix 的系统限制了遍历深度,并且通常需要定义起始节点,以牺牲部分查询灵活性来换取大规模下一致的低延迟。
- 该系统在 90 分位下,单跳遍历可实现个位数毫秒级延迟,两跳查询延迟低于 50 毫秒。
📊 文章信息
AI 评分:87
来源:InfoQ
作者:Leela Kumili
分类:软件编程
语言:英文
阅读时间:2 分钟
字数:490
标签: Netflix, 图数据, 分布式系统, 后端架构, 可扩展性