【问题标题】:Meteor: is mongodb suitable for a whole application?Meteor:mongodb适合整个应用吗?
【发布时间】:2015-09-08 17:56:41
【问题描述】:

我是 NoSQL 世界的新手,我刚刚找到 this article

我试图理解它在说什么,但有些事情对我来说并不容易理解。我也注意到这篇文章有点老了,所以我想知道它是否仍然适用,当作者说你不应该使用 MongoDB

所以我想知道他是否正确,所以我应该停止学习 mateor.js 吗?流星完全基于 MongoDB。看完这篇文章我真的很迷茫……

【问题讨论】:

  • 我不明白为什么人们对困惑的新人的问题投反对票,而不是向他们推荐好东西。没必要亲自去批评对新事物迷茫的人。

标签: mongodb meteor nosql


【解决方案1】:

“Sylvain Leroux”的上一篇文章已经很好地解释了你应该知道的事情,但很少添加或强调一些你应该知道的事情

  1. Mongo 不适用于某些特定情况,但适用于其他情况。您不能将其视为 RDBMS 的替代品,反之亦然。它就像针和剑一样,各有各的好处,你不能用其中任何一个来代替另一个。
  2. 从技术上讲,您没有像 RDBMS 中那样的连接,但我们真的需要它们吗?大多数情况下没有,因为我们可以嵌入到同一个集合中,而对于少数情况,我们可以有单独的集合并“链接”它们。
  3. 人们说Mongo中没有事务,看来我们无法在Mongo中实现类似事务的行为。相信我,这不是限制,而是功能。 (可能在单独的讨论中我可以说出原因)。要实现类似事务的行为,您可以调整代码,使其在事务方面“最终一致”。您可以参考此处的最佳示例,其中用户 A 向用户 B 转账。 http://docs.mongodb.org/manual/tutorial/perform-two-phase-commits/

【讨论】:

    【解决方案2】:

    我不知道这是一个答案还是一个长评论,但是...

    没有人能告诉你是否“有用工具中的锤子”。整个事情取决于你的用例。为了满足您的反思,MongoDB 没有有连接,也没有事务。如果您需要它们,可能不是正确的工具。如果您需要它们,也许它可能是正确的工具。或者,本着同样的精神,如果您的应用程序非常适合传统的 RDBMS,则无需切换到 NoSQL。但是,如果您达到了 RDBMS 的极限(因为您需要非常高的性能或可扩展性,或者您正在使用“大数据”)可能是时候考虑一​​些替代方案了。

    无论如何,请注意:NoSQL 并不是 RDBMS 的替代品。这是完全不同的学习方式。

    【讨论】:

      【解决方案3】:

      任何技术都有其优点和缺点。如果您的文章说明了为什么 MongoDB 不能用于该应用程序,那么在其他一些应用程序中 MongoDB 是最佳解决方案之一。

      http://www.netsolutionsindia.com/blog/what-is-mongodb/

      【讨论】:

        猜你喜欢
        • 2023-04-04
        • 2015-12-17
        • 1970-01-01
        • 2012-10-19
        • 1970-01-01
        • 1970-01-01
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多