database - 多个数据库与一个数据库,ID 用于分隔组织

标签 database database-design architecture

<分区>

在组织可以注册并用于管理数据的 Web 应用程序的情况下,以下两个选项的优缺点是什么?

  • 每个组织一个数据库,其中每个组织的数据完全分离到单独的数据库中,一个(非常小的)中央数据库保存组织及其数据库标识符的基本列表.

  • 整个应用程序的一个数据库,其中所有实体都存储在一个大型数据库中,并使用每个表上的组织标识符列分隔。

需要考虑的其他一些方面:

  • 数据库中的数据永远不会在组织之间共享,登录凭据也不会。
  • 一些组织将允许公众注册一个帐户并提交数据,而其他组织则不允许。
  • 我们计划为组织公开一个公共(public) API,以便将他们当前的流程与我们的应用程序集成。组织将能够生成 API key 以允许访问其数据,但不会有跨组织的公共(public) API。
  • 公司将在应用程序中存储潜在的敏感数据。

根据您的经验和/或知识,做出此设计决策的正确方法是什么(或者是否存在“正确”方法?)

最佳答案

Here是对 MSDN( Multi-Tenancy 数据架构)的深入讨论。

我要补充一点,没有正确/错误的方法。这完全取决于要求、现有专业知识和成本。

关于database - 多个数据库与一个数据库,ID 用于分隔组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4115233/

相关文章:

database - 存储密码哈希

javascript - 社交身份验证提供商未返回用户电子邮件

macos - 使用 i386 arch 而非 x86_64 在 OSX 上构建 libFLAC

architecture - 记录 Web 应用程序流/交互

php - 如何使用 mysql 在 php 中显示每家餐厅的评论?

database - 通过 http 和 json 同步 2 个 sqlite 表的最佳方法是什么?

mysql - 这种关系的最佳数据结构

mysql - 本周观看次数最多的视频

php - 在为 SPA 站点提供服务之前,Apache 预取数据是否会影响性能?

mysql - 在 woocommerce 数据库中手动输入订单?