NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。
    在现代的计算系统上每天网络上都会产生庞大的数据量。
    这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。
    通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。
    NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

    NoSQL的优点/缺点
    优点:

    • 高可扩展性
    • 分布式计算
    • 低成本
    • 架构的灵活性,半结构化数据
    • 没有复杂的关系

    缺点:

    • 没有标准化
    • 有限的查询功能(到目前为止)
    • 最终一致是不直观的程序 | 类型 | 部分代表 | 特点 | | —- | —- | —- | | 列存储 | 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。 |