NoSQL数据库介绍
技术发展以及特点
技术分类
- 解决功能性问题:Java、jsp、Tomcat、HTML、jdbc
- 解决扩展性问题:Spring、SpringMVC
- 解决性能问题:NoSQL、Java线程
解决cpu及内存压力
session存在问题

- 存在cookie中
不安全
网络负担效率低 - 存在文件服务器或者数据库里
大量io效率问题 - session复制
数据冗余
节点越多浪费越大 - 缓存数据库
完全在内存中,速度快
数据结构简单
解决io压力
应用缓存数据库来减小相应的io操作(文档数据库、列式数据库)
NoSQL数据库
NoSQL数据库概述
- 泛指非关系性数据库
- nosql不依赖业务逻辑方式存储,仅仅只是简单的key-value模式存储。大大增加了数据库的扩展能力
NoSQL特点
- 不遵循SQL标准
- 不支持ACID(原子性、一致性、隔离性、持久性)
- 远超于SQL的性能
NoSQL应用场景
- 对数据高并发的读写
- 海量数据的读写
- 对数据高可扩展性的
NoSQL不适用的场景
- 需要事务支持
- 基于SQL的结构化查询存储,处理复杂的关系
常见的NoSQL数据库
memcache
- 最早出现的NoSQL数据库
- 数据都在内存中,但是 不能持久化
- 支持简单的key-value,支持类型单一,只支持字符串
- 一般作为缓存数据库辅助持久化的数据库
redis
- 支持memcahce的绝大部分功能
- 数据都在内存中,支持持久化,主要用作备份恢复
- 除了支持简单的key-value,支持多种数据结构,比如list、set、hash、zset等
- 一般作为缓存数据库辅助持久化的数据库
mongoDB
- 高效、开源、模式自由的文档类型
- 数据存储在内存中,如果内存不足、会将不常用的数据存储到硬盘中
- 是key-value模式,但是支持丰富的查询功能
- 支持二进制数据以及大型数据对象
- 根据数据的特点可以替换RDBMS,成立独立的数据库。或者配合RDBMS,存储特定的数据。
行式存储数据库
行式数据库
列式数据库
版权声明:本文为ChenfengZhang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。