当新生的图形处理平台Apache Giraph 于5月发布1.0版本时 ,与该项目相关的名称在声明中增加了声望。 社交网络Twitter,LinkedIn和Facebook都被视作生产用户,但我们不知道他们在进行多少试验。
但是, 在昨天的博客中 ,Facebook详细说明了他们对Google Pregel模仿项目的信心,并将其用作Graph Search工具中的基本工具。 稍加调整,该公司就成功扩大了Giraph的规模,以在不到四分钟的时间内分析数万亿条边缘(连接)。
软件工程师Avery Ching解释说,在创建Graph Search时,“去年不可能” Facebook寻求可用的可扩展软件。
他写道: “我们需要一个编程框架,以简单的方式表达广泛的图形算法,并将其扩展到海量数据集 。 ”他指出,Giraph是满足其要求的解决方案。 Facebook放弃了其他选择Apache Hive和GraphLab,因为它们 无法 与Giraph的速度或性能竞争。
Ching补充说,Giraph还被选为能够像MapReduce作业一样运行,并且可以用Java编写,就像Facebook其余堆栈一样。 该平台的另一个优点是,Giraph可以轻松使用Facebook自己混合的Apache数据仓库技术HiveIO读取图表。 通过与事件驱动框架Netty的链接,可伸缩性得到了进一步改善。
据信,Facebook对200台商用机器进行了数万亿个边缘的现实世界测试,这是有史以来最大的图形编程。 根据Ching的说法,到目前为止,最大的基准测试报告是Twitter的图表(具有15亿的优势)和Yahoo! Altavista图,包括66亿。 根据Ching的说法,Facebook的社交图谱“超出了这个规模两个数量级”。
对于Apache Giraph社区来说,更好的消息是Facebook正在将这些代码重新注入到 项目 的 主干中 ,从而使Giraph的 可伸缩性 和内存密集度低于以前。 尽管Graph Search可能还不成熟,但让Facebook证明庞大的迭代处理平台的潜力应该会引起一些关注。
图片由Facebook提供