预判老师的预判,复习用
选择题
大数据的特征不包括(C)。A.大量化 B.价值化 C.整体化 D.快速化
大数据的特征不包括(B)。A.Volumn B.Vague C.Variety D.Velocity
对比关系型数据库,关于NoSQL说法错误的是(D)。
A.采用非关系的数据模型
B.弱化模式或表结构、弱化完整性约束、弱化甚至取消事务机制
C.无法支持,或不能完整的支持SQL语句
D.不能实现强大的分布式部署能力
下面不属于NoSQL数据库的特点的是(B)。
A.开源
B.支持SQL
C.分布式
D.非关系型
下面(D)不属于关系型数据库的特点。
A.实体和实体间的联系都可以通过关系的方式来表示
B.关系模型需要满足实体完整性和参照完整性约束
C.可以通过SQL语句实现数据定义和操作
D.不支持事务和ACID一致性等特性
以下对NoSQL特点描述中,错误的是()。 C
A. 简单易部署,基本都是开源软件
B. 当插入数据时,不需要预先定义其模式
C. 支持SQL,用戸学习使用很方便
D. 数据存储不需要固定的表结构,通常也不存在连接操作
下面不属于数据操作语言的是()。
A.定义
B.增加
C.查询
D.删除
CAP 理论是 NoSql理论的基础,下列性质不属于 CAP 的是( )。B
A.分区容错性
B.原子性
C.可用性
D.一致性
MongoDB是一种NoSQL数据库,具体地说,是( )存储数据库。B
A.键值
B.文档
C.图形
D.XML
NoSQL的主要存储模式不包括(C)。A.键值对存储模式 B.列存储模式 C.文件存储模式 D.图存储模式
BASE不包括(C)。A.基本可用 B.软状态 C.强一致性 D.最终一致性
CAP理论不包括(B)。A.Consistency(一致性) B.Atomicity(原子性) C.Availability(可用性) D.Partition tolerance(分区容错性)
(D)不属于分布式数据管理的特点。A.数据分片 B.数据多副本 C.一次写入多次读取 D.读写分离
读写分离:1.其实就是将数据库分为了主从库,一个主库用于写数据,多个从库完成读数据的操作,主从库之间通过某种机制进行数据的同步,是一种常见的数据库架构。2.一个主从同步集群,通常被称为是一个“分组”。读写分离是用来解决数据库的读性能瓶颈的。
分布式部署关系型数据库时,读写分离(主从集群)不包括(C)。A.所有对数据库的修改都通过主服务器 B.从服务器分担主服务器读服务器请求 C.解决了写数据的瓶颈 D.主从服务器之间可能存在暂时的数据不一致的情况
关系型数据库事务机制中的ACID不包括(A)。A.连续性(Continuance) B.隔离性(Isolation) C.持久性(Durability)
下面关于NoSQL数据库完整性约束不正确的是(B)。A.域完整性一般较弱,或不支持 B.不能存在主键相同的行,或内容相同但时间戳不同的行 C.一般不提供参照完整性,或者外键 D.用户定义完整性靠应用程序支持
与关系模型相比,关于NoSQL不正确的是(D)。A.NoSQL中可能没有明确的结构 B.列可能是复合型的 C.列中的内容和类型可能是随意的、无定义的 D.会为空值留出存储空间
HDFS的角色不包括(a)A.Masternode B.Namenode C.Datanode D.Secondary Namenode
Hadoop核心组件不包括(b)。A.HDFS B.HBase C.YARN D.MapReduce
下面对HBase的描述不正确的是(B)?A是一种NoSQL数据库 B.不是开源的 C.是分布式的 D.是面向列的
HBase虚拟分布式模式需要(C)个节点?A.最少3个 B.2 C.1 D.3
HBase分布式模式最好需要(D)个节点?A.最少3个 B.2 C.1 D.3
HBase依靠(C)存储底层数据。A.MapReduce B.Memory C.HDFS D.Hadoop
HBase依赖(C)提供消息通信机制。A.Chubby B.Socket C.Zookeeper D.RPC
HBase来源于哪篇文章?(B )A.BigTable B.BigTable C.MapReduce D.The Google File System.
HBase的逻辑节点不包括(C)。A.Regionmaster B.Master C.NameNode D.Zookeeper
当用户读写HBase数据库时,会首先在()寻找表和行键对应的分区。A.Region B.ZooKeeper C.Master D.RegionServer
当用户进行读写数据时,会根据需要读写的表和行键,通过如下顺序寻找该行键对应的分区:Zookeeper->META->Regionserver>Region
HBase不包括如下(D)分区方式。A.自动分区 B.预分区 C.手动拆分 D.固定分区
HFile数据格式中的Data字段用于(D)。A.存储数据的起点 B.存储数据块的起点 C.指定字段的长度 D.存储实际的KeyValue数据
Rowkey设计的原则,下列哪些选项的描述是不正确的?(A)A.本身是无序的 B.可以使用汉字 C.可以使用字符串 D.尽量保证越短越好
MongoDB采用(C)进行数据存储与编码传输。A.YAML B.XML C.BSON D.JSON
以下哪个不是MongoDB数据库的索引类型?(B)A.全文索引 B.时间索引 C.单键索引 D.地理位置索引
以下哪个不是MongoDB数据库在分片时需要的节点?(D) A.Config Server B.Mongos C.Shard D.Config Router
CouchDB与MongoDB比较,不正确的是(C)。
A.CouchDB支持多主节点间的数据复制,而MongoDB只支持主从复制
B.CouchDB采用通用JSON格式存储和传输数据
C.CouchDB支持动态查询,MongoDB不支持动态查询
D.CouchDB更多地采用通用技术,并考虑和ASF其他模块的配合
MongoDB的分片切分机制不包括(D)。A.哈希分片 B.升序分片 C.位置分片 D.随机分片
MongoDB数据库中基本单元为?(B)A.字段 B.文档 C.表格 D.集合
1.Neo4j采用(D)查询语言。A.Neo4j Query Language B.Structured Query Language C.Cassandra Query Language D.Cypher Query Language
2.Neo4j中CQL语法不支持的有(D)A.Match B.Delete C.Create D.Update
3.(B)数据库不是基于Java实现的。A.Neo4j B.MongoDB C.Cassandra D.Hbase
4.Redis采用的是(C)模式。A.列存储 B.图存储 C.键值对存储 D.文档存储
5.Neo4j中,下面(D)语句可以删除所有的节点和关系。
A.MATCH (n) MATCH (n)-[r]-(m) DELETE n, r,m
B.MATCH (n) MATCH (n)-[r]-() DELETE n, r
C.MATCH (n) OPTIONAL MATCH (n)-[r]-(m) DELETE n, r,m
D.MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n, r
6.关于Neo4j中节点(Nodes),关系(Relations),属性(Properties),标签(Labels)说法不正确的有(A)
A.关系连接实体对象(Entity),关系没有方向性
B.标签(Labels)是对实体对象(Entity)做的说明
C.属性(Properties)表示的是实体对象(Entity)中的属性
D.节点代表最终的实体对象
7.Neo4j采用的是(B)模式。A.文档存储 B.图存储 C.列存储 D.键值对存储
8.下列哪些场景不适合使用Neo4j.(A)A.数据检索 B.关系中的路径查找 C.电商里的物品推荐 D.强相关的社交网络
判断题
1.CAP理论中,NoSQL数据库需要在C和P之间进行权衡。F
2.NoSQL数据库能够满足CAP三个特性。F
3.一次写入多次读取不是分布式数据管理的特点。F
4.ACID是NoSQL数据库的基本要求。F
5.NoSQL一般不提供参照完整性,或者外键,因此一般也不支持跨表的关联查询。T
6.NoSQL不会为空值留出存储空间,可能很难直接插入数值。T
7.NoSQL由明确的表结构。F
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
1.MongoDB的主节点选举算法是Paxos算法。F
2.MongoDB中的一组文档称为“集合”,可以类比为传统数据库中的“数据库”。F
3.MongoDB支持复杂的数据结构,支持索引(包括二级索引和地理空间索引),支持聚合查询。T
4.MongoDB的集合是动态模式的,同一个集合里面的文档可以是各式各样的。T
5.BSON比JSON相比,检索速度更快,更节省空间。F
6.MongoDB采用副本集提供数据库的扩缩容能力。F
1.Neo4j中CQL语法中 Set的作用是可以更新实体对象(Entity)的属性,也可以新加实体对象(Entity)的属性。 T
2.Neo4j不支持分布式。 F
3.搜索引擎系统常和其他NoSQL数据库或分布式文件系统配合使用。 T
4.Neo4j中CQL语法不支持limit。 F
简答题
1.描述HBase有哪些特性,解释说明。
容量巨大、列存储、稀疏性、扩展性强、高可靠性。
容量巨大:百亿行、百万列、可以在横向和纵向两个维度插入数据。
列存储:面向列进行存储和权限控制,每个列都是单独存储的且支持基于列的独立索引。
稀疏性:数据以字符串形式存储,数据为空的列不占用存储空间。
扩展性强:扩展时只需添加服务器节点到现有集群即可,动态的实现扩展,且支持热扩展。
高可靠性:HBase运行在HDFS上,HDFS的多副本存储可以让它在出现故障时自动恢复,同时HBase内部也提供WAL和Replication 机制
2、3
https://blog.csdn.net/qq_31780525/article/details/106322708
4.HBase集群都有哪些组件?写出各自的功能
组件:客户端、zookeeper、HMaster、RegionServer
客户端:是HBase系统的入口,用来操作HBase数据库,与HMaster进行管理类通信,与Regionserver进行数据读写类通信
ZooKeeper:主要用来解决分布式应用中经常遇到的数据管理的问题, 在HBase中协调的任务:HMaster选举、系统容错、Region元数据管理,记录HMaster/HRegionServer节点地址、Region状态管理等
HMaster:HMaster是HBase集群中的主服务器,主要负责表和region的管理工作,监控集群中的所有RegionServer, 并且是所有元数据更改的接口。
RegionServer:一般在分布式集群当中,RegionServer运行在DataNode服务器上, 实现数据的本地性。每个RegionServer包含多个Region,主要负责响应用户读写请 求,从HDFS中读写数据。RegionServer是Hbase集群最核心的模块。
5.HBase与HDFS的关系,HFile文件过多对集群有什么影响?如何解决?简单描述对应的方法及如何权衡
关系:HDFS是Hadoop分布式文件系统,HBase的数据存储在HDFS上。
影响与解决:HFile过多会使I/O的操作速度也随之变慢,读写也会延时,导致慢操作。可以对File文件合并解决。
?对应方法与权衡:HFile的合并分别是Minor合并与Major合并。Minor合并是触发式的,达到触发条件才会进行Minor合并,对合并的HFile也是有条件的,满足条件的HFile才会进行Minor合并。Major合并将Store中的所有HFile合并成一个大文件;有时也会对整个表的同一列族的HFile进行合并,这是一个耗时和耗费资源的操作,会很大程度上影响集群性能。
6.写出MongoDB副本集的工作流程及复制的目的。
工作流程:当集群中主节点发生故障时,副本集可以自动投票,选举出新的节点, 并引导其余的从节点连接新的主节点
复制的目的:增加数据冗余、避免单点故障、保证数据的高可靠性;分担读的压力,提高服务的负载能力。
7.写出MongoDB分片集群的组件及搭建分片集群的流程。
答:组件:配置服务器、路由服务器、分片服务器、客户端。
? 流程:1启动配置服务器,mongod进程,配置为单成员副本集。
? 2 启动mongos,使用配置文件启动一个mongos实例。
? 3 启动一个分片服务器,使用单成员的副本集。
? 4 对数据库启用分片
? 5 对集合进行分片
8.简单描述MongoDB的特点及其与关系数据库的区别。
Mangodb面向集合存储,易于存储对象类型的数据使用高效的二进制数据存储特点是高性能、高可用、可伸缩、易部署、易使用、存储数据十分方便它介于关系型数据库和非关系型数据库之间的产品、面向文档的NoSQL数据库
与传统的关系型数据库相比mangodb中的文档集合数据库对应着关系型数据库中的行数据,表,数据库。区别于关系型数据库mangodb不支持表连接,且在mangodb中自动将_id设置为主键
9.为什么要使用Memcached或者Redis。
答:内存数据库主要功能是把硬盘中的数据加载到内存中进行操作,使用它们的目的是在内存中缓存关系型数据库的查询结果,减少数据库自身被访问的次数,以提高Web应用的响应速度,提高网站架构的并发能力和可扩展性。
10.非关系数据库都有哪几类?举例并说明使用场景。
一般将NoSQL数据库分为四大类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图形(Graph)数据库。它们的数据模型、优缺点、典型应用场景如下表所示。
分类 | 数据模型 | 优点 | 缺点 | 典型应用场景 |
---|
键值(Key-Value)存储数据库 | Key指向Value的键值对,通常用hash表来实现 | 查找速度快 | 数据无结构化(通常只被当作字符串或者二进制数据) | 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等 | 列存储数据库 | 以列簇式存储,将同一列数据存在一起 | 查找速度快,可扩展性强,更容易进行分布式扩展 | 功能相对局限 | 分布式的文件系统 | 文档型数据库 | Key-Value对应的键值对,Value为结构化数据 | 数据结构要求不严格,表结构可变(不需要像关系型数据库一样需预先定义表结构) | 查询性能不高,而且缺乏统一的查询语法 | Web应用 | 图形(Graph)数据库 | 图结构 | 利用图结构相关算法(如最短路径寻址,N度关系查找等) | 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案 | 社交网络,推荐系统等 |
其他:
大数据的特征:
○大容量(Volume)
○多样化(Variety)
○有价值(Value)
○高速率(Velocity)
关系型数据库和NoSQL在设计上的区别:
关系型数据库:高效的存储数据、支持多用户对数据的并发控制
NoSQL:用来应对数据的爆发式增长,实现横向扩展
NoSQL数据库的技术特点:
1.非关系型的存储模式。
2.习惯的统称,并非严谨的定义。
3.和关系型数据管理系统有不同的侧重点。
4.通过牺牲事务、一致性和SQL语句等重要机制,来换取更好的分布式部署特性。
NoSQL在大数据体系当中的作用:
○数据存储工具
○数据管理工具
○数据查询工具
○NoSQL一般不会提供实时数据采集功能(需要借助其他的工具写入数据库),也无法提供复杂的数据预处理、数据分析等功能,无法提供完整的数据可视化功能。
请比较NoSQL数据库和关系数据库的优缺点。
答:(1)关系数据库 优势:以完善的关系代数理论作为基础,有严格的标准,支持事务ACID四性,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持。 劣势:可扩展性较差,无法较好支持海量数据存储,数据模型过于死板、无法较好支持Web2.0应用,事务机制影响了系统的整体性能等。 (2)NoSQL数据库 优势:可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力等。劣势:缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术支持,维护较困难等。
关系数据库和NoSQL数据库各有优缺点,彼此无法取代 关系数据库应用场景:电信、银行等领域的关键业务系统,需要保证强事务一致性。 NoSQL数据库应用场景:互联网企业、传统企业的非关键业务(比如数据分析)。
试述NoSQL数据库的几大类型。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9dGLip1-1639399001818)(C:\Users\陈元飞\AppData\Roaming\Typora\typora-user-images\image-20211213201115274.png)]
BASE原理:
基本可用(Basically Available):基本可用指分布式系统在出现故障时,系统允许损失部分可用性,即保证核心功能或者当前最重要功能可用。对于用户来说,他们当前最关注的功能或者最常用的功能的可用性将会获得保证,但是其他功能会被削弱。
软状态(Soft-state):软状态允许系统数据存在中间状态,但不会影响系统的整体可用性,即允许不同节点的副本之间存在暂时的不一致情况。
最终一致性(Eventually Consistent):最终一致性要求系统中数据副本最终能够一致,而不需要实时保证数据副本一致。例如,银行系统中的非实时转账操作,允许 24 小时内用户账户的状态在转账前后是不一致的,但 24 小时后账户数据必须正确。
最终一致性是 BASE 原理的核心,也是 NoSQL 数据库的主要特点,通过弱化一致性,提高系统的可伸缩性、可靠性和可用性。而且对于大多数 Web 应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是多数分布式数据库产品的方向。
ACID和BASE的差别
ACID的一致性:强调(一个或多个)事务前后,数据的状态(约束、完整性)都是有效的。
CAP的一致性:强调多个副本是状态一致、同步更新的。
BASE的一致性:和ACID的相近,但是强调弱一致性。
试述CAP理论的具体含义。
答:分布式系统的三个指标:
C:Consistency,一致性。在分布式系统中的所有数据备份,在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新的数据副本(all nodes see the same data at the same time)。
A:Availability ,可用性,好的响应性能。完全的可用性指的是在任何故障模型下,服务都会在有限的时间内处理完成并进行响应(Reads and writes always succeed)。
P:Partition Tolerance ,分区容错性,即分布式系统在遇到某些节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务。分区容错性要求一个分布式系统中有某一个或者几个节点故障时,其他剩下的节点还能够正常运转并对外提供服务,对于用户而言并没有什么体验上的影响。
CAP理论是指在分布式系统中,CAP三个特性不可兼得,只能同时满足两个。
不适用于单机环境
原理解读
分布式的服务化系统都需要满足分区容忍性,那么我们必须在一致性(C)和可用性(A)之间进行权衡。在网络分区故障发生时,两个分布式节点之间无法进行通信,那么我们对一个节点进行的修改操作将无法同步到另外一个节点,所以数据的一致性(C)将无法满足,因为两个分布式节点的数据不再保持一致。除非我们牺牲可用性(A),也就是在网络分区故障发生时,暂停分布式系统对外提供修改数据服务,直到网络状况完全恢复正常再继续对外提供修改数据服务。
CP满足的情况下,A不能满足的原因:若要满足一致性(C)就需要在多个分布式节点之间进行数据同步,在数据同步完成之前整个系统都将不可用。节点数量越多分区容错性(P)越好,同时数据同步所耗费的时间自然也就越长,从而无法在有限的时间内完成请求响应,导致可用性(A)不能满足。
CA满足的情况下,P不能满足的原因:若要满足一致性(C)就需要在多个分布式节点之间进行数据同步,在数据同步完成之前整个系统都将不可用。需同步的节点数量越多,数据同步所需耗费的时间越长,可用性(A)也越差。若要同时保证可用性(A),那么需同步的节点数量就需要尽量减少,从而导致分区容错性(P)无法满足。
AP满足的情况下,C不能满足的原因:节点的数量越多,分区容错性(P)越好,节点间数据同步所需耗费的时间越长,若要在有限的时间内完成请求响应即保证可用性(A),那么数据就可能不能及时地同步到其他节点,从而无法保证节点间的数据一致性(C)。
如何抉择?
对于现如今大多数的互联网应用场景,都倾向于采用分布式微服务架构,它们通常节点众多、部署相对分散,随着集群规模变得越来越大,节点故障、网络故障已是常态。在这种情况下,对于那些对数据一致性(C)要求不高的场景,例如电商系统,我们只需要保证分区容错性(P)和可用性(A),对于数据一致性(C)退而求其次仅保证数据的最终一致性即可。这虽然会某些地方影响客户体验,但并不会达到造成用户流失的严重程度。对于像银行系统这类对数据一致性(C)要求较高的场景,数据一致性(C)必须保证。网络发生故障宁可停止服务(或者只读不写),这是保证分区容错性(P)和数据一致性(C),舍弃可用性(A)。
试述BASE的具体含义。
答:
BASE理论的核心思想是即使无法做到强一致性(CAP中的一致性是强一致),也可以采用适合的方式使应用达到最终一致性。BASE是指基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency)。
Basically Available基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,保证核心可用。
Soft State软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。
Eventual Consistency最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。
NoSQL为啥比sql快?
答:
NoSQL是非关系型数据库,因为不需要满足关系数据库数据一致性等复杂特性所以速度快;
sql是关系型数据库,功能强大,但是效率上有瓶颈。
HDFS是否属于NoSQL数据库?请分析一下HDFS作为数据库的不足之处。
不属于
1.不擅长低延时的数据访问(hadoop针对数据吞吐量做了优化,牺牲了获取数据的延迟)。
2.不擅长大量小文件存储(存储大量的小文件,会占用namenode大量的内存来存储文件、目录和块信息。)
3.不支持多用户并发写入一个文本(同一时间内,只能有一个用户执行写操作)。
4.不支持文件的随机修改(多次写入,一次读取)仅支持数据末尾追加。
https://www.cnblogs.com/Angfe/p/14052902.html http://blog.sina.com.cn/s/blog_c381b5d90102yv99.html
|