什么是NoSQL
NoSQL
NoSQL = Not Only SQL,意思:不仅仅是SQL;
泛指非关系型的数据库,随着互联网Web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别
是超大规模和高并发的社交网络服务类型的Web2.0纯动态网站已经显得力不从心,暴露了很多难以克服
的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展,NoSQL数据库的产生就是为
了解决大规模数据集合多种数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。
(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模
式,无需多余操作就可以横向扩展。
NoSQL的特点
1、易扩展
NoSQL 数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。
数据之间无关系,这样就非常容易扩展,也无形之间,在架构的层面上带来了可扩展的能力。
2、大数据量高性能NoSQL数据库都具有非常高的读写性能,尤其是在大数据量下,同样表现优秀。这得益于它的非关系
性,数据库的结构简单。
一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大力度的Cache,在针对Web2.0的
交互频繁应用,Cache性能不高,而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL
在这个层面上来说就要性能高很多了。
官方记录:Redis 一秒可以写8万次,读11万次!
3、多样灵活的数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式,而在关系数据库里,增删
字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是噩梦。
4、传统的RDBMS VS NoSQL
拓展:3V 3高
大数据时代的3V :主要是对问题的描述
海量 Volume
多样 Variety
实时 Velocity
互联网需求的3高 :主要是对程序的要求
高并发
高可用
高性能
当下的应用是 SQL 和 NoSQL 一起使用,技术没有高低之分,就看你怎么用,对吧!