网站大量收购独家精品文档,联系QQ:2885784924

第15讲+云计算中的数据库技术.ppt

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

分布式数据库体系结构 在启动的时候,每个Hregion服务器都会检查自己的Hlog文件,看看最近一次执行flushcache之后有没有新的更新写入操作。如果没有更新,就表示所有数据都已经更新到文件中了;如果有更新,服务器就会先把这些更新写入高速缓存,然后调用flushcache写入到文件。最后服务器会删除旧的Hlog文件,并开始给用户访问数据。 ? 因此,为了节省时间可以很少调用flushcache,但是这样会增加内存占用,而且在服务器重启的时候会延长很多时间。如果可以定期调用flushcache,缓存大小会控制在一个较低的水平,而且Hlog文件也会很快地重构,但是调用flushcache的时候会造成系统负载瞬间增加。 ? Hlog会被定期回滚,回滚的时候是按照时间备份文件,每当回滚的时候,系统会删除那些已经被写到文件的更新,回滚Hlog只会占用很少的时间,建议经常回滚以减少文件尺寸。 ? 分布式数据库体系结构小结 客户端以表格的形式读取数据 一张表是被划分成多个Hregion区域 Hregion是被Hregion服务器管理的,当客户端需要访问某行数据的时候,需要访问对应的Hregion服务器。 Hregions服务器里面有三种方式保存数据: Hmemcache高速缓存,保留是必威体育精装版写入的数据 Hlog记录文件,保留的是提交成功了,但未被写入文件的数据 Hstores文件,数据的物理存放形式。 Hbase主服务器Hmaster 每个Hregion服务器都会和主服务器Hmaster通讯,Hmaster的主要任务就是要告诉每个Hregion服务器它要维护哪些Hregion。 Hmaster服务器会和每个Hregion服务器保持一个长连接。如果这个连接超时或者断开,会导致: Hregion服务器自动重启; Hmaster认为Hregion已经死机,同时把它负责的Hregion分配到其它Hregion服务器。 和Google的Bigtable不同的是,当Bigtable的TabletServer和主服务器通讯中断的情况下,它仍然能提供服务。而Hbase不能这么做,因为Hbase没有Bigtable那样额外的加锁系统,Bigtable是由主服务器管理TabletServer,同时加锁服务器提供数据访问的,而Hbase只有唯一一个接入点,就是Hmaster服务器。 ? Hbase主服务器Hmaster ?主服务器维护子表服务器在任何时刻的活跃标记 ?每个子表都由它所属的表格名字、首关键字和region Id来标识 ?例如,表名:hbaserepository 首关键字:w-nk5YNZ8TBb2uWFIRJo7V== region Id:689060145591-4043 它的唯一标识符就是: hbaserepository, w-nk5YNZ8TBb2uWFIRJo7V==,6890601455914043 子表服务器 ?客户端进行更新操作时,首先连接相关的子表服务器,之后向子表提交变更。提交的数据被添加到子表的HMemcache和子表服务器的HLog ?提供服务时,子表首先查询缓存HMemcache。若没有,再查找磁盘上的HStore ?HRegion.flushcache()定期被调用,把HMemcache中的内容写到磁盘上HStore文件里 . ?调用flushcache()方法越少,工作量就越少,而HMemcache就要占用更多的内存空间,启动时HLog文件也需要更多的时间来恢复数据。而调用flushcache()越频繁,HMemcache占用内存就越少,HLog文件恢复数据时也就越快 . ?调用HSpact()方法来实现多个HStoreFile合并成一个HStoreFile ?HRegion.closeAndMerge()可把两个子表合并成一个;HRegion. closeAndSplit(),可将子表分割为两个新子表 元数据表 Hbase和传统关系数据库的对比分析 Hbase是大大不同于以前的关系数据库,它是按照Bigtable来开发的,Bigtable是一个稀疏的,分布的,持续多维度的排序映射数组。 Hbase就是这样一个基于列模式的映射数据库,它只能表示很简单的键-数据的映射关系,它大大简化了传统的关系数据库。 Hbase和传统关系数据库的不同主要体现在: 1. 数据类型 Hbase只有简单的字符串类型,所有类型都是交由用户自

文档评论(0)

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

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

1亿VIP精品文档

相关文档