一、概念
1.特点:
(1)灵活的可扩展性
(2)灵活的数据模型
(3)与云计算紧密融合
2.RDBMS(即关系数据库管理系统)和NoSQL各自的应用场景
(1)各有优缺点,彼此无法取代。
(2)关系数据库:电信、银行等领域的关键业务系统,需要保证强事务一致性。
(3)NoSQL数据库:互联网企业、传统企业的非关键业务(比如数据分析)。
3.CAP(重点)
(1)C(Consistency,一致性):所有节点在同一时间具有相同的数据。
(2)A:(Availability,可用性):是指快速获取数据,保证每个请求不管成功或者失败都有响应。
(3)P(Tolerance of Network Partition,分区容忍性):是指系统中任意信息的丢失或失败不会影响系统的继续运作。
(4)CAP理论告诉我们,一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个,
(5)CA:强调CA,放弃P。传统的关系数据库如MySQL,都采用了这种设计原则,所以扩展性都比较差。
(6)CP:强调CP,放弃A。当出现网络分区的情况时,受影响的服务需要等待数据一致,因此在等待期间就无法对外提供服务。
(7)AP:强调AP,放弃C。允许系统返回不一致的数据。
- BASE
基本含义是基本可用(Basically Availble)、软状态(Soft-state)和最终一致性(Eventual consistency):
数据库保存的数据是“硬状态”时,可以保证数据一致性,即保证数据一直是正确的。“软状态”是指状态可以有一段时间不同步,具有一定的滞后性。
5.NewSQL数据库:融合了传统关系数据库和NoSQL优点。
二、习题
大题
1.NoSQL与关系数据库的比较
2.对四种NoSQL数据库进行比较,分析它们的特点、优缺点及适用场景。(重点)
(1)键值数据库:
特点:适合存储简单的数据。
优点:高性能读写,扩展性好。
缺点:缺乏复杂查询支持,通常只能通过键来访问数据。
适用场景:缓存、会话存储。
(2)列族数据库:
特点:适合存储大量数据,且需要高效读取少量列的情况。
优点:高效的列存储、压缩和扫描功能。
缺点:不适合复杂的事务处理和实时数据更新。
适用场景:数据仓库、日志分析。
(3)文档数据库:
特点:适合存储半结构化数据。
优点:灵活的数据模型、支持丰富的查询操作。
缺点:性能可能受到文档大小和复杂查询的影响。
适用场景:内容管理系统、博客平台。
(4)图数据库:
特点:适合存储和处理关系型数据。
优点:高效处理复杂的关系查询。
缺点:不适合大规模数据存储,性能可能受到图的规模和复杂度影响。
适用场景:社交网络、推荐系统等。
判断题
RDBMS在任何时候都以保证数据一致性为优先目标,其次才是优化系统性能,随着数据规模的增大,RDBMS为了保证严格的一致性,只能提供相对较弱的可用性。( )
正确答案:正确
NoSQL以关系代数做理论基础。( )
正确答案:错误
这题,关系代数和NoSQL是同等概念。
NoSQL可以实现高效的简单查询,但是不具备高度结构化查询等特性,复杂查询的性能不尽人意。( )
正确答案:正确
RDBMS很难实现横向扩展,纵向扩展的空间也比较有限,性能会随着数据规模的增大而降低;NoSQL可以很容易通过添加更多设备来支持更大规模的数据。( )
正确答案:正确
BASE的基本含义是基本可用(Basically Available)、硬状态(Soft-state)和最终一致性(Eventual consistency)。( )
正确答案:错误
软状态
多选题
下列说法正确是()
A. “软状态”是指状态可以有一段时间不同步,具有一定的滞后性。
B. 基本可用,是指一个分布式系统的一部分发生问题变得不可用时,其他部分仍然可以正常使用,也就是允许分区失败的情形出现。
C. 如果进程A通知进程B它已更新了一个数据项,那么进程B的后续访问将获得A写入的最新值。而与进程A无因果关系的进程C的访问,仍然遵守一般的最终一致性规则。
D. 系统保证来自同一个进程的写操作顺序执行。系统必须保证这种程度的一致性。
正确答案:A, B, C, D
关系数据库的关键特性是()
A. 完善的事务机制
B. 高效的查询机制
C. 灵活的数据模型
D. 极高的可用性
正确答案:A, B
下列属于正确的是()
A. 一致性: 是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据。
B. 可用性: 是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应。
C. 分区容忍性: 是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
D. 一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中两个。
正确答案:A, B, C, D
NoSQL数据库具有以下特点()
A. 灵活的可扩展性
B. 灵活的数据模型
C. 与云计算紧密融合
D. 具有固定的数据库模式
正确答案:A, B, C
版权归原作者 lsy永烨 所有, 如有侵权,请联系我们删除。