NoSQL = Not Only SQL,解释为non-relation(非关系型数据库)。NoSQL数据库中的数据之间是无联系、无关系的,数据的结构是松散的、可变的
关系型数据库的瓶颈:
1)无法应对每秒上千万次的读写请求,无法处理大量集中的高并发操作。关系型数据是IO密集的应用,硬盘IO读写速度变为性能瓶颈
2)表中存储记录数量有限,横向扩展能力也有限,当数量达到百万级读写速度就会下降,查询SQL效率也会极大降低
3)无法简单的通过增加硬件、服务节点来提高系统性能
4)关系型数据库大多是收费的,且对硬件要求较高,花费成本也高
NoSQL的优势:
1)具有非常高的读写性能,处理海量数据
2)无需建立字段,随时存储自定义的数据格式,有灵活的数据模型
3)高可用,能很好的解决关系型数据库扩展性差的问题
4)成本低
NoSQL的劣势
1)数据无关系导致的数据冗余,数据修改时麻烦
2)没有标准,不支持标准SQL
3)没有约束,大多数也么没有索引的概念
4)没有事务,不能依靠事务完成ACID
5)没有数据类型
Redis:Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的Key-Value数据库,Key是字符类型,其值(Value)可以是字符串(String),哈希(Map),列表(list),集合(sets)等类型,每种数据类型有自己的专属命令,所以也通常被称为数据结构服务器