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

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日之前, 最低票价!从速!

【最具价值CTO评选秀】能做存储的超级计算机——任宇翔和以色列团队的创业故事 OpenStack Swift存储策略 分享5个可视化的正则表达式编辑工具 在iOS程序中使用Bluemix云推送服务 GitHub开源任务列表组件 表白健身小能手!详解Apple Watch特色功能 高逼格不任性!个人智能航空摄影飞行设备ZANO Clappr——开源的Web视频播放器 东软举办2014解决方案论坛 将全面推进BBC战略 Google Glass已死,智能眼镜长存! 五个步骤,保护移动应用免受恶意攻击 声波改变移动社交——参加联想“茄子快传”创意征集 赢取平板电脑大奖! 车载硬件Baen:被游戏化的驾驶体验 深入解析Docker背后的namespace技术 响应苹果要求:Qt 5.4、Qt Creator 3.3同迎RC版 击碎泡沫谈发展,盘点OpenStack商业生态圈! 2014年11月操作系统份额:Windows 7雄居第一,XP跌新低 微信开放平台上线统计报表功能 【向导】如何开始学习高伸缩性编程? 基于Apache Samza,揭秘LinkedIn架构背后的技术 Aeron:每秒可以传递数百万消息的低延时开源消息系统 英特尔物联网马拉松:用创造力改变生活 年末总结:2014年全球手游市场发展的六大趋势 Saber——模块化、组合式的移动前端框架 什么仇什么怨?还原日本反美颜应用Primo真面目 横跨2D与3D!专属C#开发者的超强游戏引擎Paradox 首份“2014年移动外语学习行业报告”等你下载 《近匠》Ayla联合创始人张南雄:物联网发展的三个阶段 神器 VisuAlgo:通过动画学习算法和数据结构 【工具推荐】QWrap——开源的前端JavaScript框架 老外看中国:移动应用UI设计的十大精髓 activex 发布 用C#怎样得到一个dll文件的版本号呢? 问一个比较简单的问题! 关于msgbox的简单问题,才鸟求知,谢谢帮忙!!!!! 困惑。什么工作好啊,来者有分 大哥、大姐们,快拔刀吧! 如何取得SQL SERVER2000数据库某字段的空值? 如何用split分割纵向字符串?在线等候. 关于java workshop的问题(急) 向高手请教一个问题(硬编译),至少200分相送 为什么我用request.getPathInfo()取到的结果为空? c# 版的朋友们大家好!!新手登录,多多帮助! oracle触发1器 一个好多人问过的问题,可是我这里还是不能用,请在帮下忙 发布Applet出现的错误,帮忙撒 本人在PB开发中遇到莫名其妙的问题 强烈建议成立crack专栏,同意的请跟帖。 textbox的输入问题 我的98系统在重新启动后再进入系统时屏幕上会出现一闪闪的雪花点,这是为什么呀? 请教!谁会使用这个API函数(DbiPackTable),该函数在BDE32.HLP中。 一个循环问题,急急急!! mysql -h remotehost -u root连不上对方机子? 分布式应用中的服务器端访问当地窗口的问题 打印的问题,大家请看,得到你们的思路,马上给分! 我想做一个保存图片资源的dll文件,谁有这方面的文章和代码啊? 看一下这个ServiceApp.出错信息! 有专家吗?Cache问题 那里有linux原码下栽?不全也可以? 怎么用OPENCV?(50分) winsock下载FLASH动画的错误问题 好好看看这个妞,天机不可泄漏啊,哈哈哈哈 VxD 中如何使用 sprintf 等函数?[200 分] help me !!! 急急急!!! 有关datareport的问题! 我下载了Core SDK,《windows核心编程》的示例还是编译不成功? SQL Server中定义image类型的问题? 鼠标拖拽效果 简单的问题?高分相送,UP者有分。。。。。。。。 到底到哪里找weblogic 7的破解文件啊? 请教向win2000 server申请证书的问题 我有了一只小猫,好可爱啊!为它散分!TMD,只有最后125分了! query1.CanModify:= true;???? 我下载了Core SDK,《windows核心编程》的示例还是编译不成功? 现急需bmp文件转换成jpg文件的java源代码,请高手们帮帮忙,分数可再加。 大家有没有做过宏的,我写了一个宏却有下面的提示. 。。。如何对所访问的网站的返回结果进行处理。。。 哈哈哈,托普股票昨天狂跌!!!!!!! 请进! ASPX 里如何获得连接数据库的速度 …… 如何解决win98不登录网络也可以访问win2000共享目录的问题? 请问treeview控件如何使选定的节点在完成一次操作后任选定及如何使选定的节点在失去焦点后显示颜色为亮蓝色 一只蚂蚁从长为4cm,宽为3cm,高为12cm的长方体纸箱的A点沿纸箱爬到B点,那么它所性的最短路线的长是---- 电动车电池质保多长时间铅酸的电动车电池电池质保多长时间,到2010年4月24日没有一个回答正确的.我都听说了,大多数都是保15个月;有的保20个月;还有的保两年,就是不知道什么品牌的.告诉 对于中国的牛,我有特别的尊敬感情. 留给我印象最深的,要算一回在田垄上的“相遇”. 一群朋友郊游,我领头在狭窄的阡陌上走,怎料迎面来了几只耕牛,狭道容不下人和牛,终有一方要让路, 一只蚂蚁从长为4cm,宽为1cm,高是12cm的长方体纸箱的A点沿纸箱爬到B点,那么它所行的最短路线的长是多少 腌制火腿是,添加nano2(这是?)是为了让颜色越鲜艳越好, 环形磁铁的磁感线和南北极如何分布 利用二氧化碳的物理性质可以用二氧化碳作( )进行( ),也可以用它来隔绝空气,进利用二氧化碳的物理性质可以用二氧化碳作( )进行( ),也可以用它来隔绝空气,进行( ). 太空记忆枕头保健枕健康枕芯护颈枕颈椎枕头一般价格是多少呢? 环型磁铁的磁感线分布 五年级下册口语交际三的作文“劝说”作文800字星期一要用 记忆枕,护颈枕,太空枕,保健枕头 环形磁铁的磁感线是怎样的?看了很多百度知道里的问答、总是觉得还是不懂、环形磁铁的磁感线是不是就是类似于地球的磁感线? 5年级下册第三单元口语交际,劝说短文50-100字左右. 已知逻辑关系如下,绘制双代号网络图,并计算时间参数ES、LS、EF、LF、TF和FF,找出关键线路用双箭头线标出工作ABCDEFGH紧前工作——ABBBC、DC、EF、G时间13162421 简述决策在管理中的地位与作用 五年级下册口语交际3劝说作文怎么写啊?口语交际本次口语交际的话题是“劝说”,这里有规劝的意思,劝说别人改掉不良的习惯.安排这次口语交际的目的,是让学生在交际中学会怎样动之以情 根据表中各工序的逻辑关系,绘制双代号网络图,计算ES,LS,TF,FF,工期,标出关键线路. 急,有会的朋友们帮帮忙吧,谢谢了. 中国的牛 这种比较的写法我们还在小学课文《》中体会过 五年级下册口语交际三的作文“劝说”作文要450字 计算机中BS HT LF VT FF CR CAN ESC SP DEL 的原英文是什么 巴基斯坦小学课文写中国的具体内容是什么?我想看看他们国家是怎么写的. 怎么样把铝线上的 油渍去掉?又有亚光的?我是想怎么铝线上的 油渍洗白 又有亚光的 英语的意思ls thistheartroom? 如何理解实践在认识中的决定作用 目前市场上销售的汽水饮料大多数是碳酸饮料,其中溶有二氧化碳气体.打开汽水瓶盖时,汽水会自动喷出来,这说明气体在水中的溶解度与压强有关,且( )喝了汽水之后会打嗝,这说明气体溶 电磁炉的原理是由于锅产生涡流,加热食物,那为什么我摸锅时不会被电到?(当一个回路线圈通予电流时,其效果相当于磁铁棒.因此线圈面有磁场N-S极的产生,亦即有磁通量穿越.若所使用的电源 计划在管理中的地位与作用字数达到一千字就行的论文! 五年级下册语文口语交际3,劝说乱丢垃圾的,至少写出五条,从从轻到重、从己到他 如何选择一款适合自己的枕头?可以买零听品牌的恒温太空记忆棉慢回弹舒眠护颈枕头吗 粗苯加氢设计单位粗苯加氢 五年级下册语文第三单元口语交际劝说怎么写?快! 太空零压力记忆枕头加长护颈枕慢回弹颈哪里有 粗苯加氢 梦兮 安睡慢回弹枕头 太空记忆枕头 零压力护颈枕 颈椎保健 请写出氯气与碘反应的化学方程式.另外,是HIO4吗? 氢气和氯气及溴发生反应,哪个放热多 五年级下册语文第三单元口语交际 劝说 怎么写啊.急.19: 氯气和碘反应 求介绍分析中国文化的文章吗? 一战对英国 影响最好是各方面都有的 比如对经济啊这种的 women,democracy,imperialism,territorial expansion,new ideologies,social change.3Q3Q不一定要英文,中文的也OK。因为要写论文,要是带点什么参考书目 氯气和碘的反应? 中国牛这篇文章是赞扬谁的,是赞扬中国还是牛啊! 对于中国的牛. 英国在一战中是什么角色 下列关于NaNO2、Na2O2、SO2、O2等四种物质的组成的叙述中正确的是都含有2个氧原子对吗?仔细看题 中国的牛 1.中国的牛象征什么?2.文中能与文章结尾遥相呼应的是那一句? 英国在一战中的作用 下列物质误食后,不会引起中毒的是?(1)BaSO4(2)NaNO2(3)CH3OH(4)P4 关于中国航母相关文章? 一战的影响要简短的那种,答题用的,两三行就够用! 含Na离子的物质(除NaCl为中性外)都是碱性的吗?比如说NaNO2、Na2CO3 经常吃微波炉做的食物有什么坏处? 房屋装饰工程质保时间及质保金 文章中第一段有什么作用 读书伴我成长 500字作文 什么汽车整车质保时间最长 电压和电流线圈产生涡流的原理,我想知道这个,要看那种书啊 汽水中的气体通过什么方法溶解在水中 甲醚用铜做催化剂加热 反应生成什么物质 写出化学反应方程式 这个 3年有限质保 主要我觉的是“有限”这两个字要注意,这很容易令身为消费者的我们受到伤害的! 文章第一段有何作用
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘