为什么需要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这样的操作。

超高并发的问题

关联处理速度:数据量达到一定规模时,由于关系型数据库的系统逻辑非常复杂,使得其非常容易发生死锁等的并发问题,所以导致其读写速度下滑非常严重。

 

关系型数据库的特点

 

NoSQL有哪些优势

也是非关系型数据库的优点

 

NoSQL有哪些劣势

 

 

NoSQL 使用场景

 

NoSQL有6大类应用,及各个代表

 

全方位对比

 

(完)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章