当前位置: 首页 > web >正文

NoSQL数据库复习题目要点

1.关于Neo4j

中节点(Nodes),关系(Relations),属性(Properties),标签(Labels)说法不正确的有(C)
A.属性(Properties)表示的是实体对象(Entity)中的属性
B.标签(Labels)是对实体对象(Entity)做的说明
C.关系连接实体对象(Entity),关系没有方向性
D.节点代表最终的实体对象

解析:

在 Neo4j 中:

  • 节点(Nodes) 表示的是实体对象(例如:人、城市、电影等)。

  • 关系(Relationships) 表示实体之间的连接,是有方向性的(例如:W -> 喜欢 -> Y),可以表示如“朋友”、“喜欢”、“位于”等含义。

  • 属性(Properties) 是附加在节点或关系上的键值对(例如:姓名、年龄、关系时间等)。

  • 标签(Labels) 是用来对节点进行分类的(例如::Person, :Movie)。

因此,选项 C 的说法“关系没有方向性”是错误的,在 Neo4j 中关系是有方向性的。

2.下列哪些场景不适合使用Neo4j(C)

A.强相关的社交网络
B.关系中的路径查找
C.数据检索
D.电商里的物品推荐

解析:

  • A. 强相关的社交网络 ✅ 适合
    Neo4j 是图数据库,擅长处理高度连接的数据,比如社交网络中的“谁认识谁”。

  • B. 关系中的路径查找 ✅ 适合
    这是图数据库的强项,如最短路径、朋友的朋友等复杂关系链分析。

  • C. 数据检索不适合(相对而言)
    如果是大量简单的数据检索(如按照主键查找、批量分页展示等),传统的关系型数据库(如 MySQL、PostgreSQL)或文档数据库(如 MongoDB)更高效。Neo4j 在这方面效率并不突出,尤其在面对大规模非关系型查询时。

  • D. 电商里的物品推荐 ✅ 适合
    推荐系统涉及用户-商品-标签之间的复杂图结构,Neo4j 可以高效处理这些连接关系。

3.与关系模型相比,关于NoSQL不正确的是(B)

A.列中的内容和类型可能是随意的、无定义的
B.会为空值留出存储空间
C.NoSQL中可能没有明确的结构
D.列可能是复合型的

解析:

  • A. 列中的内容和类型可能是随意的、无定义的 ✅ 正确
    在某些 NoSQL 类型(如文档型、列族型)中,不同记录可以有不同的字段和类型,结构是灵活的。

  • B. 会为空值留出存储空间不正确(应选项)
    NoSQL 通常不会为未定义或空的字段预留空间,这是它节省存储、提高灵活性的重要方式。而关系型数据库往往为所有字段预留空间(即使是 NULL)。

  • C. NoSQL 中可能没有明确的结构 ✅ 正确
    例如 MongoDB 中可以每条记录结构都不同,无需固定 schema。

  • D. 列可能是复合型的 ✅ 正确
    在文档型数据库中,字段可以是数组、嵌套文档等复杂结构。

4.以下HBase的说法哪个是不正确的?(B)

A.在HBase中由行键、列族、列和时间戳来唯一确定一个单元格数值。
B.在HBase Shell中创建表时,不需要预先定义列族。
C.HBase中所有数据都是字符串的形式。
D.HBase中不同行之间可以由不同的列组成。

解析:

  • A. 正确。HBase 中的单元格(cell)由行键(row key)、列族(column family)、列限定符(column qualifier)和时间戳(timestamp)唯一确定。

  • B. 不正确。在 HBase Shell 中创建表时,必须create 命令里预先定义至少一个列族,例如:

    create 'my_table', 'cf1', 'cf2'

    如果不定义列族,表根本无法创建。

  • C. 正确(广义上)。HBase 底层存储的是字节数组(byte[]),但通常以字符串形式进行读写和展示,因此常说“按字符串方式存取”。

  • D. 正确。不同行可以拥有不同的列,无需统一所有行的列结构。


5.Neo4j的查询语言是Cypher

6.MongoDB 默认使用的端口号是 27017

7.Redis数据库用于用户会话和缓存数据

8.GridFS集合由fs.filesfs.chunks两个部分组成

9.Redis相比MongoDB的主要优势体现()【选】

  1. 性能表现

    • 基于内存存储
    • 延迟通常小于1ms(毫秒级响应)
    • 适用于实时性要求高的场景
  2. 数据结构支持

    数据结构Redis支持MongoDB支持
    字符串✔️✔️
    哈希✔️
    有序集合✔️
    地理空间索引✔️✔️
    流数据结构✔️
  3. 缓存特性

    原子操作

    • 实时排行榜(使用有序集合)
    • 分布式锁(SETNX命令)
    • 消息队列(Stream/List结构)
    • 会话缓存(高速读写)
    • 支持INCR/DECR等原子命令
    • 事务操作通过MULTI/EXEC实现:

    应用场景优势

适合选择Redis的场景特征:

  • 数据量可容纳在内存中
  • 需要亚毫秒级响应
  • 高频读写操作
  • 数据结构操作复杂度高于简单CRU

10.分片的主要目的是()【选】

NoSQL数据库中分片(Sharding)的主要目标可归纳为以下几点:

  1. 水平扩展能力
    通过将数据分布到多个节点,突破单机存储和性能瓶颈。当数据规模或并发请求超过单节点处理能力时,分片允许系统通过增加机器实现线性扩展

  2. 负载均衡优化

  3. 故障隔离提升可用性
    不同分片独立运行,单个节点故障仅影响局部数据访问。

  4. 地理分布优化
    支持将特定分片部署在靠近用户的区域。例如北美用户数据存储在AWS us-east区域,亚洲用户数据存储在ap-southeast区域,显著降低访问延迟。

11.NoSQL数据库是什么,其与MySQL数据的主要区别是什么?【简答】

NoSQL数据库是指非关系型的分布式数据库系统,其核心特征是通过灵活的数据模型处理海量数据和高并发场景。与MySQL这类关系型数据库的主要区别体现在以下方面:

  1. 数据结构

    • MySQL采用结构化表格模型,数据需符合预定义模式
    • NoSQL支持灵活存储格式,如文档型(JSON)、键值对、图结构等:
  2. 扩展模式

    • MySQL主要依赖垂直扩展(提升单机性能)
    • NoSQL擅长水平扩展(添加更多节点),满足$10^6$级QPS需求
  3. 事务特性

    • MySQL保证ACID特性:原子性、一致性、隔离性、持久性
    • NoSQL普遍采用BASE原则(基本可用、软状态、最终一致性)
  4. 查询方式

    • MySQL使用标准SQL语言
    • NoSQL通过API或特定查询语法,如MongoDB

12.分片与副本集区别是什么?【简答】

  1. 数据分布方式
  • 副本集:所有节点存储完全相同的数据副本
  • 分片:数据按特定规则划分后分布存储
  1. 核心目标
  • 副本集:保障数据高可用性故障恢复
  • 分片:实现数据存储的水平扩展负载均衡
  1. 读写操作
  • 副本集:写操作仅发生在主节点,读操作可分散到从节点
  • 分片:写操作根据分片键自动路由,读操作可定向到特定分片
  1. 扩展维度
  • 副本集:通过增加节点提升读吞吐量(垂直扩展)
  • 分片:通过增加机器提升写吞吐量和存储容量(水平扩展)
  1. 数据一致性
  • 副本集:所有节点保持强一致性(通过oplog同步)
  • 分片:最终一致性,跨分片事务需要特殊处理

典型应用场景:

  • 副本集适用于需要故障自动转移、数据冗余备份的场景
  • 分片适用于单机无法容纳的超大规模数据集(如TB/PB级)

13.GridFS查询文件过程【简答】

14.年龄在19-21学生信息  分类总数、均值   库存大于40,价格降序排序【操作题】

http://www.xdnf.cn/news/6801.html

相关文章:

  • 北斗导航 | 基于深度学习的卫星导航数据训练——检测识别故障卫星
  • windows编程:LIB和OBJ格式文件解析
  • 【Linux网络】数据链路层
  • buuctf Crypto-鸡藕椒盐味1
  • 现代计算机图形学Games101入门笔记(十一)
  • AML 数据集
  • 内网im聊天软件,私有化部署安全可控
  • 2025认证杯二阶段C题完整论文讲解+多模型对比
  • Vue3:脚手架
  • 一分钟了解Python编程语言
  • 科技项目验收测试对软件产品和企业分别有哪些好处?
  • 机器学习知识自然语言处理入门
  • allure报告自定义logo和名称
  • 什么是SMBus
  • 医疗机械中丝杆支撑座有什么特殊要求?
  • 前端精度问题全解析:用“挖掘机”快速“填平精度坑”的完美解决方案
  • 支付宝授权登录
  • ROS2学习(4)------ROS2工作空间介绍
  • Vue3基础学习(中)
  • 高标准农田灌区信息化赋能粮食产能提升
  • 二维数组以及C99中的变长数组(如何在VS2022中使用苹果的clang编译器)
  • 智慧灌区信息化节水灌溉系统解决方案
  • 基于 nvitop+Prometheus+Grafana 的物理资源与 VLLM 引擎服务监控方案
  • 【Python】EAFP?请求原谅比请求允许容易?
  • 小白学编程之——深入理解Java线程的完整生命周期
  • 研华服务器ASMB-825主板无法识别PCIE-USB卡(笔记本)
  • 5.10品牌日|电商院徐一帆解读:中国企业如何迈向全球品牌
  • 根据用户ID获取所有子节点数据或是上级直属节点数据
  • DiT中的 Adaptive Layer Normalization (adaLN) 讲解
  • 代码随想录算法训练营 Day48 单调栈Ⅱ 接雨水Like