写点什么

Netflix:使用大数据驱动业务决策

  • 2013-12-13
  • 本文字数:2042 字

    阅读完需:约 7 分钟

2013 年旧金山 QCon 大会上,Netflix 的数据平台架构经理 Jeff Magnusson 做了一场关于 Netflix 数据平台即服务(Data Platform as a Service)的演讲。沿着这场演讲的线索,我们将尝试进一步探寻技术栈的组成,以及它如何帮助Netflix 做出重要的业务决策。

在全球范围里,Netflix 拥有超过三千万订阅用户。访问 Netflix 网站过程中,每位用户都会提供若干数据点。而网站将用户对视频进行的播放、打分或搜索等操作,作为事件进行捕捉和分析。此外,用户使用中涉及到的时间、日期、地理位置、设备和页面中的浏览或滚动行为,也将被 Netflix 用来提供操作事件发生的环境,并将用户划分到不同的类别中。Netflix 使用这些数据来提升其网站的参与度,并做出诸如接下来将资助哪套连续剧等业务决策。

来自诸如 Nielsen 等第三方或社交媒体的元数据,也有助于对平台吸引用户参与或新用户订阅。

自 2009 年起,Netflix 就已经运行在云上,并使用了 Hadoop 平台。他们所采用的基础设施中,关键的大数据模块包括:

  • Amazon S3亚马逊 S3 技术被用来捕捉来自数以十亿计的使用 Ursula(一种内部数据管线工具)的设备。S3 被当作运行 Hadoop 任务的 Elastic Map Reduce(EMR)集群的可信来源
  • HadoopApache Hadoop 被用作分布式计算的基准库,它部署在 AWS 上的 Elastic Map Reduce 集群上;另外,每个节点提供的存储中并没有使用 HDFS,而是利用 S3 桶存储。这有点古怪,因为它可能会导致从 S3 到 EMR 节点的迁移,违反 Hadoop 利用的数据本地性原则。但从另一方面来说,这意味着 S3 可以作为单一的可信来源,而 EMR 集群被作为消耗品,而且几乎可以被实时调整为合适的大小
  • HiveNetflix 把 Hive 用在特定的查询和轻量级聚合上。Pig 则用在 ETL 和更复杂的数据流方面。其数据迁移方面的特长也被用来在复杂的操作之间进行连接。
  • Genie作为一种 Hadoop PaaS 技术, Genie 被用来在 EMR 中提交任务。Genie 提供了一种 RESTful API,在使用它时,开发者无需处理 Hadoop 集群固有的启动或维护工作。开发者可以从 Genie 的 GitHub代码库中 fork 它。
  • Franklin元数据 API Franklin 可以用来从 RDS、Redshift、Cassandra、Teradata 或 S3 源中提取信息。自 2011 年成功地从基于 Oracle 数据中心的解决方案迁移到 AWS 后,Netflix 就把 Cassandra 用在在线数据收集方面。过去,Teradata 主要被运用在数据中心领域,但随着 Teradata 宣布他们已经签约 Netflix 为其提供 Teradata 云服务后,这一产品定位也就随之发生了转变。
  • Forklift Forklift 可以用来在不同的数据仓库中迁移分析数据。源和目标位置可以是 Hive、RDBMS、S3、R 或其他类型。
  • Sting Sting 用于将 Genie 任务结果用特定的方式进行视觉化处理。通过讲数据集保留在内存中,Sting 能够以亚秒级响应时间执行常用 OLAP 操作,例如交叉分析。
  • Lipstick Lipstick 使用户能够按 Pig 任务和任务整体进展来把数据流视觉化。在这种方式下,用户可以直观地发现停滞的任务、错误输出的数据或失败的任务,并将这些问题快速修改以便正确执行。

除了这些工具,Netflix 还开发了 Curator 等若干辅助工具。 Curator 是一系列对运用 Apacke Zookeeper 有帮助的 Java 类库。使用 Curator,开发者能够轻易地构建健壮的客户端,并避免若干缺陷,例如不安全的客户端调用或是错误地假设某次请求会获得成功。

在上述技术栈的各个部分中,一个非常重要的组成部分是Netflix 推荐。Netflix 全部视频流中,大约有75% 是由推荐结果驱动的。驱动推荐的系统之一使用了马尔科夫链,将电影作为状态建模,并计算这些状态之间转换的可能性。在RDBMS 中,这将作为一个存储的规程,每周运行一次;不过作为一个昂贵的副本,它并不具有良好的可扩展性。使用Hadoop 后,这个问题就得到了本质的解决,能够进行扩展而无需复制任何数据,另外使用Pig 或Java Map Reduce 任务,将比作为存储的规程更易于维护。

马尔科夫链描绘了一种离散时间随机过程,它依据转移概率矩阵在一系列状态间变换。将每部电影作为一个节点建模,并使用双边Map Reduce 任务,Netflix 能够计算从某个节点转换到另一个的可能性,而这正是推荐值。未来的值仅仅依赖于当前值,这决定了它非常适合Map Reduce 任务——因为无需在Hadoop 节点中存储状态。

转移概率并不是Netflix 的推荐引擎中考虑的唯一一项参数。除此之外,使用环境也是一个值得考虑的有趣的维度。用户或许希望根据当前使用设备查看不同的内容——在家、休假或是在工作环境。这是一个Netflix 也尚未能够解决的问题,因为要想将使用环境与观看选项关联,还需要克服若干挑战。

无论是其他行业,还是同行业竞争对手,都无法简单地复制Netflix 的大数据架构。然而,其中部分构建模块现在已经开源,并放在其 GitHub 账户中供人们下载。对想要开始开发大数据架构的组织机构来说,它们都可以作为起步的基点。而正如 Netflix 所展现的,大数据战略并不是一个事后规划,相反它必须预先规划,并在数年时光中贯彻执行。

原文英文链接: Big Data at Netflix Drives Business Decisions

2013-12-13 07:142036
用户头像

发布了 256 篇内容, 共 81.2 次阅读, 收获喜欢 10 次。

关注

评论 1 条评论

发布
用户头像
内容太虚了
2021-06-14 23:18
回复
没有更多了
发现更多内容

时序数据库破局开放探讨

YMatrix 超融合数据库

物联网 时序数据库 超融合数据库 数据库架构选型 YMatrix

FLStudio21.0.0水果官方中文版发布功能介绍

茶色酒

FLStudio21.0.0

RocketMQ 在网易云音乐的实践

Apache RocketMQ

RocketMQ 消息

北京同仁堂两大名牌品种亮相帝都

联营汇聚

【前端相关】服务端渲染和客户端渲染的比较

No8g攻城狮

CSS css3 前端 js 前端框架

华为侯金龙:能源流与信息流融合,共建绿色低碳城市

极客天地

“智造新未来”欧比护理智造总部奠基仪式

联营汇聚

版本控制 | 如何将UnrealGameSync与Perforce Helix Core结合使用

龙智—DevSecOps解决方案

虚拟引擎 UnrealGameSync

演讲实录|OpenMLDB 与阿里云 MaxCompute 生态集成

第四范式开发者社区

人工智能 数据库 开源 时序数据库 特征

JDK自带命令优化

@下一站

代码优化 12月日更 12月月更 jvm优化 java程序优化

基于人眼视觉模型,实现码率、质量、成本的最优均衡

阿里云CloudImagine

云计算 阿里云

flutter系列之:如丝般顺滑的SliverAppBar

程序那些事

flutter 程序那些事

前端培训学习前景怎么样

小谷哥

云计算的六大核心技术,你了解多少?

Finovy Cloud

云技术 云渲染

重磅 | 九科信息入选创新型中小企业(原深圳市专精特新企业)

九科Ninetech

React 之 Context 的变迁与背后实现

冴羽

JavaScript 源码分析 前端 前端框架 React

iQOO11 国内安卓首发背景音过滤,人声更突显,通话更隐私

极客天地

中台+低代码 企业数字化转型新范式

力软低代码开发平台

Java开发技术很难吗?

小谷哥

卡塔尔世界杯出现了半自动越位识别技术、动作轨迹捕捉等黑科技。

汀丶人工智能

12月日更 12月月更 世界杯黑科技

2022-12-12:有n个城市,城市从0到n-1进行编号。小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该任务 第i天的任务需要在ci号城市完成,

福大大架构师每日一题

算法 rust 福大大

YMatrix:超融合数据库如何在泵车智能运维场景实现 One for All 价值

YMatrix 超融合数据库

智能运维 三一重工 超融合数据库 智能化运维 YMatrix

在成都培训web前端哪有比较好的机构

小谷哥

Java培训一般需要多长时间?

小谷哥

数据生态第四弹 | OpenMLDB Hive Connector,架构起数据仓库到特征工程的生态桥梁

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Verilog 时延与过程结构

芯动大师

Verilog语法 Verilog延时 Verilog过程结构

架构实战营 2-4 架构质量提升随堂练习

西山薄凉

「架构实战营」

学习java开发技术应该如何入手

小谷哥

对于Getaverse,灵魂绑定和去中心化身份是什么?

Geek_Web3

Web3 Daily 去中心化信任 #区块链# did

喜报 | 秒云获评2022(第二届)“金信通”金融科技创新应用优秀案例

MIAOYUN

金融科技 解决方案 信创

KCL - 让 Kubernetes 资源清单管理更容易

Peefy

编程 Serverless Kubernetes #开源 #DevOps

Netflix:使用大数据驱动业务决策_DevOps & 平台工程_Alex Giamas_InfoQ精选文章