用于多租户应用程序的 Azure 存储。我们正在努力在 Azure 上开发一个多租户应用程序,大约有 10,000 个租户,每个租户需要大约 100 GB 到 1 TB 的数据存储空间。该应用程序将分别维护每个租户的文档和二进制内容以及元数据。我们正在考虑使用 Azure Block Blob 存储来存储数据。由于要求是为每个租户单独维护数据,因此我们遇到了以下方法。
- 为每个租户创建单独的存储帐户
- 这有助于明智地维护使用租户,这也有助于计费
- 在每个存储帐户中创建一个单独的容器以根据类别进行隔离
- 将文档与元数据一起存储在块 Blob 存储中。
我们对我们的方法有以下疑问:
- 将文档或二进制内容与元数据一起存储在块 blob 中是个好主意吗?或者有没有更好的方法来实现它(可能使用 SQL Azure 获取元数据,使用 blob 获取内容,或者更好)?
- 如何在元数据上查询具有某些过滤条件的数据?即检索 metadat1 = value1 和 metadata2=value2 的所有 blob
- 为每个租户创建一个单独的存储帐户是个好主意吗?
一个。如果不是,那么我们可以将租户特定数据存储在 Azure 存储中并且应用程序可以有效地使用它们的模型是什么? - 在可扩展性和高可用性的背景下,在 Blob 存储上读取/写入数据的请求数量是否存在带宽或任何其他限制?
- 根据 azure 定价模型,他们对存储按平板收费,即前 1 TB 0.095 美元/GB,接下来 49 TB 0.08 美元/GB。此费用是按存储帐户还是按订阅收费?
一个。同样,交易成本适用于每个存储帐户还是每个订阅?