我正在设计一个基于Web的多租户SaaS应用程序,该应用程序将托管在Windows Azure上并使用表存储。对Windows Azure表的限制存储帐户
我到目前为止发现的唯一的限制是:每个实体
- 5存储账户TB最大
- 1 MB
我决定如何为多个客户最佳分配我的存储空间:
选项1:为每个客户提供自己的存储帐户。不太可能,考虑到5帐户的默认限制。
选项2:给每个客户自己的一组表。将客户标识符前缀为表格名称,例如书籍表格分为“CustA_Books”,“CustB_Books”等。
选项3:有一组表格,但是以分区键为前缀来分割客户。因此,一个带有“CustA_Fiction”,“CustA_NonFiction”,“CustB_Fiction”,“CustB_NonFiction”等分区键的“书籍”表格。
选项2和3有什么优点和缺点?单个帐户中可能影响选项2的表的数量是否有限制?
另一个重要的限制是每个帐户的操作次数/秒,我认为每个帐户每秒最多5,000个实体/消息/斑点。从http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability-targets.aspx – 2011-06-30 02:07:23
请注意,表名不能有'_'字符(不像选项2的例子)。只允许使用字母数字。 – Youngjae 2014-04-11 04:20:33