1

我们有一个正在迁移到云端的企业应用程序。到目前为止,我们的应用程序已经有多个用户通过位于其主服务器上的数据库访问信息。

我们正在尝试找出将软件迁移到云端的最佳设置。我已经对 Azure Sql 数据库的数据库分片进行了一些研究。

我们想要完成的是,当用户访问我们的网站时,他们可以选择登录或注册登录。如果用户是该软件的新手,我们希望为该用户公司创建一个使用我们主数据库架构的新数据库。使用数据库分片,我相信这将被称为添加一个分片,然后用户将被添加到我们的 ShardMapManager 并给出一个分片键,这将允许他们读取和写入数据到新创建的数据库(分片)。在软件内部,用户可以添加更多用户,这将为他们提供与管理员用户相同的分片键。

对于由于隐私而需要为每家公司拥有自己的数据库的软件,这是最好的解决方案,还是对于我们正在尝试做的事情有更好的解决方案。

另外,如果我正确地考虑了这一点,我们是否不必进行查询以从分片映射管理器中找到分片键,以便当前用户能够为应用程序读取和写入数据?

非常感谢任何输入!

4

1 回答 1

0

我认为您正在寻找 Azure SQL 弹性池:https ://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool

手动控制分片的想法也是可能的,但会增加您的运维团队的复杂性。看看这里描述的其他模式:https ://docs.microsoft.com/en-us/azure/sql-database/saas-tenancy-app-design-patterns

于 2020-01-10T20:24:57.677 回答