欢迎来到天天文库
浏览记录
ID:58195009
大小:2.25 MB
页数:35页
时间:2020-09-05
《Goolge的云计算 - 分布式数据表BigTable课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Goolge的云计算分布式数据表BigTable1BigTable为什么需要设计BigTable?Google需要存储的数据种类繁多网页,地图数据,邮件……如何使用统一的方式存储各类数据?海量的服务请求如何快速地从海量信息中寻找需要的数据?BigTable:基于GFS和Chubby的分布式存储系统对数据进行结构化存储和管理与GFS的联系2数据存储可靠性高速数据检索与读取存储海量的记录(若干TB)可以保存记录的多个版本Google的需求3与写操作相比,数据记录读操作占绝大多数工作负载单个节点故障损坏是常见的磁盘是廉价的可以不提供标准接口Goo
2、gle既能控制数据库设计,又能进行应用系统设计假设4具有广泛的适应性支持Google系列产品的存储需求具有很强的可扩展性根据需要随时加入或撤销服务器应对不断增多的访问请求高可用性单个节点易损,但要确保几乎所有的情况下系统都可用简单性简单的底层系统可减少系统出错概率,为上层开发带来便利设计目标5总体上,与关系数据库中的表类似逻辑视图RowKeyTimeStampColumnContentsColumnAnchorColumn“mime”cnnsi.commy.look.ca“com.cnn.www”T9CNNT8CNN.COMT6“
3、>..“Text/htmlT5“..“t3“..“关系数据库中的表是什么样的?有什么特征?关系数据库中的表设计需要遵循什么原则?6行每行数据有一个可排序的关键字和任意列项字符串、整数、二进制串甚至可串行化的结构都可以作为行键表按照行键的“逐字节排序”顺序对行进行有序化处理表内数据非常‘稀疏’,不同的行的列的数完全目可以大不相同URL是较为常见的行键,存储时需要倒排统一地址域的网页连续存储,便于查找、分析和压缩数据模型mp3.baidu.com/index.asp→com.baidu.mp3/index.asp7列特定
4、含义的数据的集合,如图片、链接等可将多个列归并为一组,称为族(family)采用族:限定词的语法规则进行定义fileattr:owning_group”,“fileattr:owning_user”,etc同一个族的数据被压缩在一起保存族是必须的,是BigTable中访问控制的基本单元数据模型8时间戳保存不同时期的数据,如“网页快照”“Abigtable”表中的列可以不受限制地增长表中的数据几乎可以无限地增加数据模型通过(row,col,timestamp)查询通过(row,col,MOST_RECENT)查询9无数据校验每行都可存储任意数
5、目的列BigTable不对列的最少数目进行约束任意类型的数据均可存储BigTable将所有数据均看作为字符串数据的有效性校验由构建于其上的应用系统完成一致性针对同一行的多个操作可以分组合并不支持对多行进行修改的操作符数据模型10物理视图RowKeyTimeStampColumn:ContentsCom.cnn.wwwT6“..”T5“..”T3“..”RowKeyTimeStampColumn:AnchorCom.cnn.wwwT9Anchor:cnnsi.comCNNT5Anchor:my.look.c
6、aCNN.COMRowKeyTimeStampColumn:mimeCom.cnn.wwwT6text/htmlRowKeyTimeStampColumnContentsColumnAnchorColumn“mime”cnnsi.commy.look.ca“com.cnn.www”T9CNNT8CNN.COMT6“..“Text/htmlT5“..“t3“..“11逻辑上的“表”被划分为若干子表(Tablet)每个Tablet由多个SSTable文件组成SSTable文件存储在GFS之上每个子表存储了ta
7、ble的一部分行元数据:起始行键、终止行键如果子表体积超过了阈值(如200M),则进行分割物理视图12体系结构13为每个子表服务器分配子表,对外提供服务与GFS垃圾回收进行交互,收回废弃的SSTable探测子表服务器的故障与恢复负载均衡主节点的职责有效缓解单点故障14子表服务器故障15子表服务器故障16子表服务器故障17数据访问方式18任何对子表的写操作都会记录到一个存储在GFS之上的commitlog中每个子表服务器上所有子表变化对应于一个commitlog新的数据存储到子表服务器的内存(memtable)中次压缩旧数据存储在SSTabl
8、e中,而新数据存放在memtable中当memtable体积超过一定阈值,将形成SSTable,并写入GFS每个tablet对应多个SSTable数据写的流程19tablet含有
此文档下载收益归作者所有