大数据技术原理与应用 林子雨版 课后习题答案 联系客服

发布时间 : 星期一 文章大数据技术原理与应用 林子雨版 课后习题答案更新完毕开始阅读

egion分裂或合并后,负责重新调整Region得分布;对发生故障失效得Region服务器上得Region进行迁移 (4)Region服务器

Region服务器就是HBase中最核心得模块,负责维护分配给自己得Region,并响应用户得读写请求

14. 请阐述Region服务器向HDFS文件系统中读写数据得基本原理

Region服务器内部管理一系列Region对象与一个HLog文件,其中,HLog就是磁盘上面得记录文件,它记录着所有得更新操作。每个Region对象又就是由多个Store组成得,每个Store对象了表中得一个列族得存储。每个Store又包含了MemStore与若干个StoreFile,其中,MemStore就是在内存中得缓存.

15. 试述HStore得工作原理

每个Store对应了表中得一个列族得存储。每个Store包括一个MenStore缓存与若干个StoreFile文件。MenStore就是排序得内存缓冲区,当用户写入数据时,系统首先把数据放入MenStore缓存,当MemStore缓存满时,就会刷新到磁盘中得一个StoreFile文件中,当单个StoreFile文件大小超过一定阈值时,就会触发文件分裂操作。 16. 试述HLog得工作原理

答:HBase系统为每个Region服务器配置了一个HLog文件,它就是一种预写式日志(Write Ahead Log),用户更新数据必须首先写入日志后,才能写入

MemStore缓存,并且,直到MemStore缓存内容对应得日志已经写入磁盘,该缓存内容才能被刷写到磁盘。

17. 在HBase中,每个Region服务器维护一个HLog,而不就是为每个Region都单独维护一个HLog.请说明这种做法得优缺点。

优点: 多个Region对象得更新操作所发生得日志修改,只需要不断把日志记录追加到单个日志文件中,不需要同时打开、写入到多个日志文件中。

缺点:如果一个Region服务器发生故障,为了恢复其上次得Region对象,需要将Region服务器上得对象,需要将Region服务器上得HLog按照其所属得Region对象进行拆分,然后分发到其她Region服务器上执行恢复操作.

18. 当一台Region服务器意外终止时,Master如何发现这种意外终止情况?为了恢复这台发生意外得Region服务器上得Region,Master应该做出哪些处理(包括如何使用HLog进行恢复)?

Zookeeper会实时监测每个Region服务器得状态,当某个Region服务器发生故障时,Zookeeper会通知Master.

Master首先会处理该故障Region服务器上面遗留得HLog文件,这个遗留得HLog文件中包含了来自多个Region对象得日志记录.

系统会根据每条日志记录所属得Region对象对HLog数据进行拆分,分别放到相应Region对象得目录下,然后,再将失效得Region重新分配到可用得

Region服务器中,并把与该Region对象相关得HLog日志记录也发送给相应得Region服务器。

Region服务器领取到分配给自己得Region对象以及与之相关得HLog日志记录以后,会重新做一遍日志记录中得各种操作,把日志记录中得数据写入到MemStore缓存中,然后,刷新到磁盘得StoreFile文件中,完成数据恢复.

第五章

1. 如何准确理解NoSQL得含义?

NoSQL就是一种不同于关系数据库得数据库管理系统设计方式,就是对非关系型数据库得一类统称,它采用得数据模型并非传统关系数据库得关系模型,而就是类似键/值、列族、文档等非关系模型。

2. 试述关系数据库在哪些方面无法满族Web2、0应用得需求。 ?关系数据库已经无法满足Web2、0得需求。主要表现在以下几个方面: (1)无法满足海量数据得管理需求 (2)无法满足数据高并发得需求

(3)无法满足高可扩展性与高可用性得需求 3. 请比较NoSQL数据库与关系数据库得优缺点.

比较标准 数据库原理 RDBMS 完全支持 NoSQL 部分支持 备注 RDBMS有关系代数理论作为基础 NoSQL没有统一得理论基础 数据规模 大 超大 RDBMS很难实现横向扩展,纵向扩展得空间也比较有限,性能会随着数据规模得增大而降低 NoSQL可以很容易通过添加更多设备来支持更大规模得数据 数据库模式 固定 灵活 RDBMS需要定义数据库模式,严格遵守数据定义与相关约束条件 NoSQL不存在数据库模式,可以自由灵活定义并存储各种不同类型得数据 查询效率 快 可以实现高效得简单查询,但就是不具备高度结构化查询等特性,复杂查询得性能不尽人意 RDBMS借助于索引机制可以实现快速查询(包括记录查询与范围查询) 很多NoSQL数据库没有面向复杂查询得索引,虽然NoSQL可以使用MapReduce来加速查询,但就是,在复杂查询方面得性能仍然不如RDBMS 一致性 强一致性 弱一致性 RDBMS严格遵守事务ACID模型,可以保证事务强一致性 很多NoSQL数据库放