什么是NoSql?为什么要使用NoSql?
1、什么是Nosql?
2、为什么要使用NoSql ?
3、NoSql数据库的优势
4、常见的NoSql产品
1、什么是Nosql?

NoSQL 通常指的是非关系型数据库系统。伴随着互联网 web2.0 网站的崛起,在处理网页 2.0 网站时——尤其是像社交媒体(SNS)这样的超大规模和高并发纯动态网页——传统的关系型数据库已经显现出力不从心的表现——遇到了许多难以解决的问题——而非关系型 数据库体系则凭借其自身的优势呈现出快速发展的态势。
NoSQL 数据库体系主要是为了应对面对超大规模和高并发访问需求的各种不同数据类型所带来的挑战——尤其是大数据应用中的难题。
NoSQL 最主要的称呼是 "non-relational" ,而 "Not Only SQL" 也是其常用译法。作为概念范畴,NoSQL 简单来说即 "非关系型数据库" ,与传统的关系型数据库存在显著区别。
NoSQL 不仅是一个简单的术语定义,在实际应用中它更被理解为一种广泛的概念集合。
这类数据库系统的特点在于它们不保证关系型数据系统的 ACID 特性。
2、为什么要使用NoSql ?

在 90 年代时分, 一个网站的访问规模相对较小, 单个数据库即可轻松应对日常运营. 那时互联网上的网站大多以静态网页为主, 动态交互型网站尚处于萌芽阶段.
到了最近 10 年间, 网站发展速度迅猛. 炎热的论坛、博客以及社交媒体类网站逐渐成为网络环境中的主流. 不过即使在早期阶段, 论坛类网站的实际访问量也并不算大. 如果是接触网络较早的人士, 可能会想起那个时期还存在基于纯文本存储的老版论坛软件, 那么一般的论坛能有多少流量呢?
传统数据库面临的局限性。
传统关系型数据库展现出良好的性能,并且具有高度稳定性。它经过了岁月长河中无数次考验,并且应用广泛的同时也积累了许多成功的经验。
在互联网行业中,
MySQL成为行业的领军者,
十分突出的表现使它能够引领整个领域的发展方向。
3、NoSql数据库的优势

(1) 易扩展
NoSQL 数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。 数据之间无关系 ,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。
(2) 大规模数据存储与高效处理
NoSQL 数据库同样具备在大规模数据量下的高效读写能力。这种能力得益于其无关系性带来的简单结构设计。通常情况下,在使用 MySQL 时,默认会启用 Query Cache 功能,在每次表更新后查询缓存就会失效。然而这种大粒度的查询缓存策略并不适合频繁交互的应用场景,在 web2.0 环境下容易导致查询性能下降。相比之下 NoSQL 数据库采用记录级的缓存机制(即细粒度的缓存),显著提升了其缓存效率。
(3) 灵活的数据模型
非关系型数据库支持灵活的数据模型设计,能够存储任意数据类型和格式.相比之下,传统的关系型数据库要求预先定义固定的字段结构,增删字段是一项繁琐的操作.对于处理海量数据的表而言,频繁地增加或删除字段简直是一个挑战.这一特性在大数据时代的Web2.0时代尤为显著.
(4) High Availability
Without significantly impacting performance, NoSQL databases can conveniently implement a high availability architecture. For instance, systems like Cassandra and HBase utilize replication mechanisms to achieve high availability.
4、常见的NoSql产品

