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

Spanner vs. F1:谷歌两大数据管理利器的整体对比及关联

HTML文档下载 WORD文档下载 PDF文档下载
Spanner与F1是互联网巨头Google当下的两个数据处理利器,其中F1更支撑了AdWords这个庞大的生态系统;该系统拥有过百TB的数据,每秒处理数十万的请求,日扫描数据行更达百万亿。

自2012年9月搜索巨头Google发布Spanner论文已有一年之久,期间各种对比可以说是数不胜数。近日,ThoughtWorks India技术总监Srihari Srinivasan(曾供职于Philips Consumer Electronics、Ivega Corp等多家企业)总整体上对比了Google的两个数据库系统,并分析了两个系统之间的联系及配合机制。以下为译文:

F1设计的主旨

  • 系统可以添加资源进行纵向扩展
  • 无需改变应用程序就具备数据分片及均衡的能力
  • 对事务支持ACID特性
  • SQL的全支持,同时支持索引

Spanner目标

  • 最主要的目的就是跨数据中心的管理及复制数据
  • 数据的重分片及均衡能力
  • 主机间数据的自动迁移

从整体上看F1

1. F1建立于Spanner之上,Spanner的特性包括:分布事务间(2PC)提供强一致性、基于时间戳的整体排序、通过Paxos进行同步复制、容错、数据的自动均衡等。

2. 通过F1增加的特性:

  • 在整体数据上分配SQL查询,并提供join能力
  • 索引的事务一致性
  • 异步模式转变
  • 使用新的ORM库

F1的架构

1. 用户通过客户端库交互。

2. 任何服务器都可以接收SQL查询请求。

3. F1客户端需要通过一个本地负载均衡器,有助于降低延时。如果需要,它会负责把请求转发到本地/最近数据中心里的F1服务器。

4. F1与Spanner的服务器会位于同一个数据中心。

5. Span-server会从Colossus File System(GFS继任者)中获得数据。

  • 每个span-server都搭配了一个称为Tablet的存储抽象,通常负责100-1000个tablet实例。这些Tablet数据储存在类似B-Tree的一组文件及预写入日志上,这些文件都位于CFS之上。
  • 在tablet之上,每个span-server同样还实现了1个Paxos状态机。

6. F1服务器大部分都是无状态的,鉴于其不负责数据存储,因此添加及删除起来非常方便,不会涉及到数据转移。

7. F1进程通过主从方式组织,F1 master首先接收查询,然后再委托给slave处理。

8. Master同时还负责slave poll的维护。

9. 系统的吞吐量可以通过增加F1 master、F1 slave及span-server的数量完成。

10. 数据储存通过Spanner处理

  • Spanner将数据行分割成bucket抽象,称之为1个目录——共享1个通用前缀的连续key集合。血统关系通过目录实现。
  • 添加1个span-server将导致跨Spanner tablet的数据重新分配,但是却不会波及到其它的F1服务器,这个操作对F1服务器完全透明。
  • 鉴于数据在不同地理位置上的多个数据中心同步,提交的延时将非常高(50-150毫秒)。

11. 系统同样包含了只读副本,这些副本将不会计算到Paxos算法中。只读副本只用于读的快照,因此支持OLTP和OLAP的负载隔离。

数据模型——分层架构

  • 从逻辑层看F1,它的数据模型非常类似RDBMS;此外,F1中的表格可以用分层模式组织。
  • 分层中, root table对应的行被称为root row。
  • Root row的child table对应行被储存在单独的Spanner目录中。
  • 客户端应用程序通过调用INTERLEAVE IN声明数据库架构的层次。
  • 目录表格的每行都拥有一个键K,连同子表中所有行一起,从K开始按照字典顺序递增组成一个目录。
  • 每个子表格都与父表格中的行聚合并交叉。
  • 论文中还强调了读、写操作可以从分层架构中获得的好处,然而在实际上,分层架构并不是F1中唯一的模型。
  • F1中的索引具有事务性并且完全一致,在Spanner中使用单独的表进行存储,键则使用索引键与被索引表格主键的串连。
  • 使用两种类型的物理存储布局——Local及Global。

F1中的查询处理

F1中的查询管理类似于当下多数的SQL-on-Hadoop解决方案,比如Cloudera的Impala、Apache Drill及无共享并行数据库。

查询的生命周期

  • 每个查询都会配备一个协调节点,这个节点负责接收SQL查询请求。
  • 协调器会负责计划执行以及从结果的接收,并做结果的聚合、排序及过滤,最后会将结果返回给客户端。
  • 基于数据被不停的分割,计划器还负责分割长度的制定,以最小化查询的时间。
  • 基于被处理数据及分割范围,计划器/优化器甚至会对预处理数据进行再分配。

网络延时的处理

F1的主数据存储就是Spanner,可以看成是一个远端数据资源,因此F1 SQL同样可以访问远端低延时数据资源。

访问远端数据资源产生的延时通过查询不同阶段的批处理及流处理缓和,同时查询操作符经过特定的设计为处理管道后续阶段传输尽可能多的数据。

最后

自2012年起,F1系统就负责了AdWords广告活动的数据管理。AdWords是个庞大的生态系统,设计数百的应用程序及数千的用户。数据库里的资料超过100TB,每秒处理数十万请求,每天扫描上百万亿的数据行。可用性达到5个9,对比传统的MySQL系统,即使在计划外宕机时,延时都不会显著增加。

原文链接: F1 and Spanner Holistically Compared(编译/仲浩 审校/周小璐)


以“应用驱动的架构与技术”为主题的第七届中国大数据技术大会(Big Data Technology Conference 2013,BDTC 2013)将于2013年12月5日-6日在北京世纪金源大酒店举行。大会共设“大数据架构与系统”、“大数据技术”、“大数据应用”、“大数据的研发趋势”,“大数据基准测试(Benchmark)”,以及“智能交通与大数据” 六个分论坛,大牛坐而论道,专家实践分享。10月25日之前, 最低票价!从速!

VB数据库记录查询四法 vb应用程序访问sql server方法探讨 VB中超长OLE数据库字段的操纵方法 VB中将数据转换为数据库文件 VB中远程数据库的访问 Visual Basic 的数据库编程 Visual Basic数据库数据的选项录入及选项增减与编辑 把资料输往Excel来列印-VB资料 报表中的滚动问题-VB资料 编写Connect Strings-VB资料 表或查询是否存在-VB资料 不创建DSN直接在程序中使用ODBC数据源-VB资料 不用 DATA 控件操作数据库文件 -VB资料 不用 EOF 以加快记录循环-VB资料 处理Select语句中的单引号 -VB资料 断开所有的数据连接 -VB资料 访问VB外来数据库 非access数据库在vb中的编程及应用 关闭程序中所有创建的数据库连接。 -VB资料 关闭所有的数据连接 -VB资料 关于数据报表的打印设置-VB资料 VB建立、改变及重构Access数据库-VB资料 结构化查询语言(SQL)详解之一-VB资料 利用VB使ACCESS数据库在网络使用中保持同步 返回 连接Data到多个表单-VB资料 列出 SQL Server 数据库中所有的存储过程-VB资料 列出MDB档当中所有table的名称-VB资料 您想知道有谁正在使用您的 Access 文件吗?(多人环境中)-VB资料 主题:浅谈Excel 的VB编程 巧用VB6的DataGrid实现通用电子表格 VB取得正确的 RecordCount 值 怎样将添加的记录到所有的现有记录后面? 如何装双系统?(在线等候) CSS一般要学多久才算掌握? 从事共享软件开发的进来谈谈做共享的辛酸好吗? 请教使用notifyicon遇到的问题 ActiveState.Visual.XSLT.for.VS.2003.v1.7.9.2475.WinNT2K无法安装。 如何合并两个dataset win98系统下ISAM问题 如何减小生成的EXE文件大小等? asp.net有没有模板 帮帮忙,呵呵!!!一个小问题!!!!! 用VB的兄弟姐妹们,来整个MSN如何? 关于dllhost占用系统资源的问题! 谁是雍亲王,出来说话!!! 在WSAD5.0里怎么添加类型为MYSQL的数据源 高手们,帮帮我噢(解决立刻给分) 全中国程序员联和起来。 如何在web的FORM1模式下画一条线段 界面贴图问题 为什么我用Server.MapPath(""),返回不了任何东东? 上手指路,高分相送 asp怎样连到SQL Server 2000?给100分,在线等 ASP.NET和SQL 哪位兄弟有用asp.net做的OA完整的例子...大家快来.. 关于dllhost占用系统资源的问题! Kylix是否和Delphi一样有RTF控件可以处理丰富文本? 小弟想考程序员!各位大哥指点一下嘛!有要考的交流一下嘛! 查询条件的问题?? 从事共享软件开发的进来谈谈做共享的辛酸好吗? TListView中某一SubItem怎末实时更新?在线等。。 http://www.000163.com/的空间能不能信得过? 请帮忙哟,在线急等 asp.net下如何用c#编写程序实现调用数据库中的多个表显示在datagrid 如何调用存储过程来删除表中的列名???? 给一个变量赋空值的问题 如何在DirectDraw显示Edit,输入文字?? 贴子回复次数大于跟给分次数是什么意思啊?让不让结啊?? 结交delphi爱好者! 请各位高手给我指点一下方向? 如何在Sybase数据库中获得刚插入的那条记录的主键? 怎样获得菜单项(menuitem)名? 简单问题 请问如果有一个dll文件,我想知道里面有什么函数,但我又没有说明书,有什么工具么? 报表设计器怎末没有在外接程序菜单中显示出来呀?? 如何知道选哪个? 急,如何将图标保存在一个数组中,并将它显示出来? struts配制数据源中如何指定url编码? 在csdn设立开放源代码的项目 妈的!等咱有了钱... zt 请问那位大哥有在linux用mysql管理前端啊 client script动态改变表单的问题 辛弃疾 白朴 李白 艾青 怎么排序急 不导电的水用什么流量计 如果有人在家里去世了 然后该怎么办?包括打120时该怎么说 文言文《枭与鸠对话》的全文翻译 唐僧是指十二生肖哪一个希望最快解决,谢谢大家 girl.you think you'er cooler than me 是什么意思? 文言文《枭与鸠对话》的启示是什么原文】枭①逢鸠,鸠②曰:“子③将安④之⑤?”枭曰:“我将东徙⑥。”鸠曰:“何故?”枭曰:“乡人皆⑦恶⑧我鸣,以故东徙。”鸠曰:“子能更 rain是什么意思 质壁分离实验 染的细胞是什么 枭与鸠的对话枭(猫头鹰)逢鸠(斑鸠).鸠曰:“子将安之?” 枭曰:“我将东徙.” 鸠曰:“何故?” 枭曰:“乡人(当地人)皆恶我鸣.以故东徙.” 鸠曰:“子能更鸣,可矣;不能更鸣,东徙,犹恶子之声.” 1 知恩图报饮水思源的意思是指十二生肖哪个 齐景公问政于孔子,孔子的回答体现了孔子的什么主张 古文;枭蓬鸠翻译 Rain是啥意思? 怎样正确使用安全带 题目看补充,解答我打问号的.最后一道也要.小胖班级有50人要划船,每条大船可做6人,需要20元,每条小船可做4人,需要15元,请你设计几种租船方案方案 大船(条) 小船(条) 金额(元)问:那 能不能给我一份英语统考的题库,万分感谢 英语“作词/作曲/演唱”分别怎么写?作词:作曲:演唱:这三个用英语怎么写? 打问号的题求解析 哪位大神能帮忙翻译一下...或者告诉我这是干嘛的也行... 请问大家作曲(者)和作词(者)还有专辑,这三个用英语怎么说? 把打问号的解答 英语翻译LZ是刚到美国的学生,今天一上课历史老师就发给我这么一张纸,什么都没说,我不清楚这是什么啊,下周一就要把这张纸交上去, 作词、作曲、演唱者用英文怎么说? 已知正六棱柱的12个定点都在一个半径为3的球面上,当正六棱柱的体积最大时,其高的值为? 求大神做几道英语题.最好能翻译下每个题和答案!在线等急! 英语翻译歌曲中作词者、作曲者翻译成英文该怎么说?老板让我马上交差,如有知道的麻烦尽快回复, 拿破仑的加冕典礼是在哪里举行的?还有,拿破仑真的长这样吗? 谁给我解释解释 腻和腻歪 分别什么意思别告诉我一字之差 作词,作曲,演唱英文是什么? 〈明义法师之鸠〉译文 ”腻歪“怎么解释?怎么应用?谢谢! 六棱柱是由几个面围成的 《明义法师之鸠》的译文急~~~~~~ 为什么总有人说,这是有多歪腻.什么的 想问一下有关银行方面的英语,因为要给国外汇款,那些英文缩写不太懂,如题account ref.bank ref.bic ref.iban ref.不懂的别来 《明义法师之鸠》古文解释 “暗送秋波” 忄去读什么音 谁能给我文言文《明义法师之鸠》的译文和字词解释?越快越好, 英语翻译Set Up Panel On Dispiay Wide Sounds Menu Color Type2 Startup Off File No Reset World Time Home Timestamp Off Data Style YY/MM/DD Auto Power Off 1min REC/PLAY Power On USB Mass Storage Video Out NTSC 4:3 Format Rsest REC Focus AF Focus Fra 西方经济微观 为什么MC=W/MPL 会计题,解题公式.甲公司成立时收到某投资者投入的原材料一批,双方确认的价值为100 000元(不含税费),增值税额为17 000元(准许抵扣),甲公司注册资本为800 000元.该投资者出资占注册资本 翻译:做某事花费某人一些时间 谁能帮我打这个字“忄音”, 不少行人却在马路上横冲直撞,对天桥似乎视而不见,原因何在?写一篇500字左右的文章必须要500字左右的额.... 李氏之鸠文言文 这三种电容依次是什么电容? 关于商鞅变法商鞅变法的内容是如何体现社会变革的?哪些措施最能体现社会变革?哪一项对后世政治制度影响最大?改革使那些人受益那些人受害?还有是哪几项是有利于社会进步的? 照相机的发展经历了一个由低级到高级的过程,针孔式照相机是利用( )的原理来成像的,而老式傻瓜相机和现代的一些高级相机都是利用物距大于凸透镜( )倍的情况,成( )缩小 恭敬谨懂,尽心竭力工作到死为止是哪个成语心里完全愿意,没有一点勉强.是哪个啊 不少行人却在马路上横冲直撞,对天桥似乎视而不见,原因何在?写一篇500字左右的议论文急用………………………………………………………………6 its probably cause you think you're cooler than me. 30棱柱有( )条棱,99棱柱是由()个面围成的? 找出一组意思相反的词 橡皮的英文 艾得来斯 都帕 巴郎子 库乃其各个的意思 商鞅变法经过 橡皮用英语怎么写? 维吾尔语的意思qak qak kelwatamsa是什么意思 美国企业研发氦气球游大气层 每人旅费美报文章 中国良性通胀对世界是好事中美军方高官加快对话步伐美国企业研发氦气球游大气层 每人旅费筱原凉子永作博美 谁是日本最美熟女?美国科学家发现DNA时钟 或可重设时墨报文章 “石油人民币”时代即将到来美国脱口秀节目涉种族歧视 亚裔社团吁候选院士举报同行后退出增选 被举报人美将发放对巴基斯坦16亿美元援助款 上海警方破获百起街头掉包诈骗案:母子上海自贸试验区政府服务体验记:一月之少女卖春黄鳝血抹下体充处女 敲诈嫖客江苏11个违法用地重点地区被警示约谈江苏一诈骗团伙非法集资19亿 主犯被锯腿农民阻拦记者调查农村医保:不要管《我爱的是你爱我》发布会 风行网鼎力盐城一投资千万元地下通道荒废六年未用南京回应隧道贯通8年未通车:车流少封南京全面叫停“季建业时代”遗留雨污分杜海涛神似日本公主?盘点明星诡异撞脸选择绿色出行吧能“个性化”安装93号汽油今起涨价一毛九《幸福的鸭子》读后感却成就了网友的神吐槽穷人馒头店,义举大情怀无标题从栽培香菇走向致富路不以年度收入进行平均开审“表哥”开封市原组织部长新生梦想年代秀恋上小三 逼走高管?“表哥”杨达才当庭认罪80后从“垮掉”走向“担当”名利场,是非圈,爱说什么说什么读《裁缝》有感重罚光大美网-郑赛赛组合两救赛点仍落败 无缘徐帆明星班坦承帮儿子铺路
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘