视频网站的Big Data解决之道

标签: CTO视点 选题策划 高端视点 海量数据 | 发表时间:2011-08-10 16:56 | 作者:baiyuzhong Wolf
出处:http://www.programmer.com.cn

文/姚键

概述

优酷作为一家大型视频网站,拥有海量播放流畅的视频。我们秉承注重用户体验这一产品技术理念,将绝大部分存储用在视频资源上。通过建设专用的视频CDN,建立了可自由扩展、性能优异的架构,在提供更好用户体验的同时优化了存储资源。在除视频资源外的其他方面,我们也累积了海量数据:仅运营数据,每天收集到的网站各类访问日志总量已经达到TB级,经分析及压缩处理后留存下来的历史运营数据已达数百TB,很快将会达到PB级,5年后数据量将会达到几十PB级。

如何更好地处理和分析这些海量数据,以挖掘出其中的价值?

挖掘数据中的价值

对企业来说,尤其是对于为用户提供服务的行业,仅提供基础服务已经越来越难应付日趋细化的商业模式。如何为用户提供差异化的优质服务成为这类企业必须解决的问题。而数据好比灯塔,能为企业指引前进的方向。互联网、电信、金融等行业都在加大数据的探索及应用力度,这为企业创造了可观的经济效益。

对优酷而言,通过用户的每次播放流程,我们都对页面浏览、评论收藏、视频播放以及播放时的各种操作进行了记录。经处理后的分析结果会反馈给不同的业务模块,对包括产品、内容运营、用户的个性化推荐及广告投放等方面的提升,都起到了关键作用。

网站页面、客户端的UI/UE的设计及效果,都需要数据进行支持。通过A/B测试系统,我们收集到用户对不同UI下的操作反馈,进而评估UI的改变对用户的影响。

内容方面,通过对用户网络情况的统计:每次播放是否发生了缓冲,平均下载速度是多少等,进行实时的统计和计算,获取每个地区每个运营商下用户的加载表现,以此来决定CDN节点的分布和分配策略,为不同地区、不同运营商的用户提供清晰流畅的视频服务。

在推荐方面,通过对大量视频播放行为的分析,归纳不同时长、不同类型、不同内容的视频之间的相互关联,挖掘不同人群用户的同质化观看习惯,对每次用户的观看进行有针对性的后续推荐,并借助后续数据的分析,迭代地改善现有服务,为用户提供量身定制的推送服务。

数据对于优酷的广告精准投放也起到了重要作用。优酷的广告系统支持对不同地域、频道、标签及人群等条件的定向投放。在投放策略上,我们本着尽可能不影响用户体验的原则,对于广告长度及投放频次都进行了限制。虽然这给投放造成了较大难度,但通过对各种细粒度的定向条件组合历史数据进行的分析,我们在广告投放方面已经相当准确。在投放阶段,我们实时分析用户属性、访问情况及当前广告投放量,对每次投放动态调整。

图1 运营数据处理技术架构
图1 运营数据处理技术架构

技术架构

下面以优酷的运营数据为例介绍我们的海量数据解决之道。我们的运营数据包括播放、用户交互、搜索、广告等,目前总计达数百TB,它们存储在数百台服务器上。我们主要使用的是内部专门开发的轻量级的分布式存储及数据分析框架,应用于一百台左右的服务器集群,目前仍在使用。另外我们搭建了一个1000个Slot的Hadoop集群,并还在继续扩展。考虑到维护成本及扩展性,未来我们会将全部业务迁移到Hadoop平台上,以降低维护成本。另外基于Hadoop及其上层的HBase、Hive等数据存储产品,我们会开发出一套数据处理框架,应用于整个数据处理系统。

如图1所示,根据业务类型的不同,我们收集到日志之后,按照不同时间策略先对数据进行清洗。不失真的原始日志,按规定的格式直接以文件的形式存储在Hadoop上,数据清洗转换后的中间结果,会存储在Hive数据仓库上;而一些粗粒度的汇总数据,则写到MySQL、HBase等数据库中。

每天优酷的日常数据处理任务多达数百个,对时效性要求不同,任务的执行策略也不同。需要准实时查询的,我们可以提供延迟10分钟的数据;其他任务也根据优先级及紧急程度安排调度,而执行中的资源的分配由系统动态调整。

NoSQL探索之路

层出不穷的NoSQL技术,无疑是现在极其热门的领域,依托高可用性、高水平扩展性、高效存取及支持MapReduce等特性使其在应对Web2.0网站时比关系型数据库更加得心应手。

目前优酷大量数据依然存储在MySQL等平台上,这是考虑到关系型数据库大都经历了长时间的实践检验,比较成熟,遵循相同标准,能获得较好的支持。而且,主流关系型数据库也都积极尝试从海量数据等方面改进产品。此外,NoSQL分Key-Value、document、column、图等多种类型,特性各不相同,这种总称屏蔽了彼此之间的差异;而且各NoSQL产品还在不断变化,甚至API也有所更改,这在技术掌握上及维护上成本较高,毕竟找一个懂MySQL及SQL的开发工程师比找一个MongoDB专家要容易得多。

尽管如此,仍阻挡不住我们对NoSQL产品进行尝试的热情:一方面对不同业务应用适合的产品,另一方面对同类产品也在做评估对比。目前优酷的在线评论业务已部分迁移到MongoDB,运营数据分析及挖掘处理我们在使用Hadoop/HBase;在Key-Value产品方面,我们也在寻找更优的Memcache替代品,如Redis,相对于Memcache,除了对Value的存储支持三种不同的数据结构外,同一个Key的Value进行部分更新也会更适合一些对Value频繁修改的在线业务;同时我们在搜索产品中应用了Tokyo Tyrant;对于Cassandra等产品我们也进行过研究。可以说,我们会一直持续关注NoSQL技术,未来可能会根据需要选择合适的产品应用到实际业务中。

目前NoSQL技术依然处于发展阶段,只有少数蕴涵优秀的技术,并最终幸免淘汰,与其他数据解决方案一起生存下来,未来也许会有新的NoSQL产品出现。开发人员,尤其是各大公司的技术团队在使用NoSQL项目的同时,根据使用经验,会对一些针对特定使用场景的特性及服务加以抽象并实现,形成类似于基于Hadoop平台的Pig这类衍生项目。在这方面未来的发展潜力是巨大的,比如在BI领域,目前的NoSQL产品与现有BI产品几乎没有交集。将来一些NoSQL产品应该能够通过现有主流BI产品直接访问,或者提供自己的BI模块。类似的功能也许会形成新的标准,颠覆现有开发模式。

机遇大于挑战

海量数据时代对企业的影响,并非直接来自数据,而在于社会的飞速进步及不断涌现的商业模式。2007年,微软CEO鲍尔默说,Google公司现在几乎是每年翻一番。优酷从起步,到刷新5年多来美国IPO最大涨幅纪录,只用了短短4年时间。而随着变革速度不断加快,各企业掉队落伍的可能性已明显增大。从海量数据中挖掘潜在价值,分析行业趋势,在短时间内更新业务模式,优化产品和服务,提升核心竞争力,将是企业需要持续解决的课题。

随着数据量越来越大,并行计算得到了越来越普遍的应用,新技术的产生使得技术选择多元化,学习成本有所提高;同时,在学习之后的应用阶段,开发、测试及维护成本都大大降低,数据分析、挖掘及BI领域依旧会得到成型软件的支持。因此,海量数据时代的技术人员,机遇反而大于挑战:一方面需要从关注开发细节,转而关注各种新技术的特性;另一方面应该具备更深的业务抽象能力。只有具备这样的综合能力,才能让技术发挥更大的价值。

展望

目前,企业所掌握的数据,还远没有达到最细的粒度,随着技术的发展和设备的廉价化,未来企业能够收集到的数据还将呈非线性增长。能够为运营提供支持的新维度、新指标也会被继续发掘出来。分析的难度随着维度和指标的增多不断加大,传统的数据挖掘及BI产品将越来越难满足需求。

在应对海量数据的计算模型方面,目前MapReduce成为主流,大多数平台和产品都在应用MapReduce。而未来,也许会有更好的或者针对特定领域更好的计算模型出现。目前Google在图处理方面,已在使用Pregel模型;Yahoo!也在开发新一代的MapReduce模型,以期从可靠性、可用性、可扩展性、向后兼容、延迟及集群利用等方面,对现有模型进行改进。这类改进会进一步提高海量数据的计算效率。

并行计算及分布式系统未来的产品线应会不断丰富。风靡一时的Hadoop并非完美,高吞吐量造成的高延迟、处理时的资源浪费等,也都会是使用者需要考虑的问题。会不会有替代品出现,让我们拭目以待。

对于具体企业,不同企业可能选用不同的解决方案。一些中小企业,通过购买SaaS服务,将数据提供给第三方服务商处理。服务商通过对多家同行企业的数据分析,寻找共性,再反馈给企业为其创造更大价值,实现了平台提供者和使用者的双赢。另外一些企业会通过租用PaaS及IaaS服务的方式,将相对不敏感的数据放到公有云上处理,以节约设备采购及维护成本。对于企业的敏感数据,会通过建立私有数据中心,搭建私有云来处理,而同时也会考虑用公有云平台进行互补。最终结果,数据会向一些大的节点集中,而大的节点也更有能力从掌握的海量数据中挖掘有用信息。这些信息通用性强的部分会被共享出来,服务于社会。

对于优酷来说,仍处于飞速发展阶段,已经在考虑未来自建数据中心,提高数据处理能力,从网站的运营中发掘出更多信息,为用户提供更好的视频服务。

作者姚键,优酷CTO。2006年加入优酷,带领技术团队自建CDN网络,同时在产品设计、WEB开发、底层研发、广告系统、无线业务、运营维护等方面全面发力。曾在ChinaRen、搜狐、新东方在线、51Credit等互联网站任技术管理职位。

本文选自《程序员》杂志2011年08期,更多精彩内容敬请关注08期杂志

《程序员》杂志订阅火热进行中

相关 [视频网站 big data] 推荐:

视频网站的Big Data解决之道

- goodman - FeedzShare
来自: 技术管理者大本营 - FeedzShare  . 发布时间:2011年08月12日,  已有 2 人推荐. 优酷作为一家大型视频网站,拥有海量播放流畅的视频. 我们秉承注重用户体验这一产品技术理念,将绝大部分存储用在视频资源上. 通过建设专用的视频CDN,建立了可自由扩展、性能优异的架构,在提供更好用户体验的同时优化了存储资源.

Big Data技术综述

- Ben - 《程序员》杂志官网
Big Data是近来的一个技术热点,但从名字就能判断它并不是什么新词. 历史上,数据库、数据仓库、数据集市等信息管理领域的技术,很大程度上也是为了解决大规模数据的问题. 被誉为数据仓库之父的Bill Inmon早在20世纪90年代就经常将Big Data挂在嘴边了. 然而,Big Data作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展.

Loading Data into Hive - Pentaho Big Data - Pentaho Wiki

- -
Using the external option, you could define a Hive table that simply uses the HDFS directory that contains the parsed file. For this how-to, we chose not to use the external option so that you can see the ease with which files can be added to non-external Hive tables..

Big Data(大数据)技术简析

- - 服务器运维与网站架构|Linux运维|互联网研究
Big Data是近来的一个技术热点,但从名字就能判断它并不是什么新词. 历史上,数据库、数据仓库、数据集市等信息管理领域的技术,很大程度上也是为了解决大规模数据的问题. 被誉为数据仓库之父的Bill Inmon早在20世纪90年代就经常将Big Data挂在嘴边了. 然而,Big Data作为一个专有名词成为热点,主要应归功于近年来互联网、云计算、移动和物联网的迅猛发展.

文章: 数据集成的演化:从EII到Big Data

- - InfoQ cn
 “企业信息集成(EII):实用方式”于2005年发布,描述了一套集成不同数据源的方法论,它利用了当时的先进技术,如面向服务架构(SOA)、Web Services、XML、资源描述架构(RDF)、基于XML的元数据格式、数据提取、转换和加载(ETL)等. EII基本能够为关系型数据元素提供统一视角,但在性能效率上还无法替代数据仓库和多维数据库.

大数据从“小”做起——中小企业Big Data解决之道

- - 弯曲评论
本文是最新的拙作,希望能大家能提点意见^_^. 任何一个时代或者模式的兴起,都离不开与之相关的Killer App,比如,C/S时代的SAP ERP,互联网 1.0 时代的门户,以及互联网 2.0时代的搜索和SNS等,那么在当今云计算这个时代有那些Killer App呢. 当然首当其冲的肯定是以VMware 和Amazon EC2为代表的虚拟化和相关IaaS服务,除此之外,新近崛起的大数据绝对也是云计算的Killer App之一,并且不仅类似百度、阿里以及腾讯这样的互联网巨头有相关的应用需求,而且根据我个人平时与客户接触,发现有很多普通中小企业,特别是中型的互联网和物联网企业,在这方面的场景也有很多.

Google人資副總:Big Data分析面試應用,在校成績多無用

- - 數位時代 Beta3.0 | Topics & Links
Googe應是全世界看過最多「數據資料」的公司,若是將這些巨量資料(Big Data)運用在領導(leadership)和管理(management)領域呢. Google人資資深副總博克(Laszlo Bock)接受《紐約時報》訪問表示,巨量資料影響層面越來越廣,不過要運用在領導層面還是相當困難的,部分挑戰來自於:多數情況下領導是由直覺驅動,而且糟糕的是許多人認為自己的領導能力很不錯,事實上只有少數人擁有好的領導能力.

大钱:Big Money

- Luosky - 爱…稀奇~{新鲜:科技:创意:有趣}
这是挪威工作室Skrekkøgle带来的一个玩意,大钱(Big Money),它真正的让所谓挣“大钱”变得轻而易举——为啥. 因为这些硬币真的很大,大到你真的可以钻进钱眼……. 好吧,除了自嘲一下你我的身不由己,这玩意最有趣的地方在于,它能让这个世界变得渺小——我猜的话,这意思有两个:(1)人类已经无法战胜金钱了;(2)这个世界其实虚假得可以,何必认真.

鼠标指针手写笔:Big Big Cursor

- weawea - 爱…稀奇~{新鲜:科技:创意:有趣}
虽然从苹果iPhone开始的全触摸式操作风行还没有几年,但是鼠标就已经显露出颓势了,以至于就连小弟这种非iPhone用户,面对笔记本的时候也忍不住会想用手指在屏幕上划拉……. ——看上去,我们似乎可以开始悼念鼠标了,比如说用这款鼠标指针手写笔(Big Big Cursor):. 针对iPhone、iPad、安卓等全触摸操作环境设计,采用了超级经典的鼠标指针图案——我们是不能指望在平板上出现这些手势了,但是手里拿着一个放大版的鼠标指针,然后放肆地在娇嫩的屏幕上戳啊戳的,那种视觉效果还挺震撼的,哈哈.