NOSQL期末复习

第一章 初识NoSQL

一、填空题

1大数据时代对数据存储的挑战包括高并发读写需求、高效率存储和访问需求、高扩展性。
2.NoSQL是Not Only SQL的缩写,它的含义为“不仅仅是SQL”。
3.NoSQL是一种非关系型、分布式、不遵循ACID、不提供SQL功能的数据库。
4.NoSQL理论的基础是由CAP原则、BASE理论以及最终一致性奠定的。
5.NoSQL数据库主要有四大类型,键值对存储数据库、文档存储数据库、列式存储数据库及图形存储数据库。

二、判断题

1.NoSQL是关系型数据库。 ( ×
2.非关系型数据库采用的是动态结构存储数据。 (
3.CAP原则包括一致性、可用性和分区容错性这三大要素。 (
4.CAP理论 的核心思想是即使无法保证系统的强一致性。 ( ×BASE理论的核心思想是即使无法保证系统的强一致性
5.数据的一致性可根据强度分为强一致性和弱一致性两种。 (

三、选择题

1.下列数据库中,哪个是最简单的NoSQL数据库?( A
A.键值对存储数据库
B.文档存储数据库
C.列式存储数据库
D.图形存储数据库
2.下列说法中,关于文档存储数据库说法正确的是?(C
A.文档存储数据库是文档管理系统
B.文档存储数据库是用于存储和管理文档,其中文档是 结构化的数据
C.文档存储数据库存储的文档可以是不同结构的
D.文档 键值对存储数据库主要应用于会话存储和购物车等场景
3.下列选项中,哪个属于列式存储数据库?(D
A.MongoDB文档存储数据库
B.Redis键值对存储数据库
C.Neo4j图形存储数据库
D.HBase

四、简答题

1.简述CAP原则的选择策略与应用场景。
CAP原则一个分布式系统最多可以同时实现两个要素,即AP或CP或AC。选择AC策略,意味着放弃P,也就是说,保证了系统的一致性和可用性,却违背了分布式系统的分区容错性;选择CP策略,意味着放弃A,也就是说,保证了系统的一致性和分区容错性,但用户的体验较差,即当系统宕机时,需要等待所有节点的数据一致时,用户才可访问系统;选择AP策略,意味着放弃C,也就是说,保证了系统的可用性和分区容错性,但是节点之间的数据会出现不一致的现象。因此,我们可以根据自己的需求,选择对应的策略。

在这里插入图片描述

2.简述NoSQL数据库的四种类型。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

第二章 文档存储数据库MongoDB

一、填空题

1.当前NoSQL数据库产品中最热门的一种数据库是MongoDB
2.MongoDB是由C++语言编写的。非关系型数据库
3.MongoDB是一个面向集合的、模式自由的文档型数据库。
4.MongoDB的设计采用横向扩展,可通过分片将数据分布在集群机器中。
5.MongoDB的逻辑结构是体系结构的一种形式。

二、判断题

1.在MongoDB中,数据库存储着集合和数据表 文档。 ( ×
2.MongoDB默认提供admin、local、config以及test数据库。 (
3.集合就是MongoDB的一组文档,分为一般集合和下限集合。 (
4.文档中不能有重复的键,每个文档都有一个默认的_id键。 (
5.MongoDB支持3种数字类型(32位整数(Int32)、64位整数(Int64)和64位浮点数(Double))。 (

三、选择题

1.下列数据库中,哪个数据库不是MongoDB默认提供的?(B
A.admin数据库
B.user数据库
C.config数据库
D.test数据库
2.下列说法中,关于MongoDB文档说法正确的是?( )
A.MongoDB单个文档大小上限为64 16 MB
B.文档的值 可以是字符串类型
C.文档中可以 不能有重复的键
D.不建议自定义_id键
3.下列选项中,哪个属于MongoDB支持的数据类型?(ABD
A.String
B.Code
C.Enum
D.Null

四、简答题

简述MongoDB数据库的优势。
1. 易用性
MongoDB面向文档的数据库不再有“行”的概念,取而代之的是更为灵活的“文档”模型。通过在文档中嵌入文档和数组的方式,在一条记录中表现复杂的层级关系。另外,MongoDB没有预定义模式,文档的键和值无须定义固定的类型和大小,这使得添加或删除字段变得更为容易,因此开发者能够进行快速迭代,加快开发进程。
2. 高性能
1、对文档进行了动态填充,对数据文件进行了预分配数据文件,用空间来保证性能的稳定。
2、优化器会标记出查询效率最高的方式,以便生成高效的查询计划。
3、提供高性能数据持久性减少数据库系统的I/O活动,也可以通过索引支持更快的查询。
4、将大部分的内存用作缓存。
3. 高可用性
MongoDB副本所组成的一个集群,称为副本集,它提供了自动故障转移和数据冗余功能,以防止数据丢失,从而提高数据的可用性。
4. 易扩展性
MongoDB的设计采用横向扩展,可通过分片将数据分布在集群机器中。MongoDB能够自动处理跨集群的数据和负载,自动重新分配文档,并将用户的请求路由到正确的机器上。
5. 多种存储引擎
MongoDB支持多个存储引擎包括WiredTiger存储引擎、内存存储引擎(In-Memory)和MMAPv1存储引擎。

第三章 MongoDB数据库操作

一、填空题

  1. MongoDB是一个 开源、跨平台的数据库。
  2. mongod.exe程序用于启动MongoDB服务器。
  3. MongoDB服务的端口号是 27017(监听端口号)
  4. 聚合管道是使用不同的管道阶段操作器进行不同聚合操作。
  5. MongoDB提供 Map-Reduce操作来进行聚合操作。

二、判断题

  1. 针对不同的操作系统平台,MongoDB的部署均相同 。( ×
  2. MongoDB中管道操作符的类型单一 。( ×
  3. Map-Reduce中管道操作有两个阶段,即Map和Reduce阶段。(
  4. 默认情况下,MongoDB服务启动运行时没有启用用户访问权限控制的。( ×
  5. Robo3T是一个跨平台的MongoDB GUI客户端管理工具。(

三、选择题

  1. 下列命令中,( C)可以用于创建MongoDB数据库。
    A.create
    B.show(用于查看所有数据库名称和存储情况的命令
    C.use(用于创建和切换数据的命令
    D.db(查看当前数据库
  2. 下列选项中,(D)不属于管道操作符。
    A. $group
    B. $limit
    C. $match
    D. $and
  3. 下列说法中,关于MongoDB索引说法正确的是(BD)。
    A. 索引存储着集合中全部 一小部分文档。
    B. 索引项的排序支持有效的等值匹配和基于范围的查询操作。
    C. 索引分为单字段索引和复合索引、多键索引、地理空间索引、文本索引、哈希索引六 种。
    D. 索引是一种特殊的数据结构,即采用B-Tree数据结构。

四、简答题

简述MongoDb索引的6中类型。
答:
1.单字段索引
MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,因此也被成为单字段索引。默认情况下,MongoDB中所有集合在_id字段上都有一个索引,当然,用户也可以根据自己的需求添加额外索引来支持重要的查询和操作。由于MongoDB可以从任何方向遍历索引,因此对于单个字段索引和排序操作来说,索引项的排序顺序(即升序和降序)并不重要。
2.复合索引
所谓符合索引,就是包含多个字段的索引,一个复合索引最多可以包含31个字段。需要注意的是,若某字段数与哈希索引,则这是复合索引就不能包括该字段。
3.多键索引
若文档中的字段为数组类型,则每个字段都是数组中的一个元素,MongoDB将会为数组中的每个元素创建索引,因此被称为多键索引。多键索引允许通过匹配数组的一个或多个元素来查询包含该数组的文档。如果索引字段包含数组值,则MongoDB会自动确定是否创建多键索引,而无须显示地指定创建多键索引。
4.地理空间索引
为了支持对地理空间坐标数据的有效查询,MongoDB提供了两种特殊的索引,即返回结果时使用平面几何的二维索引(2d索引)和返回结果时使用球面几何的二维球面索引(2dsphere索引)。其中,2d索引支持在欧几里德平面上的计算,也支持计算球面上的距离;2dsphere索引支持球面上几何计算的查询,包含查询(在一个指定多边形内的位置进行查询)、 交集查询(查询指定几何相交的位置)和临近查询(如查询离另一个点最近的点)。我们可以通过将2d索引和2dsphere索引进行相结合,从而进行高效的地理空间查询。
5.文本索引
MongoDB提供了一种文本索引类型,支持在集合中搜索字符串内容,即进行文本检索查询。文本索引不存储特定语言的停止词,例如“the”、“a”以及“or”等词,而是将集合中的词作为词干,只存储根词。为了执行文本检索查询,则集合上必须有一个text索引。一个集合只能拥有一个文本检索索引,但是这个索引可以覆盖多个字段。
6.哈希索引
为了支持基于哈希分片键进行分片,MongoDB提供了哈希索引类型。哈希索引是使用哈希函数来计算索引字段的哈希值,若是该索引字段的哈希值在哈希索引的范围内,则分布的更加随机。需要注意的是,哈希索引只支持等值匹配,不支持基于范围的查询。

第四章 MongoDB副本集

一、填空题

1.MongoDB副本集的成员包括 主结点、副本结点、 仲裁结点
2.MongoDB官网推荐副本集成员个数为 奇数个。
3.副本集主要功能包括 维护冗余地数据库副本故障自动转移、读写分离。
4.开启安全认证时,密钥文件权限一定要等于或小于 600
5.副本集成员配置信息中参数 priority表示优先级。

二、判断题

1.推荐使用主/从复制方式实现MongoDB 副本集复制。 ( ×
2.MongoDB副本集通过同时存在多个 一个 主节点,实现故障自动转移。 ( ×
3.副本节点与主节点同步副本是异步同步。 (
4.仲裁节点不会同步主节点的数据副本。 (
5.配置副本集成员需要在主节点进行操作。 (

三、选择题

1.下列选项中,哪个不属于副本集成员状态?( A
A.START
B.DOWN
C.RECOVERING
D.UNKNOWN
2.下列选项中,哪个不属于副本集的功能?( B
A.冗余的数据
B.负载均衡
C.读写分离
D.自动故障转移
3.MongoDB副本集中,副本节点是如何获得主节点数据?(A
A.自动拉取
B.心跳
C.自动推送
D.手动

四、简答题

请描述下MongoDB的副本集时如何同步数据?
副本节点定期轮询主节点获取oplog记录的操作内容,然后对自己的数据副本执行这些操作,从而保证副本节点的数据副本与主节点保持一致。

第五章 MongoDB分片

一、填空题

1. MongoDB分片是MongoDB支持的另一种集群形式。
2.分片技术是开发人员用来提高 数据存储和数据读写吞吐量常用的技术之一。
3.分片主要是将数据进行 划分后,将它们分别存放于不同机器上的过程。
4.MongoDB之所以能够实现自动分片,这是因为其内置了 分片策略
5.MongoDB的分片策略主要包括范围分片和 哈希分片两种。

二、判断题

1.分片与副本集主要区别在于分片是每个节点存储数据的不同片段,而副本集是每个节点存储数据的相同副本。 (
2.块(Chunk)的默认大小为128MB 64MB。 ( ×
3.分片键只能是集合文档中的一个 或多个字段。 ( ×
4.分片服务器是实际存储数据的组件。 (
5.生产环境中,路由 配置服务器存储了分片集群的元数据。 ( ×

三、选择题

1.下列服务器中,哪个不是服务器分片集群的组成部分?( D
A.Shard
B.Mongos
C.Config Server
D.Mongod
2.下列选项中,关于块的说法正确的是?( A
A.块的默认大小为64MB
B.大块触发的迁移较
C.块的大小 会影响要迁移块的最大文档数
D.大块 不均匀小块可以均匀地分布数据
3.下列说法中,关于分片键说法错误的是?( B
A.分片键一旦指定,后续则无法改变
B.分片键的长度大小, 不可 超过512个字节
C.用于作分片键的字段必须创建索引
D.不允许在已分片的集合文档上插入没有分片键的文档

四、简答题

简述分片集群的架构。
分片集群中主要由三个部分组成,即分片服务器(Shard)、路由服务器(Mongos)以及配置服务器(Config Server)组成。其中,分片服务器有三个,即Shard1、Shard2、Shard3;路由服务器有两个,即Mongos1和Mongos2;配置服务器有三个,即主、副、副。

第六章 MongoDB GridFS

一、填空题

1.MongoDB受BSON文件大小的限制,存储的文件大小不可超过16M。
2.GridFS将文件分别存储到集合fs.chunksfs.files中。
3.MongoDB提供了与GridFS交互的命令行工具mongofiles
4.数据块中存储二进制数据。
5.GridFS基于MongoDB持久化文件。

二、判断题

1.默认情况下,GridFS使用的块大小为255 KB。 (
2.集合fs.files存储文件地元数据,元数据就是关于数据的组织、数据域及其关系的信息; 原始数据fs.chunks。 ( ×
3.fs.files中_id的值与 fs.chunks中_id值的相对应。 (
4.可以在副本集的任意节点操作GridFS。 (

三、选择题

1.下列选项中,不属于命令行工具选项的是?( B
A.db
B.u
C.local
D.get
2.下列选项中,文件的元数据包括?(AB
A.文件块存储位置
B.文件大小
C.文件内容
D.文件上传时间

四、简答题

简述客户端在GridFS中查询文件的过程。

当客户端在GridFS中查询文件时,MongoDB将首先从集合fs.files中获取该文件的元数据信息,然后根据获取的元数据信息在集合fs.chunks查找符合要求的块(即files_id与元数据中_id相同的块),最后将这些块从新组装后返回给客户端。

原文地址:https://blog.csdn.net/m0_46161051

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读552次。com.mongodb.MongoQueryException: Query failed with error code 292 and error message 'Executor error during find command :: caused by :: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting.' on server 11.51.141.63:27017 _mongodb 大文件 下载失败
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQL 数据库,它将每个数据存储为一个文档,这里的文档类似于 JSON/BSON 对象,具体数据结构由键值(key/value)对组成。
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atlas Vector Search和Amazon Bedrock构建下一代应用程序
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_springboot3 elasticsearch json数据
文章浏览阅读673次。MongoDB 简介_尚医通sql
文章浏览阅读1k次,点赞8次,收藏9次。官网下载MongoDB安装包后进行解压(因了解并不深入,故暂不进行详细说明,自行查找其他安装方法,后期了解深入后将进行该教程的完善)在bin目录下使用命令启动:./mongod --config …/mongodb.conf。该文章任然处于完善中,如果存在错误遗漏的地方,欢迎私信联系。安装相关的nuget包后即可通过以下方法连接数据。YX9010_0@的第二十篇文章。
文章浏览阅读1.2k次,点赞17次,收藏26次。社交场景, 使用 MongoDB 存储存储用户信息, 以及用户发表的朋友圈信息, 通过地理位置索引实现附近的人, 地点等功能.游戏场景, 使用 MongoDB 存储游戏用户信息, 用户的装备, 积分等直接以内嵌文档的形式存储, 方便查询, 高效率存储和访问.物流场景, 使用 MongoDB 存储订单信息, 订单状态在运送过程中会不断更新, 以 MongoDB 内嵌数组的形式来存储, 一次查询就能将订单所有的变更读取出来.物联网场景, 使用 MongoDB 存储所有接入的智能设备信息, 以及设备汇报的日
文章浏览阅读686次。您可以使用 update_one() 方法来更新 MongoDB 中调用的记录或文档。update_one() 方法的第一个参数是 query 对象,用于定义要更新的文档。注释:如果查询找到多个记录,则仅更新第一个匹配项。第二个参数是定义文档新值的对象。_python 更新 mongodb 数据
文章浏览阅读1.3k次。首先来学习一下nosql这里安装就不进行介绍 只记录一下让自己了解mongodb。_nosql注入
文章浏览阅读4.1k次,点赞8次,收藏7次。在data的目录下,创建一个db文件。因为启动MongoDB服务之前必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。第一步:安装时,Custom是指可以自定义安装路径,然后傻瓜式安装即可(注意:先不要安装图形化工具,否则安装时间会特别长):如果要想连接成功,必须要开服务,即mongod -dbpath C:MongoDBdatadb的cmd要一直开着。然后回车,ctrl+F输入port找到端口号,一般为:27017。打开命令行,然后找到bin文件地址,并输入。_mongodb windows安装
文章浏览阅读5.1k次,点赞3次,收藏43次。详细介绍MongoDB数据库的基本知识,安装方法,基本操作,_mongodb数据库
文章浏览阅读3.2k次。安装教程翻看以往文章。_navicat 连接mongodb
文章浏览阅读426次,点赞9次,收藏12次。win10开放端口:https://blog.csdn.net/m0_43605481/article/details/119255256。我的是阿里云服务器,所以直接在安全组中加入规则,端口范围:27017,授权对象:0.0.0.0。windows在mongodb安装文件夹的bin文件夹中的mongod.cfg。数据库名字是test,打算创建一个用户,账号aaa,密码bbb,权限readWrite。因为该用户是创建在test数据库的,所以在最后要加上test。O了,然后恢复了test的数据。
文章浏览阅读1.1k次。聚合操作主要用于处理数据并返回计算结果。聚合操作将来自多个文档的值组合在一起,按条件分组后,再进行一系列操作(如求和、平均值、最大值、最小值)以返回单个结果。MongoDB的聚合查询​聚合是MongoDB的高级查询语言,它允许我们通过转化合并由多个文档的数据来生成新的在单个文档里不存在的文档信息。MongoDB中聚合(aggregate)主要用于处理数据(例如分组统计平均值、求和、最大值等),并返回计算后的数据结果,有点类似sql语句中的count(*)、groupby。..._如何将几个db的数据统整在一起做查询
文章浏览阅读680次,点赞7次,收藏8次。(2)application.properties配置文件。(4)UserService类。(5)测试和测试结果。
文章浏览阅读1k次,点赞17次,收藏25次。Studio 3T 2023.9 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端,支持自然语言查询_mongodb客户端
文章浏览阅读1.1k次,点赞32次,收藏27次。插件式的存储引擎架构可以实现 Server 层和存储引擎层的解耦,可以支持多种存储引擎,如 MySQL 既可以支持 B-Tree 结构的 InnoDB 存储引擎,还可以支持 LSM 结构的 RocksDB 存储引擎。MongoDB 中的记录就是一个 BSON 文档,它是由键值对组成的数据结构,类似于 JSON 对象,是 MongoDB 中的基本数据单元。的简称,是 JSON 文档的二进制表示,支持将文档和数组嵌入到其他文档和数组中,还包含允许表示不属于 JSON 规范的数据类型的扩展。
文章浏览阅读5.1k次,点赞6次,收藏96次。本文设计了一种基于智能室内温度控制的自动调速风扇。以STM32系列单片机为核心主控板,通过程序代码驱动和使用温度传感器模块实现对环境温度的实时监测,并可以实时显示环境温度。同时,可以设置温度检测的上下警告值,根据需求自行调节。_stm32 温控风扇
文章浏览阅读898次,点赞13次,收藏21次。在MongoDB中,我们使用find()和find_one()方法来在集合中查找数据,就像在MySQL数据库中使用SELECT语句来在表中查找数据一样。_pymongo find_one