什么时候应该使用mongodb而不是关系数据库

agyaoht7  于 2021-06-18  发布在  Mysql
关注(0)|答案(4)|浏览(479)

我已经学了好几门关于udea的课程 NodeJS/Express , ReactJS/Redux 有些课程是 MERN STACK 我真的很喜欢他们,但教练们唯一没有真正解释的是他们的选择 MongoDB 在参加这些课程之前,我总是使用 PostgreSQL 或者 MariaBD 在我所有的项目中,我使用了持久层 MongoBD 在所有这些课程中,不知道在什么样的情况下它是最好的选择或不是。所有的讲师只是说,由于数据像json数组一样存储,它很容易解析,因为它与 Javascript 就像其他人一样 JSON format 。我真的很想了解使用mongo而不是mongo的技术原因 relationnal database 或者不按照任何给定的项目要求,而不是仅仅因为讲师这样做而使用它

zzzyeukh

zzzyeukh1#

我的看法是,在以下情况下,首选sql:
关系完整性(数据完整性)至关重要
数据更新频繁
实体之间存在明确和/或强有力的关系
mongodb更适合:
水平缩放/分片
复制sql数据以避免在生产中进行代价高昂的查询(某些替代方法可能更好)
我想说的是,当你不确定的时候可以使用sql。当您改变主意时,从sql迁移到nosql要比从其他方式容易得多。

kyxcudwk

kyxcudwk2#

我在sql和mongodb中都工作过。
数据库

From my experience MongoDB is best suitable when you follow agile methodologies 
wherein you don't really know what your JSON object will have to contain.

sql语句

SQL will be best suitable where JSON object is not going to be changed, like 
for bank projects, where you know the exact format of JSON which is never going 
to be changed.

差异

Why I am saying this is, whenever we need to add some extra fields or need to 
link some fields with primary, foreign keys it would be pain and wouldn't know 
what could go wrong.

Wherein in MongoDB if you need to reference some field you will just need to 
add key ref with that field and you are done.

数据库

MongoDB would be great when one of your key from one JSON object is to be 
referenced to mutiple JSON object by just adding that field name in ref (ref: 
'user')

请投票给这个答案,以便有需要的人找到这个答案,并能得到mongodb最适合他们的时间。

bttbmeg0

bttbmeg03#

从我个人的经验来看,当项目有点像一个社交媒体,需要维护帖子、评论、喜欢、阻止、取消阻止时,我会使用sql。我希望你明白我的意思。
mongodb也可以用于上述项目类型,但它的聚合会变得痛苦和不可读。
mongo db适用于除socialmedia以外的所有项目。这也是我的经验。

oymdgrw7

oymdgrw74#

当您有大量无模式的数据时。当您的数据和用户将无限增长时,您需要一个可扩展的云数据库解决方案。当你的积垢在某些方面需要更高的性能提升时。当你的软件栈是基于js的时候。你可以在这个youtube视频中查看其他原因https://youtu.be/k8xsufgcrku

相关问题