NoSQL诞生

为什么出现NoSQL

随着互联网的发展,当我们把一台服务器一台服务器变成两台服务器,当我们开始建立数据备份,当我们需要加一个缓冲层,来调整所有的查询,投入更多的硬件。

最后,需要将数据切分多个集群上,并重构大量的应用逻辑以适应这种切分。不久之后,你就会发现被自己数月前的设计数据结构限制住了。

随着 web2.0 的兴起,关系型数据库本身无法克服的缺陷越来越明显,主要表现为如下几点:

  1. 对数据高并发读写的需求。
  2. 对海量数据的高效率存储和访问的需求。
  3. 对数据库的高可扩展性和高可用性的需求。
  4. 数据库事务一致性需求。
  5. 数据库写实性和读写时性需求。
  6. 对复杂 SQL 的查询,特别是对关联查询的需求。

NoSQL 是 Notonly SQL 的缩写,NoSQL 不使用 SQL 作为查询语言。其数据存储可以不需要固定的表格模式,也经常避免使用 SQL 的 join 操作,一般有水平可扩展性的特征。

NoSQL历史

  1. NoSQL 一词最早出现在 1998 年,是 Carlo Strozzi 开发的一个轻量、开源、不提供 SQL 功能的关系数据库。
  2. 2009 年,Last.fm 的 Johan Oskarsson 发起了一次关于分布式开源数据库的讨论,来自 Rackspace 的 Eric Evans 再次提出了 NoSQL 概念,这时的 NoSQL 主要是指非关系型、分布式、不提供数据库设计模式。
  3. 2009 年趋势高涨,被定为 “非关系型的” 数据存储,相对于关系型数据库运用,这一概念无疑是一种全新思维的注入。