NoSQL=not only sql,泛指非关系型数据库,很多数据的存储不需要固定的格式,例如Map<String,Object>。
NoSQL特点:
1、方便扩展,数据之间没有关系,解耦
2、高性能(Redis一秒写8万次、读11万次)
3、数据类型是多样的,不需要事先设计数据库,随取随用
实际中关系型数据库+NoSQL结合使用。
NoSQL四大分类:
1、键值对:例如redis,优点:查找速度快;缺点:数据无结构化。
2、文档型数据库:例如MongoDB(是一个基于分布式文件存储的数据库,介于关系型数据库和非关系型数据库中间的产品,是关系型数据库中功能最丰富、最像关系型数据库的)、ConchDB,优点:数据结构要求不严格表结构可变、不需要预先定义表结构;缺点:查询性能不高,缺乏统一的查询语法。
3、列存储数据库:例如HBase、分布式文件系统,优点:查找速度快、可扩展性强、更容易进行分布式扩展;缺点:功能相对局限。
4、图关系数据库:存储图与图之间关系的,比如朋友圈社交网络、广告推荐,优点:利用图结构相关算法;缺点:需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式集群方案