Multi-Tenancy 应用程序的Azure存储。我们正在努力在Azure上开发 Multi-Tenancy 应用程序,大约有10,000个租户,每个租户需要大约100 GB到1 TB的数据存储。该应用程序将分别维护每个租户的文档和二进制内容以及元数据。我们正在考虑使用Azure Block Blob存储来存储数据。由于要求将每个租户的数据分开保存,因此我们遇到了以下方法。
基于类别
关于我们的方法,我们有以下疑问:
连同元数据?还是有更好的方法来实现它
(可能将SQL Azure用于元数据,将blob用于内容,或者
更好的)?
一种。如果没有,那么我们可以通过哪种模型将租户特定的数据存储到Azure存储中,应用程序就可以有效地使用它们?
一种。同样,交易费用适用于每个存储帐户还是每个订阅?
最佳答案
要回答1和2,您不能查询Blob存储中的元数据。因此,我猜您最好的选择是使用SQL Azure或Azure表存储,因为它们都具有查询功能。鉴于您将存储大量的Blob(并因此存储了更多的元数据),我更倾向于表存储,但这需要特殊的设计注意事项,例如适当的分区。
我可以想到三个原因,为什么每个租户有一个单独的存储帐户是一个好主意:
总而言之,这是一个非常优雅的解决方案,可以保留单独的存储帐户/租户。面临的挑战是使默认限制从20个存储帐户/订阅增加。您需要与支持人员聊天。
是的,请阅读Windows Azure Blob存储团队的可伸缩性目标博客:http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx
对此不确定,但我猜想它是每个存储帐户的价格。您可能需要联系支持部门。
希望这可以帮助。