说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Giraph助力Facebook打造亿万用户间关系链

HTML文档下载 WORD文档下载 PDF文档下载
Facebook是全球有名地社交网站,其拥有超过10亿的用户量。为了深度挖掘用户之间的关联性,Facebook使用Giraph实现对不同实体间的万亿个连接进行了分析。

随着Facebook用户数的增加,Facebook希望能够测量基本的统计信息和高效地计算出用户之间的关联性,比如用户位置、兴趣爱好之间的关联性以及他们之间的亲和力、共同好友、查找潜在好友等信息。为了实现这些功能,他们采用一款开源的图论工具——Apache Giraph。该工具最早出自雅虎,后来将其捐赠给 了Apache软件基金会。


Giraph是一个高扩展性的交互图形处理系统,Facebook对Giraph进行了改进和提升,实现对不同实体间的万亿个连接进行了分析。Facebook将Giraph规模化并作为其Open Graph工具的核心。Giraph的整体计算模型被运用在Facebook服务器内并行巨大的网络图计算。

Giraph是如何工作的? 

Giraph是基于批量同步并行模型,由哈佛大学计算机教授Leslie Valiantz在20世纪80年代开发的一类并行计算算法。BSP算法通过 一系列步骤跨多台计算机计算,在每一小步上,每台计算机都执行一点计算,再把结果传递到其它系统里,这些系统再继续执行下 一个步骤。

Giraph计算的输入是由点和直连的边组成的图。例如,点可以表示人,边可以表示朋友请求。每个顶点保存一个值,每个边也保存一个值。输入不仅取决于图的拓扑逻辑,也包括定点和边的初始值。 作为一个例子,考虑这样一个计算,查找从一个预设的初始人到社交图谱中的任何一个人的距离。在这个计算中,边的值是一个浮 点数表示相邻的人之间的距离,顶点V也是一个浮点数,表示从预设的顶点s到v的最短距离的上限值。预设的源顶点的初始值是0, 其它顶点的初始值是无穷大。


来自:Facebook

此外,Giraph引起大家关注的另一原因是基于Hadoop建立的,目前,很多企业都是Hadoop来部署大数据平台,Facebook便是其中之一。

在Facebook使用Giraph之前,对于大规模图形计算,人们曾使用诸如Hive和MapReduce等框架,它们可以实现大规模计算,但对比现在的计算速度,它们要慢50到100倍这样。

发现人与人之间的关联

举一个最简单的例子,Giraph使用手册上例举了一个实现单源最短路径算法,一个计算方法是从所有收到的消息中计算最小的值,如果那个值节点的当前值小,那最小的那个就被接受作为顶点的值,而且值和边的值就会沿着每一个外出的边发送。

从逻辑上来讲,任何节点之间的最短路径一般只有该节点到其邻居节点之间的距离。所以,基于Giraph模型,每个节点开始的第一步都是计算其最短路径,然后通知其邻居,如果其邻居节点找到更短路径,也会通知给开始节点,这样,就很容易找到最短路径。

在本月初,Facebook的一篇博客文章介绍了 Giraph是如何分配Facebook用户数据到特定的数据库服务器。当用户朋友信息被存储在同一个服务器上时,Facebook运行将会更高效,因为对于同样的操作,跨服务查找的次数也会明显减少。

Giraph为每个节点分配一个特定的设置,代表一个服务器,然后告诉其邻居节点所在地。在每个步骤中,它随机决定是否需要移动到另一组,与其邻居移动的数量成正比。 

Facebook在Giraph上取得的成效

作为一个迭代的图形处理库,Giraph具有容错和动态调节的功能。

在可扩展方面,Facebook可以在拥有上万亿连接的真实的社交图谱上运行一个迭代的页面排名,这一社交图谱由各类用户在4分钟之内交互产生,伴随适当的碎片收集和性能调节。除此之外,还可以聚集Facebook每月的活跃用户数据集,在几分钟内即可完成对如此大规模数据和变量的处理。

除图谱搜索外,Facebook还计划将Apache Giraph软件用在其他任务中,例如精准广告和数据排名。Facebook在社交领域的成功离不开其在技术领域的探索与创新,图形技术的应用更是推动了Facebook的发展。

文章翻译自:fastcolabs、gigaom

《算法的乐趣》作者王晓华访谈:多看、多做、多想是秘诀 专访李祎:Java在Testin的技术应用 React首部经典图书推荐:全程经典实例,360度剖析React.js 再做一个Android!Google发布第二代VR眼镜Cardboard Go语言开发常见陷阱,你遇到过几个? 奏响年度最强音 第七届中国云计算大会日程全公布(表) 【CTO讲堂】请在还年轻的时候,尽量多踩些坑 以细分使用场景为突破点 探究墨迹天气的体验创新 熟练成就创造——MathWorks全球副总裁Richard Rovner、产品市场经理赵志宏专访 Objective-C编码规范:26个方面解决iOS开发问题 豌豆机器小组发布最新WRTnode2R,支持华为Liteos、QQ物联与AllJoyn [新书推荐]Node.js项目实践:构建可扩展的Web应用 【简讯】Perl 5.22.0 发布,大幅改进代码! 【征文】特别策划——群雄逐鹿共话新型数据库 针对DCloud侵权质疑,APICloud发布声明 《近匠》小鱼天气,中国风与细粒度空气质量检测 Xcode 7 beta发布,Swift 2.0带来哪些新变化? 【有奖征集】MDCC 2015演讲议题征集全面启动 Swift语言那些鲜为人知的特性 《开源者说》08期:聊聊Java那些事儿 专访唐成:从小工到专家,PostgreSQL的修炼之道 《瞬间之美》作者Robert Hoekman Jr:如何成长为UX领袖人物? TIOBE 2015年6月编程语言排行榜:Swift份额上升,Objective-C成自由落体 【CTO讲堂】Box首位华人核心工程师的回国创业之路 【探秘ES6】系列专栏:ES6简介 专访《Javascript设计模式与开发实践》作者曾探:爱编程 爱生活 【探秘ES6】系列专栏:迭代器和for-of循环 【CTO讲堂】UCloud联合创始人兼CTO莫显峰:如何成长为技术合伙人? 【探秘ES6】系列专栏:生成器 iKair转型传感器及SaaS厂商,发布Maxense平台与9款“云传感器” 免费jQuery幻灯片图片轮播插件Galleriffic的使用方法 有关文件操作的问题 今日给分王 请问如何在一个CStatic控件中显示一个位图?很急的! 如何将image中的图转换成灰度图!!!然后如何转换成ascii字符画?急救! Apache_1.3.24,php-4.1.2,mysql3.2349a,环境RedHat7.2,make apache的时候出现error. 谁能告诉我这样把对话框的背景变成一个位图? icon to bmp的 代码???????????????? 图的表示问题 关于逻辑坐标和物理坐标问题的讨论 这是怎么了--winme 的工具栏没了,SOS SOS 请各位帮忙!!!! 烦请各位告诉我CBitmap和HBITMAP的区别及相互转换方法。多谢了 请问,当我将应用程序和我的指定文件类型相关联时候,我怎么才能指定该文件类型的图标。我试了将ResourceView中的ICON修改,可还是不行。 如何读AVI文件到缓冲区 今日我要把分全送人,我要隐退江湖了 关于关闭“进程”的问题???,help!!!!!!! 在家用SQL server7.0 做的數據庫backup文件怎麼不能在公司的機器上restore,急死我了!!! 关于MTS问题 给分王,我要功成隐退了 关于fdisk的使用出现意想不到的问题!!!!! 在公司做好的本地程序,和数据库,如何上传 有缘人,送分人,功成身退 誰有Java的在線网絡游戲,就象263,yahoo上那樣的. error C2664是怎么回事?十万火急!!! 我的编译器总出 LINK : fatal error LNK1104: cannot open file "Debug/Typer.exe" 是什么原因? 送分喽 vb中的问题!!!急 请问:fastreport的自定义变量如何与delphi变量进行互相传递!!! 请问各位高手关于局域网共享上网的设置问题。 basic 的数据结构问题 asp与xml 百分求维护经验 初级问题 求救:如何用fileup组件将一个文件同时存到两台机子的硬盘上! 有关netmeeting、AVPhone或其它做视频会议相关控件的使用方法。 a question about String Type!Please help me! 关于%include的问题。高分 vb如何访问sql-server。 有用SDK编写的象“我的电脑”那样的程序吗? 请教:如何绘制成绩分析的正态分布曲线? bean里删除文件? 请问关于响应事件的问题?? 请问怎样用在Active DLL中调用ASP的response对象? 请介绍几本关于vb的书,不是入门的书,有没有向<delphi5开发人员指南》这样的书???? dos下编程,如何获得文件创建时间? 如何判断存储过程执行成功结束?(50分相送) 谁行行好吧,小弟谢过了!(sql的cd key) 请教现在是应该学习VB6还是VB.NET? 关于在mfc中自定义类的一个问题 请教现在是应该学习VB6还是VB.NET? 谁有在VB中开发DirectX的教程,请推荐下载地址. zrong(zr) TommyTong(童童) GreenWaterBlueSky(我的家在碧水蓝天) 进来看一看可以吗? “我心里暗笑他的迂”(关于《背影》这句话的意思是 凯瑞斯翻译成英文是什么意思? 我想知道怎么样增加财富值. 朱自清《背影》中,怎样理解父亲的“迂”? 为什么要实施科教兴国战略(人才强国战略、建设创新型国家?) 我想知道如何增加我的财富值 关于背影的练习: 第5段写道“我心里暗笑他的迂”,我认为父亲迂的理由是什么 凯莉妮丝翻译英文是什么? 我想知道如何可以增加财富值 迂回的迂读几声 着急 请帮我翻译一下英文歌曲 玛利亚凯丽的forget this evening Or you face as you were leaving But I guess that's just the way The story goes You always smile but in your eyes Your sorrow shows Yes it shows No I can't forget tomorrow When I 我想知道如何快速地增加我的财富值 出入之迂也 迂字怎么读? 我想知道如何才能快速增加我的财富值. 我想知道如何增加财富值? “yu”怎么读,是“一乌迂”呢,还是“一迂迂”?也就是说,“y”后面是“u”,还是那个“u”上面有两点的那个拼音?还有zhi,chi,zi,ci这种,是z-i-zi呢,还是整体认读? 我想知道财富值怎样可以增加得很快我想知道悬赏分这个 金融杠杆究竟是啥意思啊?看到一些投资 金融方面的书~经常是什么华尔街 杠杆收购之类的话~请问究竟是啥意思啊? 迂回的“迂”字到底是读第一声还是第二声?如题,虽然分不多, 我想知道我现在的财富值是多少,可是要怎么查呀? 什么是“杠杆贷款”,他对于金融机构的作用怎样的?看到了这么一个新闻,来自华尔街日报的.是在说花旗银行最近的行动,要打成一笔交易,来获取120亿美元的杠杆贷款.请问,这个杠杆贷款跟普 寻高二政治《文化与生活》这本书的知识要点 求my mother英语作文50字 杠杆化金融产品有哪些? 运用文化生活的有关知识说明我国为何重视航天事业以提高文化竞争力量 运用文化生活中有关传统文化的知识谈谈对春节拜年的认识 直到现在我才知道家庭的真正含义用英语怎么说 高二政治必修三(文化生活)1、2单元知识点 高二政治必修三文化生活知识点整理 啊尔卑斯棒棒糖有什么含义? 急求楚人学舟译文 我想知道得名得到财富值? 我想知道怎么快速得到财富值 英语作文:my father 蓝球比赛七局四胜.第一肠比赛组织者可货票房收入3a万元,后每次比上一次多a万.最后组织人可以得到多少收入 不少于33a的溉率四点之前结束提问! 我想知道怎么才能快速得到财富值. 谁有楚人学舟的译文?加每个字的意思 最后一道题,有财富值 我想知道怎么样能快速的得到财富值呢 底面半径是4cm,高是5cm(计算圆锥的体积) 萨浪嘿尔 是什么意思? 就剩这道题了,弄完给财富值 底面直径5cm,高4cm,求圆锥的体积.急.回答的答案要准确,5分钟之内回答的人(还要对)给30个悬赏分. 巴扎嘿和萨浪嘿啥意思 自行车轮胎安装在前轮可行驶5000米,安装在后轮可行驶3000米,如调换使用,一对新轮胎可行驶多少千米?行多少米对调一次? 用文化生活的有关知识,说明为什么要大力发展红色旅游快,急中尽量详细点. 批萨酱英文叫做什么?就是那种红色的..用番茄胡椒加大蒜做成的酱..做pizza的时候也会放进去的..吃意面也会放..英文叫pasta什么来着..忘了!有人知道吗? 斯丢被 是一个英文单词 斯丢被是我中文翻译出来的~ 政治题联系当前国际竞争的形势.运用文化生活的有关知识回答联系当前国际竞争的形势.运用文化生活的有关知识回答 说明我过为什么要加强文化建设 我说的 内英文 念lang 这个 单词 组下句子常用的 是英文 所以用汉字代替了 联系当前国际形势,运用文化生活有关知识说明我国为什么要加强文化建设?《国民经济和社会发展第十二个五年规划纲要》指出:保护青少年身心健康,为青少年营造健康成长的空间.加快发展 全国实施科教兴国战略和人才强国战略的主要途径是什么? 如题 仿写眼睛和心灵的窗户 用政治学知识说明我国为什么要实施人才强国战略? 凹订斯 英语怎么意思? 背影这篇文章里,“迂”与“迂回”的“迂”词义有什么区别朱.写的 运用所学文化生活知识,说明为什么要实施科教兴国人才强国战略 在线等 运用文化生活的知识回答,为什么我国仍然存在落后文化和腐朽文化?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘