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

挑战传统关系型数据库:Facebook图形数据库TAO揭秘

HTML文档下载 WORD文档下载 PDF文档下载
“人的本质是一切社会关系的总和”,社交巨头Facebook可以说是这些社会关系的最大“仓库”。海量数据的一致性和大规模读取操作是其技术难点,传统的关系型数据库模型需要改进,TAO应运而生。

在Facebook上,人们已经形成了一个复杂的社会关系网络,如何去存储、扩展和展示这个网络是Facebook工程师的一大难题。早在几年前,Facebook的工程师就意识到:关系型数据库的老方法,正在逐步降低基础设施和代码的效率。2009年,他们开始设计一种新的数据库体系结构,也就是分布式数据库TAO(The Associations and Objects)。6月25日,Facebook在官方博客上公布了支持其基础设施细节。

Facebook的软件工程师Mark Marchukov在博客中表示他们之所以创建TAO的原因之一在于同时使用MySQL和Memcached读取数据太复杂了。产品工程师要工作在两种完全不同的数据模型之间:大规模的MySQL服务器用关系表存储持久数据,类似数量的缓存数据服务器用来存储SQL查询到的键值对。即便是封装在数据访问库中最常见的操作,也需要产品工程师对系统内部有充分的了解,才能高效地使用memcache-MySQL组合。

TAO的图型架构在信息组织方面类似于Facebook的图搜索工具,它将世界看作由节点(对象,即人、地点和事物)和边(关联,即他们之间的关系)组成的图。随着数据量的增大,保持数据的关系模式变得不再重要,TAO及其对应的API应运而生。


Marchukov认为TAO最大的突破在于实现了图解模型,Facebook的主要工作负载在于读取数据,TAO证明了图数据模型很适合这类查询操作较多的网站。实际上,类似Neo4j的图形数据库一直备受关注,因为它能有效表示人际关系。 

Marchukov 在博客中提到,TAO不仅大规模实现了图数据结构,也使用MySQL实现硬盘上的持久存储,同时要保证数据在各个数据中心的最终一致性,用户才能获取“新鲜事”。


TAO服务运行在大量的服务器集群上,这些分布在不同地理位置的集群构成一个树形网络。有另外的集群用来持久存储对象和对象关联,RAM和闪存实现缓存。这种分层结构在单独进行不同类型的集群扩展时更方便,也能有效利用服务器硬件。

欲知更多细节,请移步Facebook博客。(编译/周小璐 审校/仲浩)

译文相关链接:How Facebook matured its data structure and stepped into the graph world

欢迎关注 @CSDN云计算微博,了解更多云信息。

MDCC 2014移动开发者大会10月开幕:你就是主角! 设计师该如何挣得一席之地? 回到未来:最热门的十大清洁能源技术公司 深度学习:未来机器人的进化途径 搜狗开源内部项目管理系统Cynthia,已被数十家企业采用 沃游戏新版本全新登场 好友PK根本停不下来 腾讯发布首款智能硬件,内部筹建孵化器鼓励创新 触控开发者平台:孕育“十亿开发者俱乐部” 《近匠》大新伙伴:大姨吗防晒小助手,帮你呵护女神 专访阿里云总裁王文斌:做出“用得爽”的工程产品 专访AMD全球副总裁潘晓明:2014全线发力,力争中国市场 搜狗开源内部项目管理平台Cynthia意欲何为? 深度解析浪潮新八路服务器TS860 支持Box2D,开源HTML5 2D游戏引擎FLAG 一周消息树:从程序员到架构师的方法与逻辑 【CTO俱乐部走进海尔】海尔的转型探索之路 十一问MongoDB CTO,谈NoSQL人气王的扩展、事务及运维 腾讯“创业•密码”开发者论坛 ChinaJoy引爆创业者关注 从F1赛车到智能手机,无线充电技术之崛起 助力梦想!MDCC免费为优秀App开发团队提供展位 为Symfony2和Redis正名,基于PHP的10亿请求/周网站打造 【聚焦API】教你如何选择最适合的NLP API服务商? 直接改应用!Flipboard开源iOS应用内调试工具FLEX 专访腾讯游戏运营总经理崔晓春:云时代游戏运营的变革与创新 嵌入式专家Bruce Douglass经验谈 门票销售过半 从2014微信开发者大会购票者特征说起 当来自金星的Devs碰上火星的Ops——共话应用扩展 移动平台市场占有率:Android首次赶超iOS 豌豆荚范怀宇 I/O大会总结:Android无处不在 轻博客始祖Tumblr:哈希以支撑2.3万Blog请求/秒 《近匠》FIR.im:简单易用的内测分发工具 基于MIDP1.0的CS结构有没有好的解决方案 200分求 网路精灵XP V2.0.7 简体中文版 的注册机? 关于不同包package内的静态变量访问的问题,帮忙解答 求crystal report enterprise8.5的keycode,谢谢 Windows Server 2003 Enterprise Edition 激活问题 好学生通宵学习。遇到问题! 如何得到N个月以前的年、月 大家都来说说从记事起到现在有哪些经典的歌曲曾经红遍大街小巷,我开FTP,大家帮着搜集一下 ““struct”类型重定义”” 是什么意思? 哈稀表如何遍历一边? ie突然打不开ftp网络了 谁能帮我解决这个对我来说的难题!!!(分数不够可以再加) 大家对2008奥运标志有什么看法?? 第一次在LINUX下使用GCC.... ie突然打不开ftp网络了 好久没来了 来看看 最优三角剖析的问题 why squid can not start? 关于字符串的问题,数组和指针有什么区别? 这个日历是怎么搞出来的,比较实用,怎么做一个 一个调用存储过程小问题 来看看 很简单的问题,请教一下 软件工程中哪本教材比较好? 看BCB5的书,在BCB6编译是否完全能通过? 正义的高手门请伸出你们的手黑了这个彩票网站吧!(海南私人彩票害了很多人倾家荡产,家破人亡,我家也深受其害) ie突然打不开ftp网络了 我的MATRIX观----生命的究极存在形式 关闭窗口的问题 因为昨天晚上的积极表现。 我的真情告白·!#¥%…… 遇到了“Destination host unreachable.”,谁能简单的帮我分析一下出错的可能性。 关于安装windoew 2003的初级问题.解决立刻给分. 如何在LISTVIEW里输出打印? 现在你应该睡了~ 困了,睡觉去~~~~~~~~~ 有没有可能在outlook express中加入自已的按钮? 有没有可能在outlook express中加入自已的按钮? 一个sql表达式的问题 JBUILDER9中用代码改变程序的外观, 难?易?,如何写,见贴内,谢谢! 我的电脑里的g盘分区损坏(磁盘坏道)请问有没有补救的方法? 谁有培训教材,单位培训的?? 印章问题?? 如何实现文件上传?在线急等!!! 如何查询出数据库中相同的字段值??? 可以动态改变水晶报表的文本的内容吗? ASP.net提示无法调试 我下载了Fastreport 2.47的中文版,可是不知道怎么用! 请问我在VB.NET里面控制,把SQL里面的数据输出到Excel,但是有一列是000开头的,到Excel后怎么000就不见了呢? 哪位老大有asp.net和.net平台的电子书?可否共享一下? 如图,长方形ABCD中,AB=12cm,BC=8cm,DE=18cm,三角形DFG的面积是40CM平方,求ABFD(阴影部分)的面积 不敢越雷池半步中的雷池是什么意思? 把一个车轮推上台阶,在哪推最省力 UG8.0 用通过曲线组画曲面问题用通过曲线组命令画曲面,方向如图箭头始终不一致,无法画出要求的曲面,图中圆为样条,选前两条箭头方向一致,选第三条就出现了如图所示问题 小学阅读题分分钟解决 UG4.0怎么在曲面上画样条曲线? 写出3个成语,例:越雷池一步. “ 不敢越雷池一步”中的 “ 雷池” 不敢越雷池一步的雷池在哪儿 I like maths!的同义句是: 请问ug6.0 用三条曲线能画出曲面吗?请问ug6.0 用三条曲线能画出曲面吗?都是有弧度的 中国留学生救日本小学生感动日本 安倍外交部:外国驻华机构和人员不得从事危7国专家学者将聚首天津探讨东北亚和平王家瑞会见新西兰国家党代表团尼日尔沙漠一移民车抛锚 现场发现92律师称斯诺登将开始在俄罗斯某大型网站46名中国与印度非法采金者在加纳被捕律师称斯诺登将从11月起在俄大型网站美国曾要求日本修宪 欲促日帮忙越战奥巴马医改网站安全漏洞细节曝光 内测联合国计划成立预警机构 防范小行星撞这期的《爸爸去哪儿》,我们学会了一个『速言』《倚天屠龙记》里的明教,历史一升油中包含多少税?【THD软装分享】 朴素淡雅纯白软装历史上那些损伤惨重的沉船事件,请铭记青春陪伴者这才是真正意义上的技术分析,绝大多数咋整君过两天发好吃的,叫上你不?勇士格林:巴博萨真的很像猫鼬航运 | 一艘货船需要多少证书才能出励志 | 《非诚勿扰》的女嘉宾,你们
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘