专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 22:15:29       共计:3606 浏览
mysql数据库关联,MongoDB适合做商城app数据库吗?

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

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

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

MongoDB是什么,以及它的优点

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

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

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

为什么说MongoDB不太适合用作商城应用的数据库

首先,商城应用对事务一致性要求非常高,而MongoDB在事务的支持上,比较晚熟;MongoDB在3.0左右的版本,开始支持单文档的事务,到了4.0以上的版本,开始支持多文档事务;MongoDB发展的越来越好,但是在事务支持上,和关系型数据库相比确实还是有差距。

第二,通常商城相关的业务,表结构相对都是比较成熟且固定的,比如客户表、商品表、订单表、支付表等等,同一个维度的数据结构基本都是相同的,比如客户都会有姓名、手机号、收货地址,这并没有发挥MongoDB数据结构自由的优势,关系型数据库已经可以很好地支撑。

第三,MongoDB在多表关联方面,优势不大,比如需要查询客户下面所有的订单,那么可能需要关联客户表和订单表;而让MongoDB来实现,订单可以作为客户下面的一个子文档来存储,大概就是这个样子:

总结来说,MongoDB更多适用于大数据量、高并发、弱事务、数据结构“随意”且“善变”的场景,是对关系型数据库的补充。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:有哪些好的手机app推荐_数据库 | ·下一条:mysql 怎么执行查询,MySQL怎样查询所有用户最新的一条信息_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有