第7章google云计算原理与应用2.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章google云计算原理与应用2

Paxos算法 Paxos算法 Paxos算法 Paxos算法 Paxos算法 Chubby系统设计 Chubby系统设计 Chubby系统设计 Chubby系统设计 Chubby中的Paxos Chubby中的Paxos Chubby中的Paxos Chubby中的Paxos Chubby文件系统 Chubby文件系统 Chubby文件系统 Chubby文件系统 Chubby文件系统 Chubby客户端与服务器端的通信过程 故障处理 故障处理 一致性 安全性 性能优化 设计动机与目标 设计动机与目标 数据模型 数据模型 数据模型 数据模型 系统架构 主服务器 主服务器 主服务器 SSTable及子表基本结构 子表地址结构 子表数据存储及读/写操作 局部性群组(Locality groups) 压缩 布隆过滤器(Bloom Filter) 习题 1.分析关系型数据库与NoSQL数据库的优点与不足。 2.Chubby的设计目标是什么?Paxos算法在Chubby中起什么作用? 3.阐述Bigtable的数据模型和系统架构。 ?为了减少访问开销,提高客户访问效率,Bigtable使用了缓存(Cache)和预取(Prefetch)技术 ?子表的地址信息被缓存在客户端,客户在寻址时直接根据缓存信息进行查找。一旦出现缓存为空或缓存信息过时的情况,客户端就需要按照图示方式进行网络的来回通信(Network Round-trips)进行寻址,在缓存为空的情况下需要三个网络来回通信。如果缓存的信息是过时的,则需要六个网络来回通信。其中三个用来确定信息是过时的,另外三个获取新的地址 ?预取则是在每次访问元数据表时不仅仅读取所需的子表元数据,而是读取多个子表的元数据,这样下次需要时就不用再次访问元数据表 Bigtable数据存储及读/写操作 ?Bigtable将数据存储划分成两块:较新的数据存储在内存中一个称为内存表(Memtable)的有序缓冲里,较早的数据则以SSTable格式保存在GFS中 ?写操作(Write Op)——先查询Chubby中保存的访问控制列表确定用户具相应写权限,通过认证之后写入的数据首先被保存在提交日志(Commit Log)中。提交日志中以重做记录(Redo Record)的形式保存着最近的一系列数据更改,这些重做记录在子表进行恢复时可以向系统提供已完成的更改信息。 ?读操作(Read Op)——先通过认证,之后读操作就要结合内存表和SSTable文件来进行,因为内存表和SSTable中都保存了数据 三种形式压缩之间的关系 Bigtable中有三种形式的数据压缩 : ?次压缩(Minor Compaction) ?合并压缩(Merging Compaction) ?主压缩(Major Compaction) 数据压缩问题 每一次旧的内存表停止使用时都会进行一个次压缩操作,这会产生一个SSTable。但如果系统中只有这种压缩的话,SSTable的数量就会无限制地增加下去 而在Bigtable中,读操作实际上比写操作更重要,因此Bigtable会定期地执行一次合并压缩的操作,将一些已有的SSTable和现有的内存表一并进行一次压缩 主压缩其实是合并压缩的一种,只不过它将所有的SSTable一次性压缩成一个大的SSTable文件。主压缩也是定期执行,执行一次主压缩之后可以保证将所有的被压缩数据彻底删除 分布式结构化数据表Bigtable ?设计动机与目标 ?数据模型 ?系统架构 ?主服务器 ?子表服务器 ?性能优化 ?局部性群组(Locality Group) ?根据需要,将原本不存储在一起的数据,以列族为单位存储至单独的子表 ?有的用户可能只对网页内容感兴趣,那么它可以通过设置局部性群组(见下图)只看内容这一列;有的对诸如网页语言、网站排名等可以用于分析的信息比较感兴趣,他也可以将这些列设置到一个群组中 ?压缩 ?压缩可以有效地节省空间,Bigtable中的压缩被应用于很多场合 ?首先压缩可以被用在构成局部性群组的SSTable中,可以选择是否对个人的局部性群组的SSTable进行压缩。这种压缩是对每个局部性群组独立进行,虽然会浪费一些空间,但是在需要读时解压速度非常快 ?通常情况下,用户可以采用两步压缩的方式: ?第一步利用Bentley McIlroy方式(BMDiff)在大的扫描窗口将常见的长串进行压缩;第二步采取Zippy技术进行快速压缩,它在一个16KB大小的扫描窗口内寻找重复数据,这个过程非常快 ?压缩技术还可以提高子表的恢复速度,当某个子表服务器停止使用后,需要将上面所有的子表移至另一个子表服务器

文档评论(0)

sandaolingcrh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档