首页 > 数据库 >走进NoSql

走进NoSql

时间:2024-07-16 14:30:10浏览次数:13  
标签:存储 sname NoSql NoSQL 走进 数据库 db sage

一、引入

1.1什么是NoSql

NoSQL(Not Only SQL)是一组非关系型数据库(或称为非SQL数据库)的统称,它们提供了与传统的关系型数据库不同的数据存储和检索方式。NoSQL数据库通常用于处理大量的、分布式的、非结构化或半结构化的数据,并且它们能够在大规模并行处理方面表现出色。 

 1.2NoSQL数据库的特点

1. **可扩展性**:NoSQL数据库通常更容易在多台机器上水平扩展,这允许它们处理巨大的数据量。

2. **高性能**:它们被设计为能够处理高并发读写操作,尤其是在大数据集上。

3. **灵活的数据模型**:NoSQL数据库不要求预定义数据模式,这意味着它们可以存储不同类型的数据而不需要像关系型数据库那样定义表结构。

4. **最终一致性**:许多NoSQL数据库在数据一致性方面采取了更宽松的策略,如Amazon DynamoDB使用的“eventual consistency”,这在某些高可用性场景下是有益的。

5. **键-值存储**:许多NoSQL数据库使用键-值对存储数据,这是最简单且最直接的数据存储方式之一。

6. **不同的数据类型支持**:不同类型的NoSQL数据库支持不同类型的数据模型,包括键值存储、文档存储、列族存储和图数据库。

 1.3NoSQL数据库的主要类型

- **键值存储**(Key-Value Stores):如Redis、Riak、Amazon DynamoDB。
- **文档存储**(Document Databases):如MongoDB、CouchDB。
- **列族存储**(Wide-Column Stores):如Cassandra、HBase。
- **图数据库**(Graph Databases):如Neo4j、ArangoDB。

1.4总结 

NoSQL数据库的兴起,在很大程度上是由于Web 2.0应用和社交媒体的需求,这些应用需要处理大量的用户生成数据,并且需要高可用性和可扩展性。然而,NoSQL并不是万能的,每种数据库都有其适用的场景和局限性。在实际应用中,需要根据具体的业务需求和数据特性来选择合适的数据库。

二、实战

2.1选择题

1. (单选题)关于NoSQL数据库和关系数据库,下列说法不正确的是( )。

  • A. NoSQL数据库和关系数据库各有优缺点,但随着NoSQL的发展,终将取代关系数据库
  • B. 关系数据库有关系代数理论作为基础,NoSQL数据库没有统一的理论基础
  • C. NoSQL数据库可以支持超大规模数据存储,具有强大的横向扩展能力
  • D. 大多数NoSQL数据库很难实现数据完整性

 正确答案: A :NoSQL数据库和关系数据库各有优缺点,但随着NoSQL的发展,终将取代关系数据库;

2. (单选题)大数据时代,数据的存储与管理不需满足以下哪个要求()。

  • A. 满足用户 的高并发读写
  • B. 要适应多变的数据结构
  • C. 满足完整性的约束条件
  • D. 数据管理系统具有很高的扩展性,适应海量数据库的迅速增长

正确答案: C :满足完整性的约束条件;

3. (单选题)下列关于NoSQL数据库和关系型数据库的比较,不正确的是( )。

  • A. NoSQL数据库缺乏统一的查询语言,而关系型数据库有标准化查询语言
  • B. NoSQL数据库具有弱一致性,关系型数据库具有强一致性
  • C. NoSQL数据库很容易实现数据完整性,关系型数据库很难实现数据完整性
  • D. NoSQL数据库的可扩展性比传统的关系型数据库更好

正确答案: C :NoSQL数据库很容易实现数据完整性,关系型数据库很难实现数据完整性;

4. (单选题)以下不属于NoSQL数据库的是( )。

  • A. Cassandra
  • B. MySQL
  • C. MongoDB
  • D. CouchDB

正确答案: B :MySQL;

5. (单选题)NoSQL一词表示的含义是( )。

  • A. 没有SQL
  • B. 非关系型数据库
  • C. 不是SQL
  • D. 关系型数据库

正确答案: B :非关系型数据库;

2.2语句练习

1. 在s集合中插入以下数据。(insert、insertOne、insertMany都试试)

db.s.insert({sno:'1001',sname:' zhangsan', sage:'10'})
db.s.insertOne({sno:'1002',sname :'lisi',sage:'18'})
db.s.insertMany([{sno:'1003',sname:' wangwu',sage:'10"},{sno:'1004',sname:'zhaoliu', sage:'88'}])
db.s.insert({sno:'1005',sname:'lisi',addr:'hebei'})
db.s.insert({sno:'1006',sname:'zhangsan',addr:['beijing','hebei']})

2.查询学号为1001同学的姓名

db.s.find({sno:'1001'})

3.查询学生的人数

db.s.find().count()

 

4.查询18岁的lisi的学号和姓名

db.s.find({$and:[{ sname:'lisi'},{sage:'18'}]})

 

5.查询zhangsan及所有18岁同学的信息

db.s.find({$or:[{sname:'zhangsan'},{sage:'18'}]})

 

6.查询年龄为11或18岁的同学的姓名

db.s.find({sage:{$in:['11','18']}})

7.查询第一个文档

db.s.find()[0]

 

8.查询第五个文档

db.s.find()[4]



 

标签:存储,sname,NoSql,NoSQL,走进,数据库,db,sage
From: https://blog.csdn.net/2301_79659699/article/details/140444859

相关文章

  • NoSQL之Redis配置与优化
    目录NoSQL之Redis配置与优化一、关系数据库和非关系数据库1.关系型数据库2.非关系型数据库3.非关系型数据库产生背景4.关系型数据库和非关系型数据库的区别4.1数据存储方式不同4.2扩展方式不同4.3对事务性的支持不同5.总结二、Redis的基础概念1.Redis简介2.Red......
  • 走进 AI 无人直播 解放双手 创新驱动 惊喜不断
    AI无人直播是一项令人惊叹的技术创新,这一创举正逐渐改变我们对传统直播的认知。它不仅能解放主播的双手,还能驱使创新思维,(V:tlkj124)为观众带来持续的惊喜。首先,AI无人直播通过智能化技术实现了主播的“无人”状态。传统直播需要主播亲自操作摄像机、调整画面和声音等,而AI无......
  • NoSQL之Redis集群
    目录1.Redis主从复制(1)Redis主从复制工作原理(2)搭建Redis主从复制2.Redis哨兵模式(1)Redis哨兵工作原理(2)搭建Redis哨兵模式3.Redis集群模式(1)集群模式的工作原理(2)集群模式的特点(3)搭建Redis群集模式(4)集群模式与哨兵模式的主要区别1.Redis主从复制(1)Redis主从复制工作原理1.......
  • NoSQL之 Redis配置与优化
    目录1.关系数据库和非关系数据库2.Redis安装部署(1)Redis简介(2)Redis为什么那么快?(3)Redis安装部署(1)环境准备(2)安装redis(3)修改配置文件(4)定义systemd服务管理脚本(4)redis-benchmark测试工具3.Redis数据库常用命令(1)Redis数据类型4.Redis高可用(1)Redis持久化5.Redis性能管理(1)内存碎片6.re......
  • 【后端面试题】【中间件】【NoSQL】MongoDB查询优化3(拆分、嵌入文档,操作系统)
    拆分大文档很常见的一种优化手段,在一些特定的业务场景中,会有一些很大的文档,这些文档有很多字段,而且有一些特定的字段还特别的大。可以考虑拆分这些文档大文档对MongoDB的性能影响还是很大的,就我个人经验而言,认为可以考虑从两个角度出发拆分大文档:按照字段的访问频率拆分:......
  • 【后端面试题】【中间件】【NoSQL】MongoDB提高可用性的方案(主从结构、仲裁节点、分片
    主从结构MongoDB的高可用和别的中间件的高可用方案基本类似。比如在MySQL里,接触了分库分表和主从同步;在Redis里,Redis也有主从结构;在Kafka里,分区也是有主从结构的。所以先介绍启用了主从同步我们的系统有一个关键组件-MongoDB,但是在最开始的时候,MongoDB没有启用主从,是......
  • 走进IT的世界
    引言随着高考的结束,对于即将踏入IT(信息技术)领域的新生而言,这个假期不仅是放松身心的时间,更是提前规划、深化专业知识、为大学生活奠定坚实基础的宝贵机会。以下是一份详尽的高考假期预习与规划指南,旨在帮助IT专业的新生们充分利用这段时间,为未来的学习之路做好充分准备。......
  • NoSQL 之 Redis 集群部署
    前言:(1)主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。(2)哨兵:在主从复制的基础上,哨兵实......
  • 探索Java编程的深邃宇宙 —— 走进【zhhll.icu】技术博客
    在浩瀚无垠的编程世界里,Java以其强大的跨平台能力、丰富的生态系统和广泛的应用场景,成为了众多开发者心中的“语言之星”。而对于每一位热爱Java、渴望在编程道路上不断前行的你来说,一个能够深入探索、持续学习、并与同行交流的平台显得尤为重要。今天,就让我带你走进这样一......
  • NoSQLBooster for MongoDB延长-试用期
    mongo的客户端较少,其中NosqlBoosterForMongo算是一个不错的客户端软件,但是他也不是免费的,试用期只有30天。好在这个软件是基于nodejs的。所以我们可以利用npm对这个应用进行解包串改源码,将源码中设置试用期的参数改成足够大,然后再封包,这样我们就能不断的白嫖了。      ......