为何须要NoSQL,NoSQL是什么

计算机科学中,任何设计都会有理论支撑。数据库设计天然不会例外。数据库

NoSQL(NoSQL = Not Only SQL ),意即"不单单是SQL"。并发

 

理论支撑

数据库分类,简单分红,关系型数据库核非关系型数据库。数据库设计

没错,NoSQL就属于非关系型数据库,它的理论支撑是CAP理论,CAP理论的核心是:一个分布式系统不可能同时很好的知足一致性,可用性和分区容错性这三个需求,最多只能同时较好的知足两个。所以,根据 CAP 原理将 NoSQL 数据库分红了知足 CA 原则、知足 CP 原则和知足 AP 原则三 大类:分布式

  • CA - 单点集群,知足一致性,可用性的系统,一般在可扩展性上不太强大。
  • CP - 知足一致性,分区容忍性的系统,一般性能不是特别高。
  • AP - 知足可用性,分区容忍性的系统,一般可能对一致性要求低一些。

 

为何须要NoSQL

一句话是,传统关系型数据库处理不了超大规模和超高并发的场景。高并发

这句话有些绝对,(若是不惜代价,拼命堆硬件,仍是能够处理的),可是主要就是想表达这个意思,也是NoSQL的优点。其实有以下4个方面:性能

 

为何NoSQL有处理超大规模和超高并发的场景的优点

超大规模的问题

关联扩展性:关系型数据库存在相似Join这样多表查询机制,使得数据库在扩展方面很艰难。非关系型没有Join这样的操做。设计

超高并发的问题

关联处理速度:数据量达到必定规模时,因为关系型数据库的系统逻辑很是复杂,使得其很是容易发生死锁等的并发问题,因此致使其读写速度下滑很是严重。3d

 

关系型数据库的特色

 

NoSQL有哪些优点

也是非关系型数据库的优势blog

 

NoSQL有哪些劣势

 

 

NoSQL 使用场景

 

NoSQL有6大类应用,及各个表明集群

 

全方位对比

 

(完)