144得票4回答
如何创建具有共享表结构的多租户数据库?

我们的软件目前运行在MySQL上。所有租户的数据都存储在同一个模式中。由于我们使用Ruby on Rails,我们可以轻松确定哪些数据属于哪个租户。然而,当然有一些公司担心他们的数据可能会被泄露,因此我们正在评估其他解决方案。 到目前为止,我看到了三种选择: 多数据库(每个租户都有自己的...

122得票6回答
MongoDB中面向多租户数据库的推荐方法是什么?

我正在考虑使用MongoDB创建一个多租户应用程序。我目前不清楚需要承载多少租户,但我希望能够扩展到数千个。 我可以想到三种策略: 所有租户在同一个集合中,使用租户特定的字段进行安全管理 在单个共享数据库中为每个租户创建1个集合 为每个租户创建1个数据库 我的想法是选择第2种选项。 ...

68得票8回答
使用单个数据库为每个客户端的优势是什么?

在一个为多个客户设计的以数据库为中心的应用程序中,我一直认为使用一个数据库来为所有客户关联记录(带有适当的索引和键)是“更好”的选择。但在收听 Stack Overflow 播客时,我听到 Joel 提到 FogBugz 使用每个客户一个数据库的方法(因此如果有1000个客户,就会有1000个...

66得票9回答
我应该为多客户端应用程序使用单个数据库设置还是多个数据库设置?

我正在开发一个PHP应用程序,旨在简化公司的工作流程和项目管理,可以说类似于Basecamp和GoPlan。 就数据库而言,我不确定最佳方法是什么。我应该使用单个数据库,并将特定于客户的列添加到每个表中,还是应该为每个新客户创建一个数据库?一个重要因素是自动化:我希望创建新客户(并可能开放自...

64得票3回答
Django多租户应用的最佳架构

我一直在思考基于Django创建多租户应用的正确/最佳方法。 简单解释: 该应用程序可以被多个租户(租户1、租户2等)使用。 所有租户独立的数据必须受到其他租户(及其用户)访问的限制。 可选地,租户可以为应用程序对象创建附加自定义字段。 当然,底层硬件限制了一个“系统”上的租户数量。 ...

57得票1回答
PostgreSQL的模式(schemas)在多租户应用程序中的应用

我正在学习关于多租户应用程序以及如何使用PostgreSQL的模式来实现。 在研究这个主题时,我发现一篇文章,其中作者描述了在多租户应用程序中使用PostgreSQL的模式时遇到的问题。主要问题是迁移性能差和数据库资源使用高。 似乎只有一个模式(在租户之间共享表)比为每个租户分别设置一个模...

55得票2回答
为什么要在多租户Web应用程序中使用子域来指定租户?

问题 为什么有些多租户Web应用程序使用子域来指定租户,而有些则不使用? 这是否涉及技术、隐私或安全原因? 这是否取决于用于开发Web应用程序的语言或框架? 这只是样式或开发人员选择的问题吗? 使用子域指定租户的示例Web应用程序 Basecamp RepositoryHostin...

54得票6回答
数据库中集合数量的限制

有没有任何关于mongodb集合数量的实际限制呢? 在这里https://docs.mongodb.com/manual/core/data-model-operations/#large-number-of-collections中写到: 通常,拥有大量集合不会对性能造成显著影响,反...

47得票3回答
使用PostgreSQL的模式和Rails创建多租户应用程序

我已经掌握的内容 我正在学习如何在Rails中创建一个多租户应用程序,该应用程序根据使用的域或子域从不同的模式中提供数据。 这里有一些我已经解决的问题: 如何让subdomain-fu也适用于域名? 这里有人问了同样的问题,它会带你到这篇博客。 使用什么数据库,以及如何进行结构化? Guy ...

43得票4回答
在多租户系统中如何使RabbitMQ中的队列变得私有/安全?

我已阅读RabbitMQ提供的入门指南,甚至为stormed-amqp贡献了第六个示例,因此对AMQP有一点了解。 然而,该指南不够全面,并避免像身份验证和授权等事项。 我们正在设计一个多租户系统,将在其中使用RabbitMQ进行RPC类型的情况。这种RPC实现的不同之处在于远程过程实际上...