第一章————————————————————
1.网络存储方式不包括()。A.DAS B.NAS C.ANS D.SAN
DAS:直连式存储
NAS:网络接入式存储
SAN:存储区域网络
2.大数据的特征不包括()。A.大量化 B.价值化 C.整体化 D.快速化
3.大数据的特征不包括()。A.Volumn B.Vague C.Variety D.Velocity
4.对比关系型数据库,关于NoSQL说法错误的是()。A.采用非关系的数据模型 B.弱化模式或表结构、弱化完整性约束、弱化甚至取消事务机制 C.无法支持,或不能完整的支持SQL语句 D.不能实现强大的分布式部署能力
5.下面不属于NoSQL数据库的特点的是()。A.开源 B.支持SQL C.分布式 D.非关系型
6.下面()不属于关系型数据库的特点。A.实体和实体间的联系都可以通过关系的方式来表示 B.关系模型需要满足实体完整性和参照完整性约束 C.可以通过SQL语句实现数据定义和操作 D.不支持事务和ACID一致性等特性
7.下面不属于数据操作语言的是()。A.定义 B.增加 C.查询 D.删除
大数据的特征:
○大容量(Volume)
○多样化(Variety)
○有价值(Value)
○高速率(Velocity)
关系型数据库和NoSQL在设计上的区别:
关系型数据库:
高效的存储数据
支持多用户对数据的并发控制
NoSQL:
用来应对数据的爆发式增长,实现横向扩展
https://www.cnblogs.com/sunzhiqi/p/10869655.html
NoSQL数据库的技术特点:
1.非关系型的存储模式。
2.习惯的统称,并非严谨的定义。
3.和关系型数据管理系统有不同的侧重点。
4.通过牺牲事务、一致性和SQL语句等重要机制,来换取更好的分布式部署特性。
NoSQL在大数据体系当中的作用:
○数据存储工具
○数据管理工具
○数据查询工具
○NoSQL一般不会提供实时数据采集功能(需要借助其他的工具写入数据库),也无法提供复杂的数据预处理、数据分析等功能,无法提供完整的数据可视化功能。
第二章————————————————————
1.NoSQL的主要存储模式不包括()。A.键值对存储模式 B.列存储模式 C.文件存储模式 D.图存储模式
2.BASE不包括()。A.基本可用 B.软状态 C.强一致性 D.最终一致性
3.CAP理论不包括()。A.Consistency(一致性) B.Atomicity(原子性) C.Availability(可用性) D.Partition tolerance(分区容错性)
4.()不属于分布式数据管理的特点。A.数据分片 B.数据多副本 C.一次写入多次读取 D.读写分离
读写分离:1.其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。2.一个主从同步集群,通常被称为是一个“分组”。
5.分布式部署关系型数据库时,读写分离(主从集群)不包括()。A.所有对数据库的修改都通过主服务器 B.从服务器分担主服务器读服务器请求 C.解决了写数据的瓶颈 D.主从服务器之间可能存在暂时的数据不一致的情况
读写分离是用来解决数据库的读性能瓶颈的。
6.预防死锁的主要方法包括:一是(),即在设计阶段规定所有的事务都按相同的顺序来封锁表;一是(),即当一个事物加锁时间过长时就判断出现死锁。A.顺序法 一次封锁法 B.超时法 等待图法 C.顺序法 超时法 D.超时法 顺序法
7.关系型数据库事务机制中的ACID不包括()。A.连续性(Continuance) B.隔离性(Isolation) C.持久性(Durability)
关系型数据库事务机制中的ACID:
事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:
1、A (Atomicity) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。 比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。
2、C (Consistency) 一致性 一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。 例如现有完整性约束a存款+b存款=2000,如果一个事务改变了a存款,那么必须得改变b存款,使得事务结束后依然满足a存款+b存款=2000,否则事务失败。
3、I (Isolation) 隔离性 所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。 比如现在有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的。
即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。(串行化)
4、D (Durability) 持久性 持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
8.下面关于NoSQL数据库完整性约束不正确的是()。A.域完整性一般较弱,或不支持 B.不能存在主键相同的行,或内容相同但时间戳不同的行 C.一般不提供参照完整性,或者外键 D.用户定义完整性靠应用程序支持
9.与关系模型相比,关于NoSQL不正确的是()。A.NoSQL中可能没有明确的结构 B.列可能是复合型的 C.列中的内容和类型可能是随意的、无定义的 D.会为空值留出存储空间
1.CAP理论中,NoSQL数据库需要在C和P之间进行权衡。F
C:Consistency(强一致性)
A:Availability(可用性)
P:Partition tolerance(分区容错性)
我们只能在一致性和可用性之间进行权衡
2.NoSQL数据库能够满足CAP三个特性。F
3.一次写入多次读取不是分布式数据管理的特点。F
4.ACID是NoSQL数据库的基本要求。F
5.NoSQL一般不提供参照完整性,或者外键,因此一般也不支持跨表的关联查询。T
6.NoSQL不会为空值留出存储空间,可能很难直接插入数值。T
7.NoSQL由明确的表结构。F
BASE原理:
基本可用(Basically Available):基本可用指分布式系统在出现故障时,系统允许损失部分可用性,即保证核心功能或者当前最重要功能可用。对于用户来说,他们当前最关注的功能或者最常用的功能的可用性将会获得保证,但是其他功能会被削弱。
软状态(Soft-state):软状态允许系统数据存在中间状态,但不会影响系统的整体可用性,即允许不同节点的副本之间存在暂时的不一致情况。
最终一致性(Eventually Consistent):最终一致性要求系统中数据副本最终能够一致,而不需要实时保证数据副本一致。例如,银行系统中的非实时转账操作,允许 24 小时内用户账户的状态在转账前后是不一致的,但 24 小时后账户数据必须正确。
最终一致性是 BASE 原理的核心,也是 NoSQL 数据库的主要特点,通过弱化一致性,提高系统的可伸缩性、可靠性和可用性。而且对于大多数 Web 应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是多数分布式数据库产品的方向。
一丶在数据一致性问题上,ACID和BASE差别是什么?分别适合哪种场景
ACID的一致性:强调(一个或多个)事务前后,数据的状态(约束、完整性)都是有效的。
CAP的一致性:强调多个副本是状态一致、同步更新的。
BASE的一致性:和ACID的相近,但是强调弱一致性。
二丶什么是CAP原理?CAP原理是否适用于单机环境?
C:Consistency(强一致性)
A:Availability(可用性)
P:Partition tolerance(分区容错性)
CAP理论是指在分布式系统中,CAP三个特性不可兼得,只能同时满足两个。
不适用于单机环境
三布隆过滤器的优缺点是什么?如何降低布隆过滤器的误报率?
空间占用低,检索速度快,缺点是存在一定的误报率,当布隆过滤器认为某元素存在于集合时,该元素可能不存在,当布隆过滤器认为该元素不存在与集合时,该元素一定不存在。
降低误报率:
采取多个独立的哈希算法同时进行映射
增大二进制向量的大小
第三章——————————————————————
1.HDFS的角色不包括()A.Masternode B.Namenode C.Datanode D.Secondary Namenode
2.Hadoop核心组件不包括()。A.HDFS B.HBase C.YARN D.MapReduce
1.Hive不属于NoSQL数据库。T
2.HDFS在数据读写时,对客户提供强一致性保障,在副本复制过程中采用最终一致性方式。T
3.HDFS Namenode的fsimage文件启动加载后,一直保持只读状态,不能直接在内存或硬盘修改。T
4.HDFS的Namenode和DataNode不能在一个物理节点上。F
5.Hadoop核心组件包括Hbase。F
6.HDFS属于NoSQL数据库。F
○hbase为了防止小文件过多,以保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction。
在hbase中主要存在两种类型的compaction合并:小合并和大合并
https://www.cnblogs.com/bigdatalaoliu/p/14053296.html
MongDB | CouchDB |
○采用C++编写 | ○采用Erlang语言编写(最初也是C++) |
○自定义了更高效的,基于TCP|IP的二进制格式协议 | ○更多地采用通用技术,并考虑和ASF其他模块的配合(在网络传输上,采用了通用的HTTP/REST接口) |
○支持动态查询,查询时不需要先建立索引 | ○不支持动态查询,必须先为查询模式建立视图 |
○MongDB只支持主从复制,其一致性更容易维护 | ○支持多主节点间的数据复制(理论上都支持写入操作),并且支持类似Dynamo的MVCC多版本一致性协调机制 |
图数据库是专门描述节点与关系,关系更明确也更自由,不存在外键等约束条件
举例:Neo4j
Redis本质为环形结构的分布式集群部署。支持单机部署和分布式部署,在集群环境支持水平分片机制。使用类似于dynamo的环形架构(课本231图片),没有使用一致性哈希机制,引入了哈希槽的概念。
数据多副本方面:支持主从复制机制,和MongoDB相似,一个主节点可以对应多个从节点,当主节点发生故障时,可以从多个从节点中选举一个新的主节点。