您的当前位置:首页正文

林子雨大数据技术原理及应用第五章课后作业答案

来源:图艺博知识网
林⼦⾬⼤数据技术原理及应⽤第五章课后作业答案

⼤数据技术与原理第五章课后作业黎狸

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

NoSQL是⼀种不同于关系数据库的数据库管理系统设计⽅式,是对⾮关系型数据库的⼀类统称,它采⽤的数据模型并⾮传统关系数据库的关系模型,⽽是类似键/值、列族、⽂档等⾮关系模型。2. 试述关系数据库在哪些⽅⾯⽆法满⾜Web 2.0应⽤的需求。主要表现在以下⼏个⽅⾯:(1)⽆法满⾜海量数据的管理需求(2)⽆法满⾜数据⾼并发的需求

(3)⽆法满⾜⾼可扩展性和⾼可⽤性的需求

3. 为什么说关系数据库的⼀些关键特性在Web 2.0时代成为“鸡肋”?

(1)Web2.0⽹站系统通常不要求严格的数据库事务(2)Web2.0不要求严格的读写实时性(3)Web2.0通常不包含⼤量复杂的SQL查询4. 请⽐较NoSQL数据库和关系数据库的优缺点。①关系数据库。

优点:以完善得关系理论代数作为基础,有严格得标准,⽀持事务ACID四性,⾼校查询,技术成熟,专业公司得技术⽀持;缺点:可扩展性较差、⽆法较好⽀持海量数据存储、数据模型过于死板、⽆法较好⽀持Web2.0应⽤、事务机制影响系统整体性能。

②NoSQL数据库。

优点:⽀持超⼤规模数据存储数据模型灵活⽀持Web2.0,具有强⼤得横向扩展能⼒

缺点:缺乏数学理论基础,复杂查询性能不⾼。不能实现事务强⼀致性,很难实现数据完整性,技术尚不成熟,缺乏专业的技术⽀持,维护较困难。

5. 试述NoSQL数据库的四⼤类型。

答:键值数据库、列族数据库、⽂档数据库和图数据库

6. 试述键值数据库、列族数据库、⽂档数据库和图形数据库的适⽤场合和优缺点。

7. 试述CAP理论的具体含义。

C(Consistency):⼀致性,是指任何⼀个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是⼀致的,或者说,所有节点在同⼀时间具有相同的数据

A:(Availability):可⽤性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;

P(Tolerance of Network Partition):分区容忍性,是指当出现⽹络分区

的情况时(即系统中的⼀部分节点⽆法和其他节点进⾏通信),分离的系统也能够正常运⾏,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。

8. 请举例说明不同产品在设计时是如何运⽤CAP理论的。

①CA。强调⼀致性(C)和可⽤性(A),放弃分区容忍性(P),最简单的做法是把

所有与事务相关的内容都放到同⼀台机器上。这种做法会严重影响系统的可扩展性。例如传统的关系数据库( MySQL、SQLServer和PostgreSQL ) 。

②CP。强调⼀致性(C)和分区容忍性(P),放弃可⽤性(A),当出现⽹络分区的

情况时,受影响的服务需要等待数据⼀致,因此在等待期间就⽆法对外提供服务。例如Neo4J、BigTable和HBase等NoSQL数据库。

③AP。强调可⽤性(A)和分区容忍性(P),放弃-致性(C),允许系统返回不⼀

致的数据。这对于许多Web 2.0 ⽹站⽽⾔是可⾏的,这些⽹站的⽤户⾸先关注的是⽹站服务是否可⽤,当⽤户需要发布⼀条微博时,必须能够⽴即发布,否则,⽤户就会放弃使⽤,但是,这条微博发布后什么时候能够被其他⽤户读取到,则不是⾮常重要的问题,不会影响到⽤户体验。

因此,对于Web 2.0 ⽹站⽽⾔,可⽤性与分区容忍性优先级要⾼于数据-致性,⽹站⼀般会尽量朝着AP的⽅向设计。当然,在采⽤AP设计时,也可以不完全放弃⼀致性,转⽽采⽤最终⼀致性。例如Dynamo、Riak 、CouchDB、Cassandra 等NoSQL数据库。

9. 试述数据库的ACID四性的含义。①原⼦性(Atomicity)

指事务必须是原⼦⼯作单元,对于其数据修改,要么全都执⾏,要么全都不执⾏。②⼀致性(consistency)

指事务在完成时,必须使所有的数据都保持⼀致状态。③隔离性(Isolation)

指并发事务所做的修改必须与其他并发事务所做的修改隔离。④持久性(Durability)

指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将⼀直保持。10. 试述BASE的具体含义。

BASE的基本含义是基本可⽤(Basically Availble)、软状态(Soft-state)和最终⼀致性(Eventual consistency)11. 请解释软状态、⽆状态、硬状态的具体含义。

答:“软状态(soft-state)”是与“硬状态(hard-state)”相对应的⼀种提法。

数据库保存的数据是“硬状态”时,可以保证数据⼀致性,即保证数据⼀直是正确的。“软状态”是指状态可以有⼀段时间不同步,具有⼀定的滞后性。12. 什么是最终⼀致性?

最终⼀致性根据更新数据后各进程访问到数据的时间和⽅式的不同,⼜可以区分为:①会话⼀致性:它把访问存储系统的进程放到会话(session)的上下⽂

中,只要会话还存在,系统就保证“读⼰之所写”⼀致性。如果由于某些失败情形令会话终⽌,就要建⽴新的会话,⽽且系统保证不会延续到新的会话;

②单调写⼀致性:系统保证来⾃同⼀个进程的写操作顺序执⾏。系统必须保证这种程度的⼀致性,否则就⾮常难以编程了

③单调读⼀致性:如果进程已经看到过数据对象的某个值,那么任何后续访问都不会返回在那个值之前的值

④因果⼀致性:如果进程A通知进程B它已更新了⼀个数据项,那么进

程B的后续访问将获得A写⼊的最新值。⽽与进程A⽆因果关系的进程C 的访问,仍然遵守⼀般的最终⼀致性规则⑤“读⼰之所写”⼀致性:可以视为因果⼀致性的⼀个特例。当进程A

⾃⼰执⾏⼀个更新操作之后,它⾃⼰总是可以访问到更新过的值,绝不会看到旧值。13. 试述不⼀致性窗⼝的含义。

所有后续的访问都可以读取到操作OP写⼊的最新值。从OP操作完成到后续访问可以最终读取到OP写⼊的最新值,这之间的时间间隔称为“不⼀致性窗⼝”。

14. 最终⼀致性根据更新数据后各进程访问到数据的时间和⽅式的不同,⼜可以分为哪些不同类型的⼀致性?

会话⼀致性、单调写⼀致性、单调写⼀致性、因果⼀致性和“读⼰之所写”⼀致性。

15. 什么是NewSQL数据库?

NewSQL是对各种新的可扩展、⾼性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能⼒,还保持了传统数据库⽀持ACID和SQL 特性。

16. 试述NewSQL数据库与传统的关系数据库以及NoSQL数据库的区别。

NewSQL数据库不经具有NoSQL对海量数据的存储管理能⼒,还保持了传统数据库⽀持ACID和SQL特性。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top