MongoDB适合做商城app数据库吗?(mongodb为什么不支持事务)

MongoDB适合做商城app数据库吗?

刚好最近接触的项目是一个商城项目并且使用了MongoDB数据库。

创新互联主营宜春网站建设的网络公司,主营网站建设方案,成都App定制开发,宜春h5小程序开发搭建,宜春网站营销推广欢迎宜春等地区企业咨询

该商城系统使用MongoDB的目的是存储大量的商品信息,并且结合了搜索引擎lucene,以便于维护商品信息和进行查询。

说明商城系统使用MongoDB不是稀奇的事情。

一分钟了解MongoDB

MongoDB最大的特点是与MySQL等关系型数据库不同的是,他是基于分布式文件存储的数据库。它的存储的数据格式是最接近自然最面向对象的Json格式。

最重要的是,MongoDB,不支持复杂事务和连表查询。

请注意这一点也就意味着MongoDB的适用场景是有一定局限性的,如果你想要复杂连表查询和事务,那么MongoDB将做不到。

如果你是想维护单表信息并且做频繁得更新和查询,而且数据量增长指数很吓人,MongoDB非常适合。

宇文氏建议:

这也就意味着如果MongoDB用于电商系统,那么很可能作为其中的一个数据存储部分,多半会和MySQL等数据库联合使用。

关注“极客宇文氏”,一名有料的软件工程师。

个人认为,MongoDB不太适合用作商城APP的数据库:

能用是肯定能用的,但是不适合,开发过程中需要解决的问题会比较多且严峻;

单独只使用MongoDB是不适合的,可以用它解决一部分的问题,也就是关系型数据库和MongoDB配合着使用。

概括地说一下MongoDB是什么:它是一个基于分布式文件存储的非关系型数据库;我们常见的MySQL、Oracle都是关系型数据库,数据在关系型数据库中都是通过表的格式展现,可以看做二维表格;而MongoDB中的数据,类似于JSON格式(BSON)。

MongoDB除了性能上的优势之外,我认为最大的优点就是数据模式自由,如果你愿意的话,可以将任何数据都保存到同一张表中(MongoDB中叫做Collection,等同于关系型数据库中的Table);

比如像这样,一条客户信息,一条产品信息,两条毫无交集的数据,可以保存到同一个Collection中(比较极端的做法,实际使用的时候还是要区分开):

这个问题要看是什么样的商城?如果是作者可以小东西,商城非常简单,那还是可以的。现在比较火的前后端分离,以及全栈工程师,从前端写到后端,老顾看到有些视频和文章就是用MongoDB作为数据库进行开发的。

因地制宜

真实已经运营上线的商城系统是比较复杂的,设计到的技术点也是比较多的。好的系统不会只选择一种方案,而是遇到什么业务场景,选择不同的方案。

持久化方案

我们这里沟通一下持久化方案。小伙伴们经常挂到嘴边的数据库其实就是一种持久化方案,把数据保存到磁盘上面。经常用到的产品如:oracle,mysql,MongoDB,elasticsearch,hdfs,甚至redis都是。

不同的持久化产品有不同的特性,mongoDB采用的是kv存储的方式,高性能,天生支持分布式,常常是用来做数据分析的。他的弱点就是关联查询就比较麻烦。

而传统的mysql数据库关联查询就比较方便,但性能不高,搭建集群也比较麻烦。

总结:要看具体的业务场景,选择不同的持久化方案;不能脱离了业务,脱离业务就是耍流氓了。

首先,mongdb一个最大的缺点就是不能进行多表联合查询,也就是说像mysql等关系型数据库里面的join语法在mongdb是不存在的。所以说如果你想要的数据确保在一张表里就能查出来就还好,如果涉及到多表的话难道你想用各种for循环去实现表的联合查询吗?

而实际上商城系统还是比较复杂的,业务不可能用一张表来表达,肯定会涉及到多表查询,因此mongdb可以用在商城系统中的一环,但是不能用于全部。

到此,以上就是小编对于mongodb支持事务吗的问题就介绍到这了,希望这1点解答对大家有用。

分享题目:MongoDB适合做商城app数据库吗?(mongodb为什么不支持事务)
本文链接:http://www.zyruijie.cn/qtweb/news25/9025.html

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

广告

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