位于旧金山的视频服务提供商Ooyala从很多层面而言,是一个理想的大数据案例。作为NoSQL数据库Apache Cassandra以及数据处理平台Hadoop的早期部署者,该公司的计划中如今包含了许多新的热门技术,例如Storm、Spark、Shark以及Splunk。
Ooyala为Bloomberg、ESPN、Telegraph媒体集团以及雅虎日本公司提供分析服务,使得他们能够无比详细地分析各自视频内容是如何被消费的,帮助他们优化内容分发以保证收入最大化。该公司的分析引擎每天处理超过20亿的分析事件,这些事件来自于全球范围内通过Ooyala播放器收看视频的两亿观众。
Ooyala平台工程及运营总监Peter Baka表示:“我们的核心是数据”,该公司会存储收集到的所有信息,不会丢弃任何内容。Baka称,在Cassandra集群中,Ooyala存储了6年的数据,“这比其他任何公司都要多”。
技术处于不断更迭之中,只有顺势而为选择最恰当的技术才能保证最大的投入产出比。
Bakas介绍称,“在2007年,我们研发了第一代基于MySQL、Hadoop、MapReduce以及Ruby的分析系统。在2009年左右,我们开始逼近RDBMS(关系型数据库管理系统)的极限—尤其是在可扩展性、性能以及可用性方面,于是我们决定迁移到Cassandra中去。”
在2011年,Ooyala推出了基于Twitter开源实时分析软件leveraging Storm的实时分析,采用了MapReduce编程模型,语言是Ruby和Scala。2013年,该公司开始兴建下一代基于Cassandra、Scala、Spark和Shark的分析系统,最终有了内存集群计算。
2009年,Cassandra是能够采用的为数不多的NoSQL数据库之一,如今却又几百之多。如果让他重新选择,Bakas会做同样的决定么?
“我想我会做正确的决定。从特性角度而言,Cassandra有许多开发者支持以及企业支持内容,其无主架构恰适用于我们当下所为,尤其是在可扩展性、性能以及可用性方面。能够在全球线性扩展对于Ooyala而言至关重要。”
“在许多数据中心、公有云以及我们自己的私有云中,我们都采用了通用硬件。Cassandra允许我们无缝扩展到新的领域中去。其它的NoSQL数据库有相同的性能,比如MongoDB,不过 Cassandra比较适合我们。”
在其它地方,Ooyala使用了Storm来挖掘存储的数据并实时转化为智能输出,例如向其媒体客户提供观看类型以及个性化的内容推荐等,另外,机器数据智能软件Splunk则保障了数据的可视性。
Bakas表示,该公司使用Storm运行实时分析,用Splunk来处理日志、发现并修改故障,帮助其更好地管理系统。
Ooyala是Apache Spark项目的贡献者之一,Spark提供了Hadoop MapReduce外的另一个选择,而且在很多用例中比Hadoop MapReduce要更快、更加容易使用。另外,该公司也使用了Shark。
这一切让Ooyala成为了大数据技术的先锋,能够迅速提供基于宏大数据集的实时智能。那么,Bakas又是如何看待这项技术对于传统数据中心的影响呢?
他表示,Ooyala采用通用硬件构建了自己的数据中心,另外,也适当使用了区域公有云以降低成本。“如果需要在一个地区增加presence,那只要增加节点即可(Ooyala正运行着200多个Cassandra节点),如此就能够拥有线性可扩展能力”。Bakas指出,云和分布式计算正在改变IT版图,企业需要学会利用公有云服务或者搭建自己的私有云。
|