【问题标题】:Azure blob storage limitation and filterAzure Blob 存储限制和筛选器
【发布时间】:2013-01-02 01:35:10
【问题描述】:

用于多租户应用程序的 Azure 存储。我们正在努力在 Azure 上开发一个多租户应用程序,大约有 10,000 个租户,每个租户需要大约 100 GB 到 1 TB 的数据存储空间。该应用程序将分别维护每个租户的文档和二进制内容以及元数据。我们正在考虑使用 Azure Block Blob 存储来存储数据。由于要求是为每个租户单独维护数据,因此我们遇到了以下方法。

  • 为每个租户创建单独的存储帐户
  • 这有助于保持租户明智的使用情况,这也有助于计费
  • 在每个存储帐户中创建一个单独的容器以进行隔离 基于类别
  • 将文档与元数据一起存储在块 Blob 存储中。

我们对我们的方法有以下疑问:

  1. 将文档或二进制内容存储在块 blob 中是否是个好主意 连同元数据?或者有没有更好的方法来实现它 (可能对元数据使用 SQL Azure,对内容使用 blob,或者 更好)?
  2. 如何查询带有元数据过滤条件的数据?即检索 metadat1 = value1 和 metadata2=value2 的所有 blob
  3. 为每个租户创建一个单独的存储帐户是个好主意吗?
    一种。如果不是,那么我们可以将租户特定数据存储在 Azure 存储中并且应用程序可以有效地使用它们的模型是什么?
  4. 在可扩展性和高可用性的背景下,在 Blob 存储上读取/写入数据的请求数量是否存在带宽或任何其他限制?
  5. 根据 azure 定价模型,他们对存储按平板收费,即前 1 TB 0.095 美元/GB,接下来 49 TB 0.08 美元/GB。此费用是按存储帐户还是按订阅收费?
    一种。同样,交易成本适用于每个存储帐户还是每个订阅?

【问题讨论】:

    标签: azure azure-storage azure-blob-storage


    【解决方案1】:
    1. 将文档或二进制内容与元数据一起存储在块 blob 中是否是个好主意?或者有没有更好的方法来实现它(可能使用 SQL Azure 存储元数据,使用 blob 存储内容,或者更好)?
    2. 如何查询带有元数据过滤条件的数据?即检索 metadat1 = value1 和 metadata2=value2 的所有 blob

    要回答 1 和 2,您无法查询 Blob 存储中的元数据。所以我想你最好的选择是使用 SQL Azure 或 Azure 表存储,因为它们都具有查询功能。鉴于您将存储大量 blob(因此甚至更多元数据),我更倾向于表存储,但这需要特殊的设计考虑,例如适当的分区。

    为每个租户创建一个单独的存储帐户是个好主意吗? 一种。如果不是,那我们可以通过什么模型将租户特定数据存储在 Azure 存储中并且应用程序可以有效地使用它们?

    我可以想到为什么每个租户有一个单独的存储帐户是个好主意的 3 个原因:

    1. 它简化了您的计费。
    2. 它将帮助您保持可扩展性目标。
    3. 由于您提到每个租户最多可以存储 1 TB 的数据,鉴于当前的存储帐户限制为 200 TB,您最多只能为每个存储帐户维护 200 个租户。之后,您需要找到另一个存储帐户并开始在那里存储数据。

    总而言之,这是一个非常优雅的解决方案,可以保留单独的存储帐户/租户。挑战在于将默认限制从 20 个存储帐户/订阅增加。您需要与支持人员聊天。

    在可扩展性和高可用性的背景下,在 Blob 存储上读取/写入数据的请求数量是否存在带宽或任何其他限制?

    是的,请阅读 Windows Azure Blob 存储团队的可扩展性目标博客:http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx

    根据 azure 定价模型,他们对存储按平板收费,即前 1 TB 0.095 美元/GB,接下来 49 TB 0.08 美元/GB。此费用是按存储帐户还是按订阅收费? 一种。同样,交易成本适用于每个存储帐户还是每个订阅?

    对此不确定,但我猜它是每个存储帐户的。您可能需要为此联系支持人员。

    希望这会有所帮助。

    【讨论】:

    • 谢谢高拉夫。只是想澄清几件事:首先,由于您更倾向于表存储,我想这是针对元数据的,内容仍然会进入 blob,对吧?其次,您提到存储帐户限制为 200 TB,您的意思是 100 TB,对吗?因为我在任何地方都找不到 200 TB。
    • 没错。内容实际上将在 blob 存储中,但您要查询的元数据将进入表存储(或 sql azure),因为 blob 存储不支持查询。请在此处查看存储帐户的 200 TB 限制:blogs.msdn.com/b/windowsazurestorage/archive/2012/11/04/…。可扩展性目标部分提到了 200 TB 限制,但它仅适用于 2012 年 6 月 7 日之后创建的存储帐户。
    猜你喜欢
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    相关资源
    最近更新 更多