设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

Facebook如何利用开源代码进行扩张?

2010-9-1 10:38| 发布者: joejoe0332| 查看: 3806| 评论: 0|原作者: 腾讯科技|来自: 腾讯科技

摘要:   北京时间8月31日消息,据国外媒体报道,当你必须扩大服务规模以应对日益增加的数据需求时,最好的参考对象可能就是Facebook了。这家社交网站最初只是为哈佛学生提供服务,现在它已经扩张到为约5亿用户服务。   ...
  北京时间8月31日消息,据国外媒体报道,当你必须扩大服务规模以应对日益增加的数据需求时,最好的参考对象可能就是Facebook了。这家社交网站最初只是为哈佛学生提供服务,现在它已经扩张到为约5亿用户服务。

  用“5亿用户”这个数字来描述Facebook面临的扩展和存储需求可能并不充分。因此你可以看看下面这几个统计数字:用户每天在网站上花费的时间总计为80亿分钟,每周有35亿个内容被共享,每月上传的相片数量达25亿张,每秒有120万张相片被观看。而且,由于70%的Facebook用户在美国以外的地区,用户和数据中心所在的位置令处理和存储的数据量变得更加复杂。

  因此毫不奇怪,某些传统的规模扩张方式对Facebook不起作用。如果用户互连的方式既是无法预测的,也是全球性的,你就不能简单地基于用户的位置,或基于用户将要使用的信息来共享数据库。

  在Facebook发展的过程中,无论是在存储还是在交付内容方面,它都已经在开发了大量工具来处理数据,而且它还把其中很多工具开源了。根据Facebook的开源代码项目经理大卫·勒科尔(David Recordon)所述,Facebook一开始就是建立在开源代码技术的基础上的。但Facebook对开源代码的使用远远超出了LAMP堆栈(或甚至超出了LAMP堆栈加Memcached)的范围。Facebook曾开发并发布了几个开源项目,而且也深入参与了另一些项目的开发,其中最出名的也许就是Hadoop了。

  下面就是Facebook的几个开源工具,它们大大提高了Facebook处理海量数据的能力:

  Cassandra

  Cassandra现在已经是Apache 软件基金会(Apache Software Foundation)的一个顶级项目。Cassandra是由很多数据库节点共同构成的分布式存储系统,可以支持比较丰富的数据结构, 是一种非关系型(NoSQL)数据库解决方案。设计Cassandra的最初目的是解决Facebook收件箱搜索的存储需要。

  Hive

  Hive是基于Hadoop的数据仓库平台,它的查询语言Hive QL类似于SQL,因此熟悉 SQL的人可以使用较丰富的查询方式来分析存储在Hadoop中的数据。Hive也是Apache 软件基金会的项目。

  HipHop

  为了节省服务器资源,Facebook开发了HipHop,它可以把PHP源代码转变成高度优化的C + +。HipHop在今年早些时候开源。

  Scribe

  Facebook的日志数据每天约为25万亿比特,其他工具难以处理如此大量的数据,所以Facebook开发了Scribe,以便从大量服务器上实时收集日志数据。

  Thrift

  Thrift是一个可伸缩的跨语言的服务开发框架,它目前是Apache的一个孵化器项目,

  勒科尔表示,Facebook不仅努力开发内部新工具,也鼓励这些工具的外部发展和使用。不过可能很少有公司需要应对像Facebook那样巨大的数据存储和扩张需求,因此Facebook开源努力的意义在于建立一个“协作的可持续的发展模式”。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部