1、NoSQL数据库简介
1.1、NoSQL的好处?
- NoSQL通过内存存储数据,可以解决CPU及内存的压力
- NoSQL可以作为缓存数据库,解决IO压力
1.2、NoSQL数据库的概述
NoSQL=Not Only SQL,不仅仅是SQL,泛指非关系型数据库。
NoSQL不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
特点:
- 不遵循SQL标准。
- 不支持ACID(原子性、一致性、隔离性、持久性)。
- 远超于SQL的性能。
1.3、NoSQL适用场景
- 对数据高并发的读写。
- 海量数据的读写。
- 对数据高可扩展性的(比如:秒杀)
1.4、NoSQL不适用场景
- 需要事物支持。
- 基于SQL的结构化查询存储,处理复杂的关系。
1.5、常见的NoSQL数据库
1.5.1、Memcache
- 很早出现的NoSQL数据库。
- 数据都在内存中,不支持持久化。
- 支持简单的key-value模式,支持类型单一。
- 一般是作为缓存数据库辅助持久化的数据库。
1.5.2、Redis
- 几乎覆盖了Memcache的绝大部分功能。
- 数据都在内存中,支持持久化,主要用作备份恢复。
- 除了支持简单的key-value模式,还支持多种数据结构的存储,比如list、set、hash、zset等。
- 一般是作为缓存数据库辅助持久化的数据库。
1.5.3、MongoDB
- 高性能、开源、模式自由的文档型数据库。
- 数据都在内存中,如果内存不足,把不常用的数据保存到硬盘。
- 虽然是key-value模式,但是对value(尤其是json)提供了丰富的查询功能。
- 支持二进制数据及大型对象。
- 可以根据数据的特点代替RDBMS,成为独立的数据库。或者配合RDBMS,存储特定的数据。
|