我花了相当多的时间学习MongoDB作为MEAN堆栈的一部分(我是MEAN堆栈的新手),我觉得我几乎没有开始得到它的悬念。然而,最近,我的工作主管(他是一位经验丰富的程序员)建议我学习关系数据库(它可能被更多公司使用),而且我已经把他的建议铭记于心,因为我&# 39;我只是一名初级开发人员,并希望尽快提升。我的个人目标/项目是建立一个社交网站,其中一组用户能够搜索另一组用户(并且很可能收取会员费)。数据库对这样的项目是否重要?我希望通过学习一些东西(并且学得非常好),可以在我的个人项目和专业工作中使用,一石二鸟。
我当然愿意学习多种语言,但我需要一个起点,所以我需要能够帮助我实现个人目标的东西。由于我花了相当多的时间使用JavaScript(与Python相反),因此不得不学习关系数据库。坚持使用MongoDB有什么缺点吗?
提前致谢!
答案 0 :(得分:1)
您需要的第一件事是评估您要处理的数据类型(它是否结构化,可以通过表轻松表示,或者它将更多地是非结构化类型)。
如果是结构化的,那么RDBMS就是您的选择。
顺便说一句,据我所知,Facebook的第一个版本是使用MySQL(你的老板所指的DBMS类型)实现的。
答案 1 :(得分:1)
法里德,因为你是一名初级程序员,我建议你尽可能多地学习这两种方法。
从其中一个获得的知识也将帮助您从另一个中获得最大收益(因为它们都涉及数据,如何构建数据以及如何查询数据)。
此外,在日常工作中(除非您仅专注于可扩展性是首要关注的大型网站),您可能会比NoSQL选择更频繁地遇到RDBMS。
这两种技术都有利有弊,除非你了解双方(至少记录自己,如果不是通过直接经验记录),你可能会选择另一种解决方案,而另一方则更好。
答案 2 :(得分:1)
嗯,有人关心学习SQL(并使用JOIN),但是:
有一天,你不知道如何,你将使用它(或理解它),所以或许最好花点时间学习SQL(它是最普遍的)
如果你开发一个REST服务,MongoDB很好,但是如果你想建立一个类似于项目的社交网络,也许最好看看Graph database。
也许video可以提供帮助,概述了SQL与NoSQL。