开源项目Giraph的支持者或许都知道,Facebook在开发图谱搜索(Graph Search)服务时,选择采用了Giraph,并开始了对此项开源技术的研究。Facebook将Giraph规模化并作为其Open Graph工具的核心,用来处理数万亿次用户及其行为之间的连接。
Giraph的起源
Giraph的改进方面
图形(Graph)是大数据领域最热门的关键词。为了能够更好的分析人群、位置和事件之间的联系,图形处理引擎和图形数据库利用系统节点(node,例如Facebook用户的兴趣爱好)和边(edge,用户及其兴趣爱好之间的联系)对数据进行分析。但是到目前为止,Giraph应用还需要考虑Hadoop的兼容性。据Avery Ching介绍,Facebook选择了三个生产应用,分别是标签传递、网页排名和k-means聚类,用来推动产品的发展方向。在完整的Facebook好友关系图中运行这些应用,图中包含10亿用户和数千亿好友关系,这要求Giraph增加新的功能,主要是可扩展性的提升。
Avery Ching分享了Facebook在可扩展性和性能上对Giraph的改进,成果令人敬佩。目前Facebook可以在拥有1万亿连接的真实的社交图谱上运行一个迭代的页面排名,这一社交图谱由各类用户在4分钟之内交互产生,伴随适当的碎片收集和性能调节。除此之外,还可以聚集Facebook每月的活跃用户数据集,在几分钟内即可完成对如此大规模数据和变量的处理。选用Hadoop领域相关的开源产品最大的好处,是有很多技术实力雄厚的公司也在使用,并不断贡献出最新的研究成果。Apache Giraph项目就已经被Facebook应用,并将该平台改进到1.0.0版本,该平台更稳定且更易使用。
其它的图处理平台
除了Giraph之外,还有Google PageRank的图形处理平台Pregel,Giraph的原理就是由此继承而来。美国国家安全局也拥有自己的图形处理平台,能够分析高达70万亿的边(edge),迄今为止仍未被超越。Twitter的开源平台名为Cassovary,自2012年3月起开始处理数十亿的边(edge)。当然,企业也不需要专门开发一个图形处理引擎,图片社交分享网站Pinterest就将图形数据架构作为跟踪用户关注度的一种方法。还有其他一些流行的开源图形项目,也包括商业图形数据库Neo4j和GraphLab。