一、特点
- 灵活的可拓展性
- 灵活的数据模型
- 和云计算的紧密结合
二、传统的关系型数据库
- 非常完备的关系理论基础
- 具有事务性机制的支持
- 高效的查询优化机制
三、NoSQL数据库分类
- 键值数据库:就是一堆键值对。
- 列族数据库:HBase根据列族进行垂直划分,根据行键进行水平划分。
- 文档数据库:可看作键值数据库,它的值是文档而非标量。
- 图数据库:以图结构存储相关信息。
四、文档数据库
- MongoDB,CouchDB
- 特性:
- 能够将自己的数据的内容和类型进行自我描述。
- 拥有更好的并发性。
五、图数据库
- Neo4j
六、NoSQL数据库三大理论基石
- CAP:
- C:Consistency(一致性):指任何一个读操作,总能读到之前完成的写操作的结果。
- A:Availability(可用性):指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应。
- P:Partition tolerance(分区容忍性):指当出现网络分区的情况时(即系统内的一部分节点无法与其他节点进行通信时),分离的系统也能正常运行。
- BASE
- 最终一致性