Nosql期末复习资料

第一章 绪论

一、单选

1. 关系型数据库已经发展了数十年,其理论知识、相关技术和产品都趋于完善,是目前世界上应用最广泛的数据库系统。以下哪一项不属于关系型数据库的优点?(  )

A. 容易理解B. 使用方便C. 自动分片D. 易于维护

2. 随着计算机技术的发展,数据处理量也不断增加,于是就产生了数据管理技术,而数据管理技术也先后经历了。(  )

A. 数据库阶段、人工管理阶段、文件系统阶段和高级数据库技术阶段

B. 人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段

C. 文件系统阶段、人工管理阶段、数据库阶段和高级数据库技术阶段

D. 数据库阶段、高级数据库技术阶段、文件系统阶段和人工管理阶段

3. 数据库按逻辑模型进行区分,有关系模型、层次模型、网状模型等,以下哪个是层次模型数据库。(  )

A. IMS  B. Oracle  C. DB2  D. MySQL

4. 非关系型数据库与关系型数据库相比,有其独特的地方,以下哪个是非关系型数据库的优势? (  )

A. 遵循ACID  B. 支持SQL  C. 成本低  D.  高可用

5. 日常生活中,我们都习惯了制造数据,很少去对历史数据进行修改了,导致了NoSQL数据库的日益流行,以下哪个是典型NoSQL应用(  )

A. QQ  B. 微信  C. 教务系统  D. 百度云盘

6. 我们这个学期学习的HBase、MongoDB分别属于那种类型的NoSQL数据库?(  )

A. 键值数据库、图形数据库   B. 文档数据库、文档数据库

C. 列族数据库、文档数据库   D. 文档数据库、列族数据库

7. 不属于分布式式数据处理基本特点的是?(  )

A. 物理分布性 B. 逻辑整体性 C. 场地自治性 D. 场地孤岛性

8. 分布式计算与集中式计算的比较,以下说法错误的是?(  )

A. 分布式计算对于病毒比较敏感,任何用户都可能引入被病毒感染的文件,并将病毒扩散到整个网络

B. 分布式计算当存储或计算能力不足时,可以简单地通过增加廉价PC机的方式来增加系统的处理和存储能力

C. 分布式计算在网络中的每台机器都比较廉价,所以这些机器管理起来比较容易

D. 分布式计算的每台机器都能存储和处理数据,降低了对机器性能的要求,所以不用购买昂贵的机器

9. CAP理论是NoSQL数据库的基础,三者不可兼得,以下不是CAP特性的是?(  )

A. 一致性  B. 可用性  C. 容灾性  D. 分区容错性

10. NoSQL数据库种类比较繁多,以下哪个不是NoSQL数据库?(  )

A. HBase   B. MongoDB   C. Oracle   D. Redis

11. 数据库按逻辑模型进行区分,有关系模型、层次模型、网状模型等,以下哪个是不属于关系型数据库。                         

A. Hbase    B. Oracle   C. DB2  D. MySQL

12. 按逻辑模型进行区分,以下数据库哪个是关系模型数据库。                      

A. IMS   B. HBase   C. MongoDB   D. MySQL     

13. 以下数据库中,不是关系数据库的为( )

A. Mysql   B. SqlServer   C. Oracle   D. Redis

14. 结构化查询语句中,数据定义语言的缩写为( )

A. DDL  B. DQL  C. DML  D. DCL

15. CAP 理论的描述中,错误的是( )

### NoSQL实操期末考试真题示例 以下是几个可能用于NoSQL数据库技术课程中的期末考试题目,涵盖了理论与实践操作的内容: #### 单选题 1. 下列哪一项不是NoSQL数据库的特点? A. 高可扩展性 B. 数据结构灵活 C. 支持复杂的事务处理[^2] D. 去中心化存储 正确答案:C。 --- #### 多选题 2. 关于MongoDB的描述哪些是正确的?(多选) A. MongoDB是一种文档型数据库[^3] B. 它支持嵌套对象和数组作为字段值 C. 使用SQL语句查询数据 D. 默认情况下不强制模式定义 正确答案:A, B, D。 --- #### 判断题 3. Cassandra是一个面向列族的分布式数据库系统,它特别适合写密集型应用。( )[^4] 正确答案:√。 --- #### 简答题 4. 解释CAP定理并说明为什么在实际开发中无法同时满足一致性(C)、可用性(A) 和分区容忍性(P)[^5]? **参考解答**: CAP定理指出,在分布式系统设计中,最多可以同时实现两个属性。当网络发生分区时,如果要保持系统的高可用性,则必须牺牲强一致性的保障;反之亦然。因此开发者通常会依据业务需求权衡三者之间的取舍关系。 --- #### 编程题 5. 给定如下JSON格式的数据,请编写一段Python脚本将其导入到MongoDB集合`users`当中,并设置索引以提高检索效率。 ```json [ {"name": "Alice", "age": 28}, {"name": "Bob", "age": 24} ] ``` **解决方案**: ```python from pymongo import MongoClient, ASCENDING # 连接到本地MongoDB实例 client = MongoClient('mongodb://localhost:27017/') db = client['test_database'] collection = db['users'] data = [ {"name": "Alice", "age": 28}, {"name": "Bob", "age": 24} ] # 插入记录 result = collection.insert_many(data) # 创建索引来优化查询性能 index_result = collection.create_index([("name", ASCENDING)]) print(f'Inserted {len(result.inserted_ids)} documents.') print(f'Created index on field name with result: {index_result}') ``` --- #### 设计题 6. 某电商平台希望利用Redis缓存商品详情页面的信息来减少MySQL服务器的压力。请阐述如何设计这种架构以及具体的操作流程[^6]。 **参考解答**: Redis因其高性能读写能力非常适合用来做缓存层。对于该场景下的设计方案应考虑以下几个方面: - **键的设计原则**: 商品ID可以直接充当key; - **过期策略设定**: 设置合理的TTL时间防止冷数据长期占用内存空间; - **更新机制同步**: 当后台管理系统修改了某件商品信息之后要及时通知前端刷新对应的redis cache或者删除旧版本cache重新加载最新内容。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值