NoSQL一词最早出现于1998年,它是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。CarloStrozzi认为,由于NoSQL.悖离传统关系数据库模型,因此,NoSQL应该有一个全新的名字,例如NoREL或与之类似的名字。
2009年,Last.fm的Johan Oskarsson(约翰·奥斯卡森)发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans(埃里克·埃文斯)再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。
2009年在亚特兰大举行的“no:sql(east)”讨论会是一个里程碑,该讨论会的口号是“select fun,profit from real world where relational=false:”。因此,对NoSQL最普遍的解释是“非关系型的”,主要是强调键值存储和文档存储数据库的优点,而不是单纯地反对关系数据库。
现如今,大家看到NoSQL这个词,可能会误以为是“No!SQL”的缩写,并深感诧异:“SQL怎么会没有必要了呢?”,实际上,NoSQL是Not OnlySQL的缩写,它的含义为“不仅仅是SQL”。NoSQL是一种非关系型、分布式、无须遵循ACID原则、不提供SQL功能的数据库,是对关系型数据库在灵活性和扩展性上的补充。NoSQL.的出现主要是解决大规模数据集合下数据种类多样性带来的挑战,尤其是大数据应用难题。
NoSQL具有“易扩展”“高性能”“灵活的数据模型”以及“高可用”等显著特点,这些特点的具体介绍如下。
1.易扩展
虽然NoSQL数据库的种类繁多,但是它们都拥有一个共同的特点,即去掉关系数据库的关系型特性。数据之间均无关系,这就使得数据库可以非常容易地扩展