什么是 NoSQL?
是一类数据库管理系统的通称,
这一类数据库不同于传统的关系型数据库
关系型数据库:
MySQL
因此 NoSQL 不同于 MySQL
NoSQL 数据库的分类
- 列存储(Hbase)
列存储就是按列进行存储, 属于高级数据库
- 文档存储(MongoDB)
所谓文档存储, 也可以称按 json 存储, 一段 json 就是一段文档
- Key-value 存储(Redis)
通常用于缓存, 消息通信等
- 图存储(FlockDB)
- 对象存储(db4o)
- XML 存储(BaseX)
为什么要用 NoSQL?
简单(没有原子性, 一致性, 隔离性等复杂规范)
便于横向拓展(增加服务器数量来提高计算能力, 存储容量等)
纵向拓展(加内存,硬盘)
适合超大规模数据的存储
灵活存储复杂结构的数据(Schema Free)
为什么用 mongodb?
面向文档存储的开源数据库, 用 c++编写的
性能好(内存计算)
大规模数据存储(可拓展性)
可靠安全(本地赋值, 自动故障转移)
方便存储复杂数据结构(Schema Free, 所以不遵循严格的表结构,可以像 json 一样自由灵活存储)