前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据技术原理与应用之【NoSQL数据库】习题

大数据技术原理与应用之【NoSQL数据库】习题

作者头像
大数据梦想家
发布2021-01-26 11:02:03
9420
发布2021-01-26 11:02:03
举报
文章被收录于专栏:大数据成长之路
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数据库放松了对事务ACID四性的要求,而是遵守BASE模型,只能保证最终一致性

数据完整性

容易实现

很难实现

任何一个RDBMS都可以很容易实现数据完整性,比如通过主键或者非空约束来实现实体完整性,通过主键、外键来实现参照完整性,通过约束或者触发器来实现用户自定义完整性。但是,在NoSQL数据库却无法实现

拓展性

一般

RDBMS很难实现横向扩展,纵向扩展的空间也比较有限。NoSQL在设计之初就充分考虑了横向扩展的需求,可以很容易通过添加廉价设备实现扩展

可用性

很好

RDBMS在任何时候都以保证数据一致性为优先目标,其次才是优化系统性能,随着数据规模的增大,RDBMS为了保证严格的一致性,只能提供相对较弱的可用性。大多数NoSQL都能提供较高的可用性

标准化

RDBMS已经标准化(SQL),NoSQL还没有行业标准,不同的NoSQL数据库都有自己的查询语言,很难规范应用程序接口。StoneBraker认为:NoSQL缺乏统一查询语言,将会拖慢NoSQL发展

技术支持

RDBMS经过几十年的发展,已经非常成熟,Oracle等大型厂商都可以提供很好的技术支持。NoSQL在技术支持方面仍然处于起步阶段,还不成熟,缺乏有力的技术支持

可维护性

复杂

复杂

RDBMS需要专门的数据库管理员(DBA)维护。NoSQL数据库虽然没有DBMS复杂,也难以维护。

4.试述NoSQL数据库的四大类型

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

5.试述键值数据库、列族数据库、文档数据库和图数据库的适用场合和优缺点。

数据库

适用场合

优点

缺点

键值数据库

通过键而不是通过值来查的业务

扩展性好,灵活性好,大量写操作时性能高

无法存储结构化信息,条件查询效率较低

列族数据库

不需要ACID事务支持的情形

查找速度快,可扩展性强,容易进行分布式扩展,复杂性低

功能较少,大都不支持强事务一致性

文档数据库

只在相同的文档上添加事务

性能好(高并发),灵活性高,复杂性低,数据结构灵活。提供嵌入式文档功能,将经常查询的数据存储在同一个文档中。既可以根据键来构建索引,也可以根据内容构建索引

缺乏统一的查询语法

图形数据库

具有高度相互关联关系的数据

灵活性高,支持复杂的图形算法,可用于构建复杂的关系图谱

复杂性高,只能支持一定的数据规模

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

答:所谓的CAP指的是:

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

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

P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。

7.试述数据库的ACID四性的含义

1.原子性(Atomicity)

指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。

2.一致性(consistency)

指事务在完成时,必须使所有的数据都保持一致状态。

3.隔离性(Isolation) 指并发事务所做的修改必须与其他并发事务所做的修改隔离。

4.持久性(Durability) 指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。

8.试述BASE的具体含义

BASE的基本含义是基本可用(Basically Availble)、软状态(Soft-state)和最终一致性(Eventual consistency)

9.请解释软状态、无状态、硬状态的具体含义。

“软状态(soft-state)”是与“硬状态(hard-state)”相对应的一种提法。数据库保存的数据是“硬状态”时,可以保证数据一致性,即保证数据一直是正确的。“软状态”是指状态可以有一段时间不同步,具有一定的滞后性。

10.什么是最终一致性?

最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又可以区分为:

  • 会话一致性:它把访问存储系统的进程放到会话(session)的上下文中,只要会话还存在,系统就保证“读己之所写”一致性。如果由于某些失败情形令会话终止,就要建立新的会话,而且系统保证不会延续到新的会话;
  • 单调写一致性:系统保证来自同一个进程的写操作顺序执行。系统必须保证这种程度的一致性,否则就非常难以编程了
  • 单调读一致性:如果进程已经看到过数据对象的某个值,那么任何后续访问都不会返回在那个值之前的值
  • “读己之所写”一致性:可以视为因果一致性的一个特例。当进程A自己执行一个更新操作之后,它自己总是可以访问到更新过的值,绝不会看到旧值。
11.试述不一致性窗口的含义

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

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

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

13.什么是NewSQL数据库?

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.如何准确理解NoSQL的含义?
  • 2.试述关系数据库在哪些方面无法满族Web2.0应用的需求。
  • 3.请比较NoSQL数据库和关系数据库的优缺点。
  • 4.试述NoSQL数据库的四大类型
  • 5.试述键值数据库、列族数据库、文档数据库和图数据库的适用场合和优缺点。
  • 6.试述CAP理论的具体含义。
  • 7.试述数据库的ACID四性的含义
  • 8.试述BASE的具体含义
  • 9.请解释软状态、无状态、硬状态的具体含义。
  • 10.什么是最终一致性?
  • 11.试述不一致性窗口的含义
  • 12.最终一致性根据更新数据后各进程访问到数据的时间和方式的不同,又可以分为哪些不同类型的一致性?
  • 13.什么是NewSQL数据库?
相关产品与服务
数据库管理
数据库管理(Database Management Center,DMC)是一个高效,安全,可靠的数据库一站式管理平台。DMC 提供可视化的库管理、实例会话管理、SQL 窗口、SQL 安全审计、SQL 变更审批、实时监控、操作审计等数据库管理能力,集成诊断优化和数据可视化分析能力,从而简化和规范数据库管理操作、降低数据库运维门槛、提升运维效率。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档