NoSQL概述

NoSQL,意为Not Only Sql,是为解决高并发和大规模动态网站的数据处理难题而出现的非关系型数据库。文中重点介绍了NoSQL的特点,如方便扩展、大数据量高性能、数据类型多样,并对比了NoSQL与关系型数据库RDBMS的区别。特别提到了Redis作为键值对存储的代表,其强大的性能表现。NoSQL四大分类包括键值对、文档型、列存储和图关系数据库,分别有Redis、MongoDB、HBase和Neo4j等实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是NoSQL

NoSQL

NoSQL并不是一个完整的词,即它的意思不是没有Sql!,而是Not Only Sql的缩写,即不仅仅是Sql。泛指非关系型数据库,在web2.0时代,关系型数据库在处理高并发和超大规模的动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。而 Redis便是这其中的一个典型代表。

传统关系型数据库存储数据采用类似表格中行、列的固定方式存储,而当今许多的应用场景下,许多数据类型,比如个人的信息、地理位置等,并不是一个固定的格式,而非关系型数据库采用类似Java中Map<key,value>的方式存储数据,不需要横向扩展,在某些场景下比关系型数据库更加合适。

特点

  1. 方便扩展,因为数据之间没有联系。
  2. 大数据量提高性能,比如Redis官方给出的数据声称一秒可写8万次,读取11万次,而NoSql的缓存级是一种细粒度的缓存,性能较高。
  3. 数据类型多样 ,因为不像关系型数据库是固定的,所以不需要事先去对数据库进行设计,随取随用即可。
  4. 关系型数据库(RDBMS)与非关系型数据库(NoSql)相比:
    RDBMS
  • 组织是结构化的

  • 结构化的查询语言SQL

  • 数据和关系都存在单独的表中,比如一张表中有多少列,多少行数据,外键、索引等

  • 一致性、原子性,基础的事务等

    NoSQL

  • 不仅仅是数据,比如还可以存储文件、图形等

  • 没有固定的查询语言,比如Redis中是通过get取值

  • 键值对存储,列存储,文档存储,图形存储等多种类型存储

  • 最终一次性,比如Redis的事务在出错时也能执行

  • 高可用、高性能、搞可扩

3V+3高

大数据时代的3V:主要是描述问题的

1.海量Volume

2.多样Variety

3.实时Veiocity

大数据时代的3高:主要是对程序的要求

1.高并发

2.高可扩(随时水平拆分,比如机器不够用了,可以扩展机器)

3.高性能

实践中,一般是NoSQL+RDBMS结合使用

NoSQL四大分类

  1. K-V键值对
  • Redis
  • Tair
  1. 文档型数据库(bson格式)
  • MongoDB
    • MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档
    • MongoDB是一个介于关系型数据库和非关系型数据库中间的产品,MongoDB是非关系型数据库中功能最丰富,最像关系型数据库的
  • ConthDB
  1. 列存储数据库
  • HBase
  • 分布式文件系统

4.图关系数据库

  • 不是存图形,放的是关系,比如:朋友圈社交网络,广告推荐
  • Neo4j、InfoGrid

四者对比
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值