数据库系统原理及MySQL应用教程(第2版)
课后习题参考答案
第19章 非关系型数据库—NoSQL
1.关系型数据库有哪些不足?
(1)大量数据的写入处理存在困难
(2)对有数据更新的表做索引或表结构(schema)变更处理不利
(3)字段不固定时应用存在缺陷
(4)对简单查询需要快速返回结果的处理响应慢
2.选用NoSQL有哪些原则?NoSQL有哪五个方面的优势?
当需要弥补关系型数据库的不足时,使用NoSQL。NoSQL具有如下优势:
(1)灵活的可扩展性
(2)轻松应对海量数据
(3)维护简单
(4)经济
(5)灵活的数据模型
3.NoSQL数据库的类型有什么?
NoSQL的数据库类型最主要以下三种:
(1)键值(Key/Value)存储的数据库:时最常见的NoSQL数据库
(2)面向文档的数据库:MongoDB和CouchDB属于这种类型
(3)面向列的数据库:Cassandra、Hbase属于这种类型
4.键值存储的保存方式有哪些?
(1)临时性:“数据有可能丢失”,Memcached属于这种类型
(2)永久性:“数据不会丢失”,Tokyo Tyrant、Flare属于这种类型
(3)两种兼具型:临时性和永久性兼具,集合了临时性键值存储和永久性键值存储的有点,Redis属于这种类型
5.面向文档的数据库的特点是什么?
(1)不需要定义表结构:即使不定义表结构,也可以像定义了表结构一样使用
(2)可以利用复杂的查询条件:可以通过复杂的查询条件来获取数据
7.CAP理论什么?C、A、P分别表示什么?
CAP理论是NoSQL数据库的基础
C:强一致性(Consistency):系统在执行过某些操作后仍处于一致的状态
A:可用性(Availability):每一个操作总是能够在一定时间内返回结果
P:分区容错性(Partition Tolerance):系统在存在网络分区的情况仍然可以接受请求
8.常见的主流NoSQL数据库有哪些,各有什么优缺点?
常见的主流NoSQL数据库有:Hbase、Redis、MongoDB
Hbase的优缺点:
优势
(1)存储容量大,一个表可以容纳上亿行,上百万列;
(2)可通过版本进行检索,能搜到所需的历史版本数据;
(3)负载高时,可通过简单的添加机器来实现水平切分扩展,跟Hadoop的无缝集成保障了其数据可靠性(HDFS)和海量数据分析的高性能(MapReduce);
(4)在第3点的基础上可有效避免单点故障的发生。
缺点
(1)基于Java语言实现及Hadoop架构意味着其API更适用于Java项目;
(2)node开发环境下所需依赖项较多、配置麻烦(或不知如何配置,如持久化配置),缺乏文档;
(3)占用内存很大,且鉴于建立在为批量分析而优化的HDFS上,导致读取性能不高;
(4)API相比其它 NoSql 的相对笨拙
Redis的优缺点:
优势
(1)非常丰富的数据结构;
(2)Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断;
(3)数据存在内存中,读写非常的高速,可以达到10w/s的频率。
缺点
(1)Redis3.0后才出来官方的集方案,但仍存在一些架构上的问题(出处);
(2)持久化功能体验不佳——通过快照方法实现的话,需要每隔一段时间将整个数据库的数据写到磁盘上,代价非常高;而aof方法只追踪变化的数据,类似于mysql的binlog方法,但追加log可能过大,同时所有操作均要重新执行一遍,恢复速度慢;
(3)由于是内存数据库,所以,单台机器,存储的数据量,跟机器本身的内存大小。虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。
MongoDB的优缺点:
优势
(1)强大的自动化 shading 功能(更多戳这里);
(2)全索引支持,查询非常高效;
(3)面向文档(BSON)存储,数据模式简单而强大。
(4)支持动态查询,查询指令也使用JSON形式的标记,可轻易查询文档中内嵌的对象及
数组。
(5)支持 javascript 表达式查询,可在服务器端执行任意的 javascript函数。
缺点
(1)单个文档大小限制为16M,32位系统上,不支持大于2.5G的数据;
(2)对内存要求比较大,至少要保证热数据(索引,数据及系统其它开销)都能装进内存;
(3)非事务机制,无法保证事件的原子性。
9.MongoDB是一种NoSQL数据库,具体地说,是(B)存储数据库。
A. 键值 B. 文档 C. 图形 D. XML
10.以下NoSQL数据库中,(B)是一种高性能的分布式内存对象缓存数据库,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度,提高可扩展性。
A. MongoDB B. Memcached C. Neo4j D. Hbaseredis是nosql数据库吗
11.CAP理论是NoSql理论的基础,下列性质不属于CAP的是( B)。
A. 分区容错性 B. 原子性 C. 可用性 D. 一致性
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论