2 u013179958 u013179958 于 2017.01.11 08:09 提问

为什么nosql数据库,这么火?它的出现解决了哪些问题?

为什么nosql数据库,这么火?它的出现解决了哪些问题?

例如mogodb

2个回答

tang_cheng
tang_cheng   2017.01.11 09:55
已采纳

我感觉楼上说的第一点根本不是理由,那文章的作者之所以选择nosql的根本原因是因为它现在的开发没有复杂的多表关联查询,如果以后业务复杂了,作者自然就会后悔当初的选择了。因为现在所谓的nosql数据库的原型就是我们当年的dBase,Foxpro之类的索引式数据库。当年用这类数据库开发复杂查询时的痛苦经历不堪回首。
nosql最大的特点就是对于单表数据可以海量分布式高速查询,且可以存储各种类型的数据。
而我们平时所用的关系型数据库由于要维护各种表关联关系,因此无论是读写速度还是存储格式都有很大的限制。
但这并不意味着nosql可以取代它,因为它的多表关联存储,复杂查询等是nosql无法替代的(即使有模拟实现也是无实用价值的)。所以真正的应用场合都是关系型数据库和nosql类的同时使用。把主键关联信息保存在关系型数据库中,海量数据保存在nosql中。

以下是百度对mongodb的说明:

其主要场景如下:
1)网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
2)缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
3)高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。
不适用的场景如下:1)要求高度事务性的系统。
2)传统的商业智能应用。
3)复杂的跨文档(表)级联查询。

oyljerry
oyljerry   Ds   Rxr 2017.01.11 09:38

在项目设计的初期,我当时有了这样的想法,同时也是在满足下面几个条件的情况下来选择最终的nosql方案的:

1、需求变化频繁:开发要更加敏捷,开发成本和维护成本要更低,要能够快速地更新进化,新功能要在最短的周期内上线。
2、客户端/api支持,因为这直接影响开发效率
3、部署简单
4、扩展能力强
5、节省系统资源,对cpu等资源耗费较小

http://www.2cto.com/database/201404/290132.html

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Docker到底是什么?为什么它这么火!
原文地址:Docker到底是什么?为什么它这么火! 摘要:Docker这种新的容器技术可谓热得发烫,因为有了它,人们就有可能让数量多得多的应用程序在同样的旧服务器上运行;有了它,人们也很容易封装和交付程序。本文旨在帮助你进一步了解Docker。   如果你是数据中心或云计算IT圈子的人,这一年多来应该一直在听到普通的容器、尤其是Docker,关于它们的新闻从未间断过。Docker1.0在今年6月
什么是nosql,nosql为什么会兴起,nosq有哪些主流数据库
1.什么是nosql,not only sql。 nosql数据库是一种比较低级的数据库,关系型数据库是由nosql数据库发展而来。 什么是关系型数据库,这里不从概念上区别,常用的SqlServer,mysql,oracle都是关系型数据库。关系型数据库顾名思义,数据库关系明确严谨。 而nosql则是一种数据关系不严谨的数据库。一个key和value。 2.nosql与关系型数据库之间数据
Java从何而来 为什么会如此火暴?
Java从何而来 为什么会如此火暴? 出自:中国电脑教育报 陆宁 2002年12月19日 14:41   没有人能够否认,Java已经红得发紫了。现如今,计算机行业的人们见面打招呼时,可能会问:“知道Java吗?”,“用过Java吗?”。在大学校园里,Java同样是炙手可热的。那些专心学一门计算机语言的同学们,已经扔掉了手中的VB、C++,开始努力学习Java了。Java语言只用了几年的时间就席卷
为什么前端工程师很难找?(最近很火的一个话题)
1、前端是一个比较新的行业,不像C、Java之类的在学校就可以学到(当然能学到多少是另一回事),目前我还没听说哪个学校会专门为CSS、Javascript开一个课程。相比后端或者设计人才,在学校的时候就希望往前端方向发展的人要少的多。这个圈子的人专业都不对口。 2、前端真正高速发展不过几年,相较C、Java,历史积累的技术经验少,很多前端牛人的技术都是自己在项目中锻炼出来的,但他们可能又没有
linux为什么这么火
linux为什么这么火 2008-04-19 21:16日前发现某些有技术没文化的人嘲笑windows程序员,让我回想起二十几年前vax程序员看不起unix程序员,嘲笑其根本不懂技术,unix根本就是玩具的故事。可结果是vax消亡了,unix发展了。于是给某些用过一点linux
为什么Python这么火
几年前 Python 在国内还只是一门小众语言,但从 2011开始到现在,Python 的百度搜索指数翻了10 倍,从下图看得出 Python 在国内的流行度已经直逼 Java,大有赶超之势 一个行业火不火,就看有多少(自)媒体、培训机构涌入进来为之疯狂,用百度搜关键字“python”就有5条是培训广告,而Ruby、PHP、Go 等语言一条都没有,显然还是Python的生意更好做。我最早接触
OPPO和vivo为什么这么火
在进入正题前, 先说一下2016年国产手机的销售情况。 华为作为传统老大依旧排在第一,OPPO和vivo分别占第二第三,小米占第四。 手机参数对比 这篇文章主要分析OPPO和vivo为什么买的火,所以我用现在(2017年2月)这两家卖的最火的机型做分析。 品牌 OPPO R9S vivo X9 红米4高配版 vivo X9 Plus 小米mix标配
3、深度学习为什么火起来?
本文属于学习笔记,依据(微信公众号:jack床长)的文章整理博客链接:http://blog.csdn.net/jiangjunshow是不是一脸懵逼,哈哈~,咱们接着往下看先上一张机具说服力的图这是一张训练数据量和算法性能的关系图,从图中可以看出,当我们给出越多的训练数据时,各种算法的性能都会越高。但是各个算法之间有所区别。对于传统的机器学习算法(黑色的曲线),最开始它的性能也在提升,但是后来,...
十种NoSQL数据库以及对比
 虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的工具,可以为大数据建立快速、可扩展的存储库。 1. Casssandra
为什么深度学习目前这么火爆?
神经网络早在上个世纪就已经出现,但是为什么如今改称“深度学习”后大红大紫呢?大抵有如下几个原因: 1 计算能力提高(GPU、分布式) 2 新的相对更加优化的算法(dropout、ReLU、max-pooling) 3 更大的数据量(包括data augmentation),以前数据量小,很容易overfitting 4 不需要hand-craft feature,在很多任务上都取得了sta