在一个组织可以注册并使用的网络应用程序中管理数据的情况下,以下两个选项各有什么优缺点?
1.每个组织一个数据库,每个组织的数据完全分开存储在不同的数据库中,并且有一个(非常小的)集中式数据库,用于保存组织及其数据库标识符的基本列表。
2.整个应用程序一个数据库,所有实体都存储在一个大型数据库中,并使用每个表上的组织标识列进行分隔。
其他需要考虑的方面包括:
- 数据库中的组织之间永远不会共享数据,登录凭据也不会共享。 - 一些组织将允许公众注册应用程序帐户以提交数据,而其他组织则不会。 - 我们计划为组织提供公共API,以便将他们当前的流程与我们的应用程序集成。组织将能够生成API密钥以允许访问其数据,但没有跨组织的公共API。 - 公司将在应用程序中存储可能敏感的数据。
根据您的经验和/或知识,这种设计决策的正确方法是什么(或者是否存在“正确”的方法)?
1.每个组织一个数据库,每个组织的数据完全分开存储在不同的数据库中,并且有一个(非常小的)集中式数据库,用于保存组织及其数据库标识符的基本列表。
2.整个应用程序一个数据库,所有实体都存储在一个大型数据库中,并使用每个表上的组织标识列进行分隔。
其他需要考虑的方面包括:
- 数据库中的组织之间永远不会共享数据,登录凭据也不会共享。 - 一些组织将允许公众注册应用程序帐户以提交数据,而其他组织则不会。 - 我们计划为组织提供公共API,以便将他们当前的流程与我们的应用程序集成。组织将能够生成API密钥以允许访问其数据,但没有跨组织的公共API。 - 公司将在应用程序中存储可能敏感的数据。
根据您的经验和/或知识,这种设计决策的正确方法是什么(或者是否存在“正确”的方法)?