NoSQL,泛指非关系型的数据库。NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

优势

  • 易扩展,NoSql数据库种类繁多,数据之间无关系(这样就非常容易扩展)
  • 大数据量高性能,有非常高的读写性能,益于它的无关系行(结构简单),MySQL使用Query Cache(查询缓存),每次表的更新Cache就失效,而NoSQL的Cache是记录级的
  • 多样灵活的数据模型,无需事先为要存储的数据建立字段(随时可以存储自定义的数据格式),关系数据库中增、删字段是一件非常麻烦的事情

分类 

类型

部分代表

特点

列存储

Hbase

Cassandra

Hypertable

顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。

文档存储

MongoDB

CouchDB

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。

key-value存储

Tokyo Cabinet/Tyrant

Berkeley DB

MemcacheDB

Redis

可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)

图存储

Neo4J

FlockDB

图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。

对象存储

db4o

Versant

通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

xml数据库

Berkeley DB XML

BaseX

高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。