NoSQL是什么:
not only sql
:泛指非关系型的数据库。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。
用来干什么:
解决性能问题
特点:
- 不遵循SQL标准
- 不完全支持ACID
- 远超SQL的性能
适用于:
- 高并发场景
- 海量数据的读写
- 高扩展性
不适用于:
- 需要事务的支持
- 基于SQL结构化查询存储,处理复杂关系
常见的NoSQL:
Redis
- 数据存在内存中,支持持久化
- 除支持简单key-value模式,还支持多种数据结构存储,如list、set、hash、zset等
- 一般作为缓存数据库,辅助持久数据库
MongoDB
- 高性能、开源、模式自由的文档型数据库
- 数据存在内存中,内存不足,把不常用的数据保存到硬盘
- key-value模式,但对value提供了丰富的查询功能
- 支持二进制数据和大型对象
- 可以根据数据的特点代替RDBMS,成为独立的数据库,或配合RDBMS存储特定的数据