NoSQL数据库
1、NoSQL数据库概述
NoSQL(Not Only SQL):即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL不依赖业务逻辑方式存储,而以简单的Key-Value形式存储数据,因此增加了数据库的扩展能力。
- 不遵循SQL标准
- 不支持ACID
- 远超SQL的性能
2、NoSQL适用场景
- 对数据高并发的读写
- 海量数据的读写
- 对数据有高可扩展性
3、NoSQL不适用场景
- 需要事务支持
- 基于SQL的结构化查询存储,处理复杂的关系,需要多表联合查询
4、NoSQL - Memcache
- 很早出现的NoSQL数据库
- 数据都在内存中,一般不持久化
- 支持简单的Key - Value模式,支持类型单一
- 一般是作为缓存数据库辅助持久化的数据库
5、NoSQL - Redis
- 几乎覆盖了Memcache的绝大部分功能
- 数据都在内存中,支持持久化,主要用作备份恢复
- 除了支持简单的 Key - Value 模式,还支持多种数据结构的存储,比如list、set、hash、zset等
- 一般是作为缓存数据库辅助持久化的数据库
6、NoSQL - MongoDB
- 高性能、开源、模式自由(schema free)的文档型数据库
- 数据都在内存中,如果内存不足,把不常用的数据保存到硬盘
- 虽然是 Key - Value 模式,但是对 Value (尤其是 Json )提供了丰富的查询功能
- 支持二进制数据及大型对象
- 可以根据数据的特点替代RDBMS(关系数据库管理系统),成为独立的数据库。或者配合RDBMS,存储特定的数据。