MongoDB与MySQL

我曾经使用MySQL构buildRuby on Rails应用程序。

MongoDB目前变得越来越有名,现在我开始尝试。

问题是,我不知道MongoDB是如何工作的基础理论(如果它使用mongoidgem,

所以我想比较使用MySQL + ActiveRecord和mongoid gem生成的模型之间的性能,谁能帮我弄明白?

这篇文章的标题是: 你实际使用NoSQL的是什么? 在展示使用NoSQL的优点和缺点方面做得非常好。

编辑:也请阅读http://blog.fatalmind.com/2011/05/13/choosing-nosql-for-the-right-reason/博客文章

重新编辑:我发现了一些我认为是相关的最新资料(2014年发布): NoSQL剩下的是什么?

我不太了解这个潜在的理论。 但是,这是我得到的build议:只有使用MongoDB,如果你在多个服务器上运行它; 这是什么时候它会发光。 据我所知,由于多个服务器间的负载平衡关系数据库的痛苦,NoSQL的运动出现了不小的一部分。 所以如果你只在一台服务器上托pipe你的应用程序,MySQL将是首选。

最近在Doctrine项目上的好人写了一篇相当有用的博客文章 。

从迄今为止我读到的…这是我的承担。

标准SQL在function丰富性方面性能较低…即它允许您跨数据集(表/集合,如果您愿意)进行联接和事务处理等等。

这允许应用程序开发人员将一些应用程序复杂性推入数据库层。 这具有的优点是不必担心数据完整性和应用程序的其余ACID属性取决于已validation的技术。 只要能够使应用程序在预期的时间限制内工作,缺乏极大的可扩展性就可以用于几乎所有的项目,这有时会导致不得不购买高性能/昂贵的关系数据库系统。

另一方面,Mongo DB故意排除了与关系数据库相关的许多固有的复杂性,从而允许更好的可伸缩性能。

这种方法迫使应用程序开发人员重新构build应用程序,以解决缺乏关系特性的问题……这本身就是一件好事,但如果您具有可伸缩性要求,所涉及的工作通常是值得的。 请注意,对于MongoDB,根据ACID属性的数据要求,应用程序将必须加强并根据需要进行处理。