-3

我们计划在 Azure 云中实现多租户应用程序。我正在寻找一种在数据库级别实现此功能的最佳方法。DB 模式非常庞大,我们有 100 多个表分布在多个模块中。并且每个客户端的数据大小都不同。对于某些人来说,表中可能有 100 行。但对于某些人来说,它可能是数百万行。在这种情况下实施 Elastic DB 的最佳方法是什么?

在这种情况下我如何设计分片?每个分片或租户列表的单个租户?如果我为每个分片创建一个租户列表,并且相邻的租户有很多数据,那么它就会人满为患。我们如何有效地找到分区的分片键?

如果我每个分片单租户,我可以根据数据大小扩展单个分片吗?

有没有人遇到过这样的场景?请帮我提供一些示例链接?

谢谢您的帮助!

4

1 回答 1

2

David Makogon 在他的评论中是正确的——有很多方法可以做到这一点。我只是提供一个答案,因为微软花了很多时间来为这种情况提供解决方案。如果您决定采用多数据库方法,请务必查看 Elastic Pools 和Elastic Client Library。这为创建分片、分片映射管理和跨分片的分布式查询提供了支持。自己创建这个将是大量的工作。

于 2017-03-28T20:10:34.307 回答