gpt4 book ai didi

node.js - 架构 : Multiple Mongo databases+connections vs multiple collections with Express

转载 作者:可可西里 更新时间:2023-11-01 09:43:28 25 4
gpt4 key购买 nike

我正在构建一个应用程序,用于在 Mongo DB 中为多个不同的客户存储敏感数据。每个客户端(电子邮件、联系人、 session )的数据模型都是相同的。所有客户端都使用相同的 API 和相同的 Express 服务器访问数据。我已经阅读了很多关于使用一个大型集合、多个集合和多个数据库的文章:

Mongoose and multiple database in single node.js project

MongoDB performance - having multiple databases

我喜欢每个客户端使用一个数据库的想法,因为它安全且数据的简单隔离。我这样想对吗?

同样在这种情况下,我有点担心在 Express 中管理数据库连接。

我知道连接应该只建立一次(例如在启动服务器时)然后保持事件状态。因此,使用多个数据库意味着 Express 会打开多个连接并使它们保持事件状态,将来可能会打开数十个或数百个。此外,对于每个 api 调用, Controller 应该能够选择从哪个数据库连接进行查询。

这值得麻烦吗?

最佳答案

对于像这样的 Multi-Tenancy 应用程序,我建议将类似的数据存储在所有租户的单个集合中,其中包含某种类型的 tenant_id 字段,然后确保所有查询都有正确的选择器。

如果您选择多个集合,或者更糟的是多个数据库,它的可扩展性就不会太高。如果您只有几个客户并且不打算拥有数百个或更多客户,那么好吧,多集合或多数据库方法可能是可行的。不过我想这会很痛苦。 Mongo 将为每个集合分配大量磁盘空间,额外的连接将占用更多内存等,性能损失将不可忽略。

关于node.js - 架构 : Multiple Mongo databases+connections vs multiple collections with Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com