- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《云计算》教材配套课件Google云计算原理[精品]
* 行 每行数据有一个可排序的关键字和任意列项 字符串、整数、二进制串甚至可串行化的结构都可以作为行键 表按照行键的“逐字节排序”顺序对行进行有序化处理 表内数据非常‘稀疏’,不同的行的列的数完全目可以大不相同 URL是较为常见的行键,存储时需要倒排 统一地址域的网页连续存储,便于查找、分析和压缩 /index.asp→com.baidu.mp3/index.asp * 列 特定含义的数据的集合,如图片、链接等 可将多个列归并为一组,称为族(family) 采用 族:限定词 的语法规则进行定义 fileattr:owning_group”, “fileattr:owning_user”, etc 同一个族的数据被压缩在一起保存 族是必须的,是BigTable中访问控制的基本单元 * 时间戳 保存不同时期的数据,如“网页快照” “A big table” 表中的列可以不受限制地增长 表中的数据几乎可以无限地增加 通过(row, col, timestamp)查询 通过(row, col, MOST_RECENT)查询 * 无数据校验 每行都可存储任意数目的列 BigTable不对列的最少数目进行约束 任意类型的数据均可存储 BigTable将所有数据均看作为字符串 数据的有效性校验由构建于其上的应用系统完成 一致性 针对同一行的多个操作可以分组合并 不支持对多行进行修改的操作符 * Row Key Time Stamp Column: Contents Cn.www T6 “html..” T5 “html..” T3 “html..” Row Key Time Stamp Column: Anchor Cn.www T9 Anchor: CNN T5 Anchor:my.look.ca CNN.COM Row Key Time Stamp Column: mime Cn.www T6 text/html Row Key Time Stamp Column Contents Column Anchor Column “mime” my.look.ca “n.www” T9 CNN T8 CNN.COM T6 “html.. “ Text/html T5 “html.. “ t3 “html.. “ * 逻辑上的“表”被划分为若干子表(Tablet) 每个Tablet由多个SSTable文件组成 SSTable文件存储在GFS之上 每个子表存储了table的一部分行 元数据:起始行键、终止行键 如果子表体积超过了阈值(如200M),则进行分割 * * 为每个子表服务器分配子表,对外提供服务 与GFS垃圾回收进行交互,收回废弃的SSTable 探测子表服务器的故障与恢复 负载均衡 有效缓解单点故障 * * * * * 任何对子表的写操作都会记录到一个存储在GFS之上的commit log中 每个子表服务器上所有子表变化对应于一个commit log 新的数据存储到子表服务器的内存(memtable)中 次压缩 旧数据存储在SSTable中,而新数据存放在memtable中 当memtable体积超过一定阈值,将形成SSTable,并写入GFS 每个tablet对应多个SSTable * tablet含有多个SSTable导致查询效率低 合并压缩操作读取多个SSTable,创建一个新的SSTable来保持其中的必威体育精装版数据 旧的SSTable删除 如果合并压缩操作完成后,tablet只包含一个SSTable,那么该操作也称为主压缩 * * 新的故障 子表服务器内存中的memtable丢失 恢复方法 按照tablet将该服务器对应的日志分片 为每个失效tablet分配新的子表服务器 新子表服务器读取对应的分段commit log,并按照日志修改tablet 删除commit log中已实施的内容 重新对外提供服务 * 局部性群组(Locality Group) 根据需要,将原本不存储在一起的数据,以列族为单位存储至单独的子表 如用户对网站排名、语言等分析信息感兴趣,那么可以将这些列族放至单独的子表,减少无用信息读取,改善存取效率 布隆过滤器(Bloom Filter) 什么是布隆过滤器?判断某个元素是否隶属于集合 优点:误判概率低,其存储空间仅为Hash表的1/8至1/4 用于判断列键是否位于SSTable中,快速确定某个列键的位置 * * Google云计算架构中GFS、MapReduce和BigTable中是否存在集群节点复用的情况? 如何复用? 节点复用的好处有哪些? Google云计算架构的设计对你有哪些启发?有哪些收获? * Google App Engine * Google App E
文档评论(0)