
1、MongoDB,是一个面向文档的开源NoSQL数据库;
2、Cassandra,是Facebook为收件箱搜索开发的;
3、Redis,是最著名的键值存储。
NoSQL数据库(非关系型数据库)是用于存储和检索数据的非关系数据库系统。在当今世界,我们不应该只以没有预定义固定模式的表格式存储所有数据(固定没有列)。像用户生成的数据、地理位置数据、物联网生成的数据一样,社交图是真实世界数据呈指数级增长的例子。这些庞大的数据也需要大量的处理。这时NoSQL数据库就出现了。使用NoSQL数据库,我们可以存储和退休的文件,键值,图形为基础的数据容易和更快。我们可以很容易地避免复杂的SQL连接 *** 作。易于使用NoSQL DBs对实际问题(web和企业业务应用程序)进行水平伸缩。
我谈一点个人的见解吧。记得之前看过一篇帖子,讲的是可能我们所说的非关系型数据库是我们翻译错了。年代久远,找不到原贴了,但是大概说的是非关系型数据库的名字叫Not Only Sql,我们简化过来就叫NoSql,所以看着就像是非关系型数据库,然后我们再顾名思义,就是数据之间没有关系的数据库,这个理解我不赞同。
如果从名字上来看,我觉得可以叫做不仅仅是关系型的数据库,更为恰当,当然,我们也不能否认,这类数据库确实在数据关联之间更为自由,约束条件更少,(甚至没有),但是这并不能阻挡它的发展,以“键值对”为基础的NoSql在性能上可以说是碾压对手,大家都知道NoSql不需要经过Sql层的解析的,相比关系型数据库数据之间的高耦合性,这让它具有更高的平行扩展性,当然这方面你需要去看一下相关的知识,高耦合低聚合等等概念需要理解一下。
大概就是我的理解了吧,关系型数据库就不用说了吧,我们常常用到,现在的主流数据库我们也都在接触,大到Oracle,小到Sqlite,相信你也比较熟悉,这些数据库都是支持事务和相当复杂的查询的,往往我们一条查询语句可以上百行(一子句一行)甚至上千行,这些都是NoSql做不到的,(注意我说的是一条查询语句),事务这个概念我也不多提了,这个网上就太多了,如果涉及到高并发之类的,可以多线程+事务,效率更高一些。
最后再补两句,好像现在的NoSql数据库的发展趋势很微妙,描述在往一些关系型数据库的基础模型延伸。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)