多租户模型和nosql?

发布于 2024-11-04 12:59:15 字数 190 浏览 3 评论 0原文

使用 RDMBS 执行多租户应用程序时,我使用每个表中的 tenantId 列来指示一行属于哪个租户。

我将如何在文档数据库中做到这一点?我们以 mongodb 为例。 DBRef 是正确的选择吗?还是我陷入了关系思维?或者您会使用 documentdb 以外的其他东西吗?

(我对 nosql 还很陌生)

When doing multi-tenant applications using a RDMBS I use tenantId columns in each table to indicate which tenant a row belongs to.

How would I do that in a DocumentDatabase? Let's take mongodb for instance. Is DBRef the way to go? Or am I stuck in the relational thinking? Or would you use something other than a documentdb?

(I'm pretty new to nosql)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别靠近我心 2024-11-11 12:59:15

如果您需要 MongoDB 下的多租户,您可以为每个租户使用不同的集合。如果数据在所有租户之间共享,我会为每个条目保留一个租户列表,如下所示:

doc: {
  _id: doc1
  ... // your objects here
  tenants: [ tenant1, tenant2, tenant17 ]
}

然后,当我进行搜索或想要查看数据库视图时,您应该查询相关租户:

db.mycoll.find({ someField : someValue, tenants : tenant2 });

If you have a need for Multitenancy under MongoDB you could use a different collection for each tenant. If the data is shared among all tenants I would instead keep a list of tenants for each entry like so:

doc: {
  _id: doc1
  ... // your objects here
  tenants: [ tenant1, tenant2, tenant17 ]
}

Then when I do a search or want a view of the database you should query with the relevant tenant:

db.mycoll.find({ someField : someValue, tenants : tenant2 });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文