【问题标题】:MongoDB for personal non-distributed work用于个人非分布式工作的 MongoDB
【发布时间】:2011-04-04 08:11:53
【问题描述】:

这可能以前在这里(或其他地方)得到回答,但我一直在互联网上得到混合/没有意见。

除了 SQL 之类的数据库之外,我从未使用过其他任何东西,然后我遇到了 NoSQL DB(特别是 mongoDB)。我试过了。我这样做只是为了好玩,但到处都在谈论当你在分布式服务器上使用它时它真的很棒。 所以我想知道,对于主要仅在个人计算机上完成小型项目和事情是否有帮助(以一种重要的方式)?只有一台服务器时是否有一些真正的优势。

虽然使用 MapReduce 会很酷(并与同行谈论它:d),但当用于在单个服务器上运行的小型项目时,这不是矫枉过正吗?或者这样做还有其他好处吗?我需要一些清晰的想法。对不起,如果我在这里听起来很天真。

可选:一些您在哪里/如何使用的例子会很棒。

谢谢。

【问题讨论】:

  • 如果选择 MongoDB,请注意它对 32 位系统的限制。

标签: mongodb mapreduce nosql


【解决方案1】:

恕我直言,MongoDB 完全适用于单服务器/小型项目,并且您不应将其仅用于“大数据”或多服务器项目。

如果 MongoDB 解决了一个特定的需求,那么项目的规模并不重要,所以不要让那个方面影响你。如果您确实拥有少量数据并且只想进行一些基本聚合,则使用 MapReduce 可能有点矫枉过正/不是最好的方法 - 这些可以使用 group 运算符来完成(目前在它可以处理多少数据方面存在一些限制返回)。

所以我想我想说的是,为工作使用正确的工具。在小型项目/单台 PC 上使用 MongoDB 没有任何问题。如果像 SQL Server 这样的 RDBMS 更适合您的项目,请使用它。如果像 MongoDB 这样的 NoSQL 技术适合,那么就使用它。

【讨论】:

    【解决方案2】:

    在 AdaTheDev 上 +1 - 但这里还有 3 点需要注意:

    1. 持久性:从 1.8 版本开始,MongoDB 以 --journal 启动时具有单服务器持久性,因此现在更适用于单服务器场景
    2. 选择 NoSQL DB 而非 RDBMS 不应取决于单服务器或多服务器设置,而应基于数据库的建模。例如,请参阅 12 - 在 MongoDB 中存储类似注释的结构很容易。
    3. MapReduce:同样,这取决于数据建模和需要进行的操作/计算。根据您对数据建模的方式,您可能需要也可能不需要使用 MapReduce。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 1970-01-01
      • 2019-12-20
      • 2023-03-16
      相关资源
      最近更新 更多