什么是NoSQL
NoSQL
NoSQL并不是一个完整的词,即它的意思不是没有Sql!,而是Not Only Sql的缩写,即不仅仅是Sql。泛指非关系型数据库,在web2.0时代,关系型数据库在处理高并发和超大规模的动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。而 Redis便是这其中的一个典型代表。
传统关系型数据库存储数据采用类似表格中行、列的固定方式存储,而当今许多的应用场景下,许多数据类型,比如个人的信息、地理位置等,并不是一个固定的格式,而非关系型数据库采用类似Java中Map<key,value>的方式存储数据,不需要横向扩展,在某些场景下比关系型数据库更加合适。
特点
- 方便扩展,因为数据之间没有联系。
- 大数据量提高性能,比如Redis官方给出的数据声称一秒可写8万次,读取11万次,而NoSql的缓存级是一种细粒度的缓存,性能较高。
- 数据类型多样 ,因为不像关系型数据库是固定的,所以不需要事先去对数据库进行设计,随取随用即可。
- 关系型数据库(RDBMS)与非关系型数据库(NoSql)相比:
RDBMS
-
组织是结构化的
-
结构化的查询语言SQL