近期总是提到NoSQL这个词汇。起初仅仅知道。应该是一种数据库而已。仅仅是这样的数据库眼下符合当前互联网的需求,应用比較广泛。逐渐发现。当前的各个公司在招聘信息中会有掌握NoSQL的优先等要求。于是,抱着好奇的心理,来查了一些资料,并进行了整理,来分享给大家!
以下的内容来源于百度百科
NoSQL泛指非关系型的数据库。随着互联网web2.0站点的兴起。传统的关系数据库在应付web2.0站点,特别是超大规模和高并发SNS类型的web2.0纯动态网站已经显得力不从心,暴露了非常多难以克服的问题,而非关系型的数据库则因为其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
虽然NoSQL流行语火起来才短短一年的时间,可是不可否认。如今已经開始了第二代运动。虽然早期的堆栈代码仅仅能算是一种实验。然而如今的系统已经更加的成熟、稳定。只是如今也面临着一个严酷的事实:技术越来越成熟——以至于原来非常好的NoSQL数据存储不得不进行重写,也有少数人觉得这就是所谓的2.0版本号。

这里列出一些比較知名的工具。能够为大数据建立高速、可扩展的存储库。


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

NNoSQL数据库的四大分类

键值(Key-Value)存储数据库
这一类数据库主要会使用到一个哈希表这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。

可是假设DBA仅仅对部分值进行查询或更新的时候,Key/value就显得效率低下了。[3] 举比如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

列存储数据库。
这部分数据库一般是用来应对分布式存储的海量数据。

键仍然存在,可是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak.

文档型数据库
文档型数据库的灵感是来自于Lotus Notes办公软件的,并且它同第一种键值存储相类似。该类型的数据模型是版本号化的文档。半结构化的文档以特定的格式存储。比方JSON。

文档型数据库可 以看作是键值数据库的升级版。同意之间嵌套键值。并且文档型数据库比键值数据库的查询效率更高。

如:CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB。已经开源。

图形(Graph)数据库
图形结构的数据库同其它行列以及刚性结构的SQL数据库不同。它是使用灵活的图形模型,而且可以扩展到多个server上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询须要制定数据模型。很多NoSQL数据库都有REST式的数据接口或者查询API。[2] 如:Neo4J, InfoGrid, Infinite Graph.
因此,我们总结NoSQL数据库在下面的这几种情况下比較适用:1、数据模型比較简单;2、须要灵活性更强的IT系统。3、对数据库性能要求较高。4、不须要高度的数据一致性。5、对于给定key,比較easy映射复杂