NoSQL与关系型数据库对比,
1、存储格式
关系型数据库:表格式,行和列
NoSQL:文档、键值对、图结构
2、存储规范
关系型数据库:规范性,避免重复
NoSQL:鼓励冗余
3、存储扩展
关系型数据库:纵向扩展(横向扩展有限)
NoSQL:横向扩展,分布式
4、查询方式
关系型数据库:结构化查询
NoSQL:非结构化查询语言SQL
5、事务
关系型数据库:支持事务
NoSQL:不支持事务一致性
6、性能
关系型数据库:读写性能差
NoSQL:读写性能高
7、成本
关系型数据库:成本高
NoSQL:简单易部署,开源,成本低
8、存储方式
关系型数据库:数据主要存储在磁盘中
NoSQL:数据主要存储在内存中(部分可以持久化到磁盘)
9、建表原则
关系型数据库:建立在关系模型基础上的数据库,依靠表、字段等关系模型,以列或字段构建关联
NoSQL:数据模型比较简单,用Key-Value的形式来存储数据,集合就相当于“表”,文档就相当于“行”,不需要高度的数据一致性
常见的NoSQL四大类:
- 键值存储数据库:Oracle BDB、Redis、BeansDB
- 列式储数数据库:HBase、Cassandra、Riak
- 文档型数据库:MongoDB、CouchDB
- 图形数据库:Neo4J、InfoGrid、Infinite Graph