NoSQL

发布时间 2023-09-23 13:32:37作者: liuzonglin

NoSQL

NoSQL简介

NoSQL全称是Not Only SQL(不仅仅是SQL)它是一种非关系型数据库,相比传统SQL关系型数据库,它:

  • 不保证关系数据的ACID特性
  • 并不遵循SQL标准
  • 消除数据之间关联性

乍一看,这玩意不比MySQL垃圾?我们再来看看它的优势:

  • 远超传统关系型数据库的性能
  • 非常易于扩展
  • 数据模型更加灵活
  • 高可用

这样,NoSQL的优势一下就出来了,这不就是我们正要寻找的高并发海量数据的解决方案吗!

NoSQL数据库分为以下几种:

  • 键值存储数据库: 所有的数据都是以键值方式存储的,类似于我们之前学过的HashMap,使用起来非常简单方便,性能也非常高。
  • 列存储数据库: 这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。
  • 文档型数据库: 它是以一种特定的文档格式存储数据,比如JSON格式,在处理网页等复杂数据时,文档型数据库比传统键值数据库的查询效率更高。
  • 图形数据库: 利用类似于图的数据结构存储数据,结合图相关算法实现高速访问。

其中我们要学习的Redis数据库,就是一个开源的键值存储数据库,所有的数据全部存放在内存中,它的性能大大高于磁盘IO,并且它也可以支持数据持久化,他还支持横向扩展、主从复制等。

实际生产中,我们一般会配合使用Redis和MySQL以发挥它们各自的优势,取长补短。

NoSQL 数据库

NoSQL 数据库描述

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库

NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。

  • 不遵循SQL标准。
  • 不支持ACID。
  • 远超于SQL的性能。

NoSQL 适用场景

  • 对数据高并发的 IO (读写)
  • 海量数据的读写
  • 对数据高可扩展性的

NoSQL不适用场景

  • 需要事务支持
  • 基于sql的结构化查询存储,处理复杂的关系,需要即席查询。
  • 用不着sql的和用了sql也不行的情况,请考虑用NoSql