【问题标题】:The choice of DB for a node.js server that needs to process lots of I/O?为需要处理大量 I/O 的 node.js 服务器选择数据库?
【发布时间】:2012-07-04 11:58:27
【问题描述】:

对于需要处理大量并发数据库访问(我假设至少有 1000 多个并发请求“更新”条目)的 node.js 服务器,我应该使用哪种数据库(如果有的话)?

我打算在每个请求一个 DB 连接时使用 MySQL,但看起来可能有更合适的 DB 选择来处理许多 DB 连接(主要是用双引号更新我上面提到的条目)。

提前致谢:)

【问题讨论】:

    标签: database node.js webserver


    【解决方案1】:

    我会推荐:

    • MongoDB:如果您有大量数据,应该可以分布在许多服务器上
    • Redis:比 MongoDB 更快,但如果达到了拥有更多数据的限制,那么一台服务器可以处理则更难

    它们都具有原子更新操作,这使它们成为您的不错选择。 (这意味着您可以更新对象而无需事先获取它。)

    它们都与您现在可能使用的 MySQL 不同,您需要测试它们中的哪一个更适合您的数据结构。

    可以在这里找到一个简短的比较:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis/

    我能给你的最佳建议:尝试不同的技术,对它们进行基准测试,然后做出决定。

    【讨论】:

    • 看过 MongoDB 和 Redis 之后,我正在考虑使用 MySQL 或 MongoDB,因为在我的案例中,具有大约 200000 个固定条目的数据库的持久性比更新它们的速度更重要。谢谢你的建议!
    • 很高兴能帮到你。由于这是您在 Stackoverflow 上的第一个问题,我想记住您对那些有帮助的答案以及给出正确解决方案的答案进行投票,因此该问题的未来访问者将更容易决定如何处理他们的相关问题。
    【解决方案2】:

    我的建议是查看 redis,具体取决于数据库结构和要存储的数据量。

    【讨论】:

      【解决方案3】:

      我推荐了一个分片的 MongoDB 集群。 Mongoose 是一个 Node 包,可以很好地与 Mongo 配合使用,而且超级好用。

      【讨论】:

        猜你喜欢
        • 2011-07-04
        • 2017-09-26
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        • 1970-01-01
        • 2011-06-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多