首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb/Couchdb取代MySQL (从PHP切换到节点)

Mongodb/Couchdb取代MySQL (从PHP切换到节点)
EN

Stack Overflow用户
提问于 2012-12-29 05:17:51
回答 2查看 1.4K关注 0票数 5

我在后端使用PHP/MySQL/Solr进行了大部分web开发,在前端使用了Javascript/jQuery/主干。

我已经编写了一些Node应用程序,但使用的是MySQL,而不是许多Node教程/书籍使用的Mongodb/Couchdb。您会开始使用Mongo/Couch而不是MySQL,因为开发Node的大多数人都在使用它吗?MySQL似乎对我很好,我不清楚切换到Mongo/Couch的好处。

现在,我正在创建一个站点,其中的“前端”应用服务器是PHP/MySQL,数字处理服务器位于Node。我之所以坚持使用PHP来为“前端”服务,是因为我非常乐意在我的PHP框架中进行开发。

之所以选择Node,是因为同时执行的任务将以秒为序,具有空闲/等待时间。这必须是高度可伸缩的。

将存储在数据库中的内容与通常存储在MySQL表中的内容类似。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-29 05:21:03

你需要考虑的一些事情-

  1. 缩放是我们迁移到mongoDB最重要的原因之一。分解和复制MongoDB是一件轻而易举的事情。因此,如果您的应用程序需要水平扩展,那么mongoDB就是要走的路。垂直缩放只能在遇到硬件限制的情况下才能实现,在mysql上进行soon...Plus切分是一个真正的痛苦。
  2. 第二个是DB模式。在大多数像我们这样的初创公司中,需求和功能变化非常迅速。因此,经过一段时间,基于mysql模式的DB可能更像是一种束缚,而不是一种“良好实践”。在这种情况下,没有人关心“良好做法”。因此,如果您需要一个可扩展的无模式DB,那么请考虑mongoDB。
  3. 所有这些都有一个免责声明,即mongoDB (和其他NoSql解决方案)是DB世界中闪亮的新玩具。他们没有像MySQL那么成熟。他们中的大多数人,包括芒果,都不能很好地处理交易。因此,假设您正在构建一个金融事务系统,那么我将告诉您盲目地使用mysql作为它的ACID兼容(读innodb引擎)。所以很多这些决定都取决于你想要完成什么.

结论:NoSQL的解释

真正要指出的是,如果你因为不能选择一个数据库而被阻止去制作超级棒的东西,那就是你做错了。如果你知道mysql,就用它吧。当你真的需要优化的时候。像k/v商店一样使用它,像使用关系数据库管理系统一样使用它,但是看在上帝的份上,构建了您的杀手应用程序!对于大多数应用程序来说,这些都不重要。Facebook仍然经常使用MySQL。维基百科经常使用MySQL。FriendFeed经常使用MySQL。NoSQL是一个很好的工具,但它肯定不会成为你的竞争优势,它不会让你的应用程序热,最重要的是,你的用户不会在乎这一切的。 我要用什么来构建我的下一个应用程序?可能是Postgres。我会使用NoSQL吗?也许吧。我也可以使用Hadoop和Hive。我可能会把所有东西都保存在文件里。也许我会开始黑进磁悬浮列车。我会用最适合这份工作的东西。如果我需要报告,我不会使用任何NoSQL。如果我需要缓存,我可能会使用“东京暴君”。如果我需要ACIDity,我就不会使用NoSQL。如果我需要很多柜台,我就用Redis。如果我需要交易,我会使用Postgres。如果我有大量的单一类型的文档,我可能会使用Mongo。如果我需要每天写10亿个物体,我可能会用伏地魔。如果我需要全文搜索,我可能会使用Solr。如果我需要对易失性数据进行全文搜索,我可能会使用Sphinx。

太有趣了,太放松了,不能再发了-- MongoDb是网络规模

票数 8
EN

Stack Overflow用户

发布于 2012-12-29 10:34:11

除非您正在对数据进行高度规范化,使多个表上的IO成为瓶颈,否则MySQL将正常工作。没有理由仅仅因为大多数人使用芒果和node.js。

Mongodb/Couchdb/Orientdb最适合存储大量“文档”对象。如果您的数据适合RDBMS模式,则不需要创建文档。据我所见,创建对象的主要延迟是在填充数据字段时出现的。使用NoSQL DB,您可以一次得到所有的数据,而在规范化的关系数据库中,数据字段将从不同的源填充,从而造成轻微的延迟。当然,您可以使用缓存对此进行改进。如果希望在关系数据库管理系统中实现可伸缩性,可以查看NuoDB。

因为后端应用服务器需要可伸缩性,所以您也可以查看vertx。根据基准测试,它似乎优于-执行节点,但它仍然是非常新的。

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

https://stackoverflow.com/questions/14078912

复制
相关文章

相似问题

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