首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nosql (比如mongodb)的使用是否提高了开发效率?

nosql (比如mongodb)的使用是否提高了开发效率?
EN

Stack Overflow用户
提问于 2011-09-23 09:54:17
回答 1查看 749关注 0票数 6

我每年开发3到4个Spring应用程序,目前使用Hibernate和MySQL。本文在Stackoverflow中指出,relational databases are not the best fit适用于典型的面向对象的been应用程序。

如果您的DB是3NF,并且不进行任何连接(您只是选择了一堆表,并将所有的对象放在一起,AKA是大多数人在web应用程序中所做的),MongoDB可能会给您带来麻烦。

造成这种情况的原因有多种。一个是生产力,因为对象被映射到关系模式(“联接”等)。如果使用MongoDB或CouchDB的专业知识水平与MySQL相同,那么它们会提高开发效率吗?

EN

回答 1

Stack Overflow用户

发布于 2011-09-23 10:03:23

我认为这真的取决于网络应用程序。非关系数据库(NoSQL)在

  • 不需要模式(希望能够在同一表中存储不同类型的数据),并且/或
  • 在对象之间的关系不太复杂。

NoSQL肯定可以使更快地开始工作变得更容易,因为您可以随意地投入一些东西,但是当事情变得更加复杂时,有时您需要一个更强制的组织。在使用Mongo时,外键是我真正怀念的东西,只要能够(使用ORM)从一个对象跳到一个相关的对象或其中的一组就好了。(是的,在许多NoSQL dbs中,您可以存储文档,但在某些情况下,您需要使用单独的表来处理某些内容。)

我强烈推荐NoSQL作为一个小册子风格的网站,在那里客户端只是输入文本字段,或者twitter风格的网站,在那里你主要是存储一种类型的数据,很少有属性。但是,如果您要创建一个带有修订和工作流之类的CMS,您将需要在SQL中具有显式关系的能力。

这让我想到了我的答案:使用合适的工具来完成这项工作。经过培训的开发人员将能够使用SQL使某些站点变得越来越快,而其他站点使用非关系数据库的速度会越来越快。

但是尝试一下MongoDB或CouchDB,这样你就会对什么时候使用什么有更好的直觉。(我们在我的工作中同时使用(不是同时使用!)视项目而定)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7527184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档