大数据技术与原理第五章课后作业
                                黎狸
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四性,高校查询,技术成熟,专业公司得技术支持;
hbase属于什么类型数据库缺点:可扩展性较差、无法较好支持海量数据存储、数据模型过于死板、无法较好支持Web2.0应用、事务机制影响系统整体性能。
②NoSQL数据库。
优点:支持超大规模数据存储数据模型灵活支持Web2.0,具有强大得横向扩展能力
缺点:缺乏数学理论基础,复杂查询性能不高。不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业的技术支持,维护较困难。
5.试述NoSQL数据库的四大类型。
答:键值数据库、列族数据库、文档数据库和图数据库
6.试述键值数据库、列族数据库、文档数据库和图形数据库的适用场合和优缺点。
数据库
适用场合
优点
缺点
键值数据库
通过键而是通过值来查的业务
扩展性好,灵活性好,大量写操作时性能高
无法存储结构化信息,条件查询效率较低
列族数据库
不需要ACID事务支持的情形
查速度快,可扩展性强,容易进行分布式扩展,复杂性低
功能较少,大都不支持强事务一致性
文档数据库
只在相同的文档上添加事务
性能好(高并发),灵活性高,复杂性低,数据结构灵活;提供嵌入式文档功能,将经常查询的数据存储在同一个文档中;既可以根据键来构建索引,也可以根据内容构建索引 
缺乏统一的查询语法 
图形数据库
具有高度相互关联关系的数据
灵活性高,支持复杂的图形算法,可用于构建复杂的关系图谱
复杂性高,只能支持一定的数据规模
 
7.试述CAP理论的具体含义。
C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据
A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;
P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
8.请举例说明不同产品在设计时是如何运用CAP理论的。
1CA。强调一致性(C)和可用性(A),放弃分区容忍性(P),最简单的做法是把所有与事务相关的
内容都放到同一台机器 上。这种做法会严重影响系统的可扩展性。例如传统的关系数据库( MySQL、SQL Server和PostgreSQL )
2CP。强调一致性(C)和分区容忍性(P),放弃可用性(A),当出现网络分区的情况时,受影响的服务需要等待数据一致,因此在等待期间就无法对外提供服务。例如Neo4J、BigTable和HBase等NoSQL数据库。
3AP。强调可用性(A)和分区容忍性(P),放弃-致性(C),允许系统返回不一致的数据。这对于许多Web 2.0 网站而言是可行的,这些网站的用户首先关注的是网站服务是否可用,当用户需要发布一条微博时,必须能够立即发布,否则,用户就会放弃使用,但是,这条微博发布后什么时候能够被其他用户读取到,则不是非常重要的问题,不会影响到用户体验。因此,对于Web 2.0 网站而言,可用性与分区容忍性优先级要高于数据-致性,网站一般会尽量朝着AP的方向设计。当然,在采用AP设计时,也可以不完全放弃一致性,转而采用最终一致性。例如Dynamo、Riak 、CouchDB、Cassandra 等NoSQL数据库。                 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。