NoSQL全称(Not Only SQL)
泛指非关系型数据库。
随着互联网网站的兴起,传统的关系型数据库的高并发量和容错性能以及实时性不能满足要求了。
大数据时代的3V:海量(Volume)
多样(Variety)
实时(Velocity)
互联网需求的3高:高并发
高可扩
高性能
为了满足这些要求,NoSQL应运而生。
特点:
没有声明性查询语言
没有预定义的模式
分为键值对存储,列存储数据库,文档存储数据库,图形数据库四类
没有ACID特性,但是有数据最终一致性的特点
非结构化和不可预知的数据
其分布式适用于CAP定理(只满足其中两点,不能三点全满足)
高性能,高可用性和可伸缩性
NoSql类的数据库都有以下特点:非关系型、分布式、开源、水平可扩展
NoSQL聚合数据模型:
顾名思义:聚合,就是把经常访问的数据放在一起。
这样的好处是:对于某个查询请求,可以一次与数据库交互直接取出来。(没有关系型数据库写那么多的left/right join来查找,影响效率)
坏处是:不支持ACID事务,聚合模型在事务方面的支持有限。
面向聚合数据的数据库模型有如下四种:
KV键值(用的最多)
Bson(类似JSON的数据)
列族
图形