gpt4 book ai didi

azure - Windows Azure 表存储帐户的限制

转载 作者:行者123 更新时间:2023-12-04 06:09:54 24 4
gpt4 key购买 nike

我正在设计一个基于 Web 的 Multi-Tenancy SaaS 应用程序,该应用程序将托管在 Windows Azure 上并使用表存储。

到目前为止我发现的唯一限制是:

  • 每个订阅 5 个存储帐户
  • 每个存储帐户最大 100 TB
  • 每个实体 1 MB

我正在决定如何为多个客户最好地划分存储:

选项 1:为每个客户提供自己的存储帐户。考虑到 5 个帐户的默认限制,不太可能。

选项 2:为每个客户提供自己的一组表格。在表名称前添加客户标识符前缀,例如将 Books 表拆分为“CustA_Books”、“CustB_Books”等。

选项 3:拥有一组表,但添加分区键前缀以拆分客户。因此,一个“Books”表的分区键为“CustA_Fiction”、“CustA_NonFiction”、“CustB_Fiction”、“CustB_NonFiction”等。

选项 2 和 3 的优缺点是什么?单个账户中的牌 table 数量是否存在可能影响选项 2 的限制?

最佳答案

您可以在 Windows Azure 中创建的表数量没有限制。您唯一的限制是您已经列出的限制。好吧...如果您考虑实体属性的大小始终为 64KB 或更小,或者考虑批处理选项(100 个实体或 4MB,无论较小者),我想还有其他限制。

无论如何,这里要记住的是,您的 PartitionKey 将是您所做的最重要的事情。如果您创建一个包含客户名称的 PK,您将获得一些良好的分区优势。这样做的缺点是,如果您将客户数据混合在同一个表中,那么您自己删除数据就会变得更加困难(如果您需要删除客户)。因此,您可以使用表作为另一级别的分区。您创建的 PK 的范围仅限于您在其下创建的表。

我在这里要考虑的是,如果您需要批量删除数据,或者您需要跨客户(租户)查询数据。对于第一个,为每个客户使用单独的表非常有意义,因此删除是一次操作,而不是每 100 个实体最多 1 次。但是,如果您需要跨租户查询,那么当您有多个表时(这将需要多个查询),连接这些数据会变得更加困难。

在所有条件相同的情况下,如果租户功能没有重叠,我会使用表作为另一个分区级别,并且如果我想删除租户,我的生活会更轻松。所以,我猜这是选项 2。

HTH

关于azure - Windows Azure 表存储帐户的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com