【发布时间】:2020-09-10 13:47:55
【问题描述】:
我们正在使用 .net Core 和 node.js 微服务,其中一些与 mongoDB 一起使用。
目前我们得到以下数据库结构:
每个客户都有自己的数据库。 因此,如果我们为 Invoices 提供微服务,每个新客户都会为该微服务添加 1 个新数据库。
Invoice_customerA
Invoice_customerB
etc...
虽然每个此类 DB 中的集合保持不变(通常我们在每个 DB 中有 1-3 个集合)
在逻辑方面——我们在运行时通过请求输入来选择正确的数据库。
我现在正在考虑对其进行一些更改,以开始对集合进行分离:
因此,如果我们以这次之前的相同示例为例,此 Invoice Service 将只有 1 个 DB,
Invoice_allCustomers
其中的每个客户都会有 1 个新集合(如果此服务有更多集合,则更多)。
collection_customerA
collection_customerB
我想了解的是,性能方面是否有任何差异? 或者它主要是一种“化妆品”变化? 或者可能还有其他一些考虑?
附: 如果更改主要是装饰性的,我认为新的解决方案对我们来说更好,因为我们通常每个微服务只有 1-2 个集合。 当数据库明显减少时,导航会更容易。
【问题讨论】:
标签: mongodb collections microservices