1.特点:
1.方便扩展(数据之间没有关系,好扩展)
2.大数据量高性能(Redis一秒能写8w次,读取11w,NoSQL的缓存是记录级的,是一种细粒度的缓存,性能比较高)
3.数据类型是多样的(不需要事先设计数据库,随取随用)
4.传统RDBMS和NoSQL
传动RDBMS:
- 结构化组织
- SQL
- 数据和关系都存在单独的表中
- 操作,数据定义语言
- 严格的一致性
- 基础的事务
NoSQL
- 不仅仅是数据
- 没有固定的查询语言
- 键值对存储(Map),列存储(HBase),文档存储(MongoDB),图形数据库(做拓扑图用,如社交关系)
- 最终一致性(中间可以有误差)
- CAP定理和BASE(异地多活)
- 高性能、高可用、高可扩展
2.大数据3V+3高
3V:主要是描述问题的
- 1.海量Volume
- 2.多样Variety
- 3.实时Velocity
3高:主要是对程序的要求
- 1.高并发
- 2.高可扩
- 3.高性能
3.四大分类
KV键值对:
新浪:Redis
美团:Redis+Tair
阿里、百度:Redis + Memacache
文档型数据库(bson格式和json一样):
MongoDB:是一个基于分布式文件存储的数据库(C++),是一个介于关系型数据库和非关系型数据库中间的产品,是非关系型数据库中功能最丰富的的,最像关系型数据库。
ConchDB
列存储数据库:
HBase
分布式文件系统
图形关系数据库
不是存图形,是关系,如社交网络、广告推荐等
Neo4j、InfoGrid