想用MongoDB取代MySQL可以吗?

爬虫的数据库选型,redis、leveldb、 mongodb、 mysql应该选哪个?

选mongodb,爬虫表字段不定,变化比较大,所以像mysql这种关系型数据库不太合适,开发起来不大方便。而redis的数据查询功能查询功能相对来说比较弱,而有时爬回来的数据要做数据分析需要用到一些条件查询,对于条件查询redis是非常鸡助的。leveldb不熟,不清楚。mongo基本可以实现上述的所有需求,动态字段、条件查询,所以很适合用作爬虫数据的存储。

成都创新互联主要从事网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务顺城,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

首选mongodb,。redis强内存型,快,但持久化查询都比较方便,不实用。leveldb没见过。MySQL关系型数据库,不容易拓展。mongodb刚好基于内存而又易拓展易持久化。

想用MongoDB取代MySQL可以吗?

Mongodb作为最靠近关系数据库的Nosql存储,取代MySQL可以吗?

从功能角度看,是可以取代的。

关系数据库应该有的核心功能它都有了:B树索引,事务(4.0)。

一些比较重要的小更新,比如Decimal128(3.4)的添加都让它的功能更加完善。

你在Mysql里面用的复杂查询基本上都可以用管道或者MapReduce实现。

我在好几个项目中完全使用的Mongodb,经验如下:

* 关联查询麻烦,所以Mongodb在设计模型的时候倾向于数据都内联,配合少量的In 查询。这样也会导致数据冗余后一致性更新的问题。

* 设计动态表格时,Mongodb的体验时非常好的。

* 4.0之前的没有事务,碰到金钱相关的服务,需要自己在服务中构造事务环境,否则一旦失败无法回滚。这也会造成这块代码膨胀。

谢谢邀请。

我现在带的项目用到了MongoDB,本人对MongoDB也有一定的了解,下面我谈谈自己的看法。

先一句话概括:MongoDB和MySQL(关系型数据库)各有特点,它们适合的场景不同;而企业级应用的大部分场景,MongoDB是无法完全取代MySQL的。

在分析这个问题之前,我们还是看看MongoDB的定义:MongoDB是一个数据库;再稍微详细一点儿,它是一个开源的、基于分布式文件存储的、非关系型数据库。

说到非关系型数据库,最有名的可能就是Redis了,它是一种Key-Value类型的数据库;而MongoDB,它是文档型数据库的一种,它的存储方式类似于JSON。

自己也是程序员,分享一些观点给你,其实不管是MongoDB还是Mysql,它们都是用来存储数据用的,只不过存储数据的方式不同,MySQL主要用于存储关系类的数据,而MongoDB主要用于存储键值类的数据,也就是我们常说的NOSQL,曾经一段时间,NOSQL是很多中小互联网公司追求的东西。

那么既然都是存储数据用的,那么肯定也可以相互替换,但是一个重要的问题就是,怎么样将MongoDB里面的数据存储到MySQL里面或者相反方向有怎么存储?这才是整个业务代码非常复杂的实现部分,比如你要将MySQL的数据存储到MongoDB里面去,那么你需要做的事情就是理清MySQL数据表里面的各种关系,然后将这些关系转换为键值对存储到MongoDB里面去,想象一下这个工作量我们就应该知道,不是那么的简单,尤其是数据表非常多,并且数据表关系非常复杂的时候,这项迁移工程是需要后端程序员、数据库DBA、运维人员等等一起才能够完成的事情。

所以得出结论,虽然两种数据库可以相互替换,但是替换的成本非常高,很多企业是不会这样做的,除非现在项目性能已经严重影响到目标用户。

脱离业务场景,空谈技术架构都是耍流氓。

我们公司同一个项目就同时在用Mysql和MongoDB,希望通过下面介绍可以帮助你真正了解到Mysql和MongoDB优劣对比及实际业务应用场景。

以下来自最新的db-engines的数据库人气排行榜

接下来我们看一下前十名的趋势变化图:

关系数据库前10名如下:

文档数据库前10名如下:

到此,以上就是小编对于mongodb建表和字段的问题就介绍到这了,希望这2点解答对大家有用。

新闻名称:想用MongoDB取代MySQL可以吗?
本文地址:http://www.shufengxianlan.com/qtweb/news47/1347.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联