谈谈mongodb,mysql的区别和具体应用场景

 我来答
简丹笑home
2017-04-03 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:77%
帮助的人:48.7万
展开全部

(1)MySQL数据库:

属于关系型数据库

在不同的引擎上有不同的存储方式。

查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

开源数据库的份巧敬额在不断增加,mysql的份额页在持续增长。

缺点就是在海量数据处理的时候效率会显著变慢。

(2)Mongodb数据库:

非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。

存储方式:虚拟内存+持久化。

查询语句:是独特的Mongodb的查询方式。

适合场景:事件的记录,内容管理或者博客平台等等。

架构特点:可以通过副本集,以及分片来实现高可用。

数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读纳宏写。

成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型孝茄慎数据库,比较完善的DB之一,适用人群不断在增长。

分析一下Mysql和Mongodb应用场景

1.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量: (1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) (2)从data models设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。 (3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。

2.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。 考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。 亦或是仅作日志收集分析。

参考原文:http://www.cnblogs.com/eternal1025/p/5419905.html

up...2@sohu.com
2017-04-03 · TA获得超过338个赞
知道小有建树答主
回答量:238
采纳率:33%
帮助的人:40.3万
展开全部
1. MongoDB比MySQL快在它有Memory-Mapping以及它不用处理事物2. MySQL适用于传统的对关联要求高的方面,MongoDB更多用于Logging、SNS等以K-V居多的需求,但是两种数据库其实都能胜任大多数需求。对MongoDB来说,关联一般是做槐塌成内联的,最大程度发挥其优势。而如果内联起来比较纠结或者冗余太多处理麻春明旅烦的时候当然用SQL更恰当了3. 新项目可以考虑用MongoDB 如果经验不足而时间紧迫则可以继续用MySQL4. 总之适当的任务用适当的工具5. MongoDB有比较好的扩扒凳展能力,可以很容易做成分布式架构6. 对MongoDB来说,内存越多越好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式