【大数据存储与处理】第三次作业

一. 单选题(共15题)

  1. (单选题)以下哪个不是MongoDB数据库在分片时需要的节点?

    • A. Config Server
    • B. Config Router
    • C. Shard
    • D. Mongos
      正确答案: B:Config Router;
  2. (单选题)MongoDB的索引的数据结构为?

    • A. 双链表结构
    • B. 单链表结构
    • C. 有向无环图
    • D. Btree结构
      正确答案: D:Btree结构;
  3. (单选题)MongoDB的redo日志为?

    • A. system
    • B. oplog
    • C. profiler
    • D. journal
      正确答案: D:journal;
  4. (单选题)在MongoDB中,以下哪种读取策略时只能读取到成功写入到大多数节点的数据?

    • A. linearizable
    • B. majority
    • C. local
    • D. other
      正确答案: B:majority ;
  5. (单选题)在三分片、三副本的MongoDB数据库集群中,以下哪种场景性能最高?

    • A. 单一读
    • B. 单一写
    • C. 写少读多
    • D. 读多写少
      正确答案: A:单一读;
  6. (单选题)MongoDB副本集中,备份节点是如何获得主节点数据?

    • A. 心跳
    • B. 手动
    • C. 自动推送
    • D. 自动拉取
      正确答案: D:自动拉取;
  7. (单选题)MongoDB数据删除后产生碎片,其压缩方法为?

    • A. compact
    • B. compress
    • C. zip
    • D. change
      正确答案: A:compact;
  8. (单选题)MongoDB的分析器命令为?

    • A. log
    • B. search
    • C. explain
    • D. find
      正确答案: C:explain;
  9. (单选题)当使用MongoDB应用场景中,需要使用全文检索,需建何种索引?

    • A. 子文档索引
    • B. 文本索引
    • C. 地理位置索引
    • D. 哈希索引
      正确答案: B:文本索引;
  10. (单选题)MongoDB数据库采用副本集来保证高可用时,当主节点异常时,备份节点选举为新的主节点时可能会发生回滚,应采用以下何种方式避免回滚?

    • A. 在读取数据的时候仅从主节点读取
    • B. 在写入数据的时候,采用写入大多数节点确认功能的策略
    • C. 在写入数据的时候,采用写入日志确认成功策略
    • D. 在读取数据的时候采用主备节点读写分离
      正确答案: B:在写入数据的时候,采用写入大多数节点确认功能的策略;
  11. (单选题)以下哪个不是MongoDB数据库的索引类型?

    • A. 哈希索引
    • B. 时间索引
    • C. 单键索引
    • D. 文本索引
      正确答案: B:时间索引;
  12. (单选题)哪个角色不是MongoDB数据库中自带的内置角色?

    • A. root
    • B. userAdmin
    • C. clusterAdmin
    • D. DatabaseAdmin
      正确答案: D:DatabaseAdmin;
  13. (单选题)MongoDB数据库中基本单元为?

    • A. 字段
    • B. 表格
    • C. 集合
    • D. 文档
      正确答案: D:文档;
  14. (单选题)在社交应用场景中,博客类写少读多相关文档数据模型应采用何种设计方式?

    • A. 关联文档
    • B. 内嵌模型
    • C. 多文档
    • D. 引用模型
      正确答案: B:内嵌模型;
  15. (单选题)MongoDB中哪个自带的监控命令可以获取详细增、删、改、查情况?

    • A. mongostat
    • B. mongorestore
    • C. mongodump
    • D. mongotop
      正确答案: A:mongostat;

二. 多选题(共5题)

  1. (多选题)以下哪些是MongoDB的可视化工具?
    • A. Robomongo
    • B. MongoVUE
    • C. rockmongo
    • D. MongoHub

正确答案: ABCD:Robomongo; MongoVUE ; rockmongo; MongoHub;

  1. (多选题)MongoDB有哪些是副本集成员?
    • A. Slave
    • B. arbiter
    • C. Secondary
    • D. Primary

正确答案: BCD:arbiter; Secondary ; Primary;

  1. (多选题)MongoDB的可支持哪些分片方式?
    • A. 预分片
    • B. 区域分片
    • C. 哈希分片
    • D. 范围分片

正确答案: ABCD:预分片 ; 区域分片; 哈希分片; 范围分片;

  1. (多选题)MongoDB写入策略包括?
    • A. Journaled
    • B. Acknowledged
    • C. Replica Acknowledged
    • D. Unacknowledged

正确答案: ABCD:Journaled; Acknowledged; Replica Acknowledged; Unacknowledged;

  1. (多选题)MongoDB数据删除后产生碎片可采用何种手段修复?
    • A. compact
    • B. move
    • C. monodump
    • D. restore

正确答案: AC:compact; monodump;

一. MongoDB概述

1.1 什么是MongoDB?

MongoDB是一种NoSQL数据库管理系统,采用文档型数据存储模型,旨在提供高性能、可伸缩性和灵活性的数据存储解决方案。

1.2 NoSQL数据库特点
  • 灵活的模式: MongoDB采用动态模式,文档可以包含不同的字段,使得数据模型更加灵活。
  • 水平可扩展: 通过分片技术,MongoDB能够轻松水平扩展,处理大规模数据。
1.3 与关系型数据库的对比
  • 数据模型: MongoDB采用文档型存储,而关系型数据库采用表格型存储。
  • 查询语言: MongoDB使用JSON风格的查询语言,灵活而直观。
  • 事务支持: MongoDB在某些场景下支持事务,但与传统关系型数据库相比,其事务性能较低。

二. MongoDB的数据模型

2.1 文档型数据模型

MongoDB文档是一个由键值对组成的BSON(二进制JSON)对象,可以包含嵌套结构。

2.2 集合和数据库
  • 文档存储: 文档以集合的形式存储在数据库中,每个集合可以有不同的文档结构。
  • 数据库命名: MongoDB支持多个数据库,每个数据库有唯一的名称。

三. MongoDB的基本组件

3.1 服务器组件
  • Mongod进程: 负责实际存储和检索数据的MongoDB实例。
  • 配置服务器: 存储集群的元数据,用于路由查询请求。
  • Mongos进程: 作为查询路由器,将查询请求转发给适当的Mongod实例。

四. MongoDB的索引和查询

4.1 索引
  • 作用: 索引提高了查询性能,加速数据检索过程。
  • 类型: MongoDB支持多种索引类型,包括单键、复合、文本和哈希索引。
4.2 查询
  • 基本语法: MongoDB查询使用JSON格式的文档,包括条件、投影和排序等参数。

五. MongoDB的副本集

5.1 副本集概念
  • 作用: 提供数据冗余和高可用性,确保在主节点故障时能够切换到备份节点。
  • 成员角色: 主节点(Primary)、备份节点(Secondary)、仲裁者节点(Arbiter)。

六. MongoDB的分片

6.1 分片概念
  • 水平扩展: 分片允许将数据水平划分到多个节点上,以应对大规模数据存储需求。
  • 分片键: 决定数据如何在分片之间划分的字段。
6.2 分片策略
  • 预分片: 在启动分片集群时就确定数据分片的范围。
  • 区域分片: 根据地理位置划分分片,有利于提高查询性能。
  • 哈希分片: 使用哈希算法均匀地分配数据到各个分片。
  • 范围分片: 根据指定的字段范围划分分片。

七. MongoDB的安全性

7.1 身份验证和授权
  • 用户角色: MongoDB使用角色进行身份验证和授权,包括root、userAdmin、clusterAdmin等。
  • 权限: 定义用户对数据库和集合的具体操作权限。
7.2 数据安全最佳实践
  • 加密通信: 使用SSL/TLS协议确保数据在传输中的安全性。
  • 访问控制: 限制数据库访问权限,仅授予必要的权限。

你可能感兴趣的:(大数据,大数据,python,linux)