【问题标题】:Transactions and Continuation tokens in Windows Azure Storage TablesWindows Azure 存储表中的事务和延续令牌
【发布时间】:2013-04-01 22:56:00
【问题描述】:

在 Azure 存储表中检索 1200 个实体时触发了多少事务,并牢记延续令牌。

我读到“Windows Azure Tables 在单个请求中最多返回 1000 个实体,并在有更多结果(剩余 200 个实体)可用时返回一个继续令牌。”请参阅 (http://blog.smarx.com/posts/windows-azure-tables-expect-continuation-tokens-seriously)。

因为 Azure 根据编号收费。我们通过云执行的交易; 我只想知道:在第 1000 个实体(行)结果之后返回 1200 个实体(行)和一个延续令牌的单个请求将执行多少个事务?

【问题讨论】:

  • 并不是说这回答了你的问题,但是......以每 100,000 笔交易一美分的成本,我怀疑交易成本将与计算 + 存储的成本相形见绌,因此交易成本可能不会在您的每月预算中考虑太多(如果有的话)。
  • 感谢大卫的回复。我读了很多你的文章。好吧,我实际上正在处理每 30 秒更新一次的 1000K+ 实体(约 20 万到 200 万)。当这出现在图片中时,我确实需要看一下。的交易。 Azure 存储表的延续令牌方面也...

标签: azure transactions token azure-table-storage continuation


【解决方案1】:

单个请求将执行多少事务 在第 1000 个之后返回带有延续令牌的 1200 个实体(行) 实体(行)结果?

这实际上取决于。正如文档所述,Windows Azure Table returns up to a maximum of 1000 entities in a single request。这意味着在您的情况下,最小事务数为 2,但最大事务数可能为 1200。这完全取决于数据的分区方式和存储帐户的负载。您拥有的分区越多,您每次请求收到的数据就越少,因此事务就越多。再次请求执行时间(服务器端)也需要考虑,因为如果执行时间超过分配的时间,服务将返回部分数据。

根据此处的文档:http://msdn.microsoft.com/en-us/library/windowsazure/dd179421.aspx,如果一个或多个条件为真,您可以期待一个延续令牌:

  1. 如果要返回的实体数量超过 1000。
  2. 如果超过服务器超时间隔。
  3. 如果查询跨越分区边界。

【讨论】:

  • 我有大约 5-6 个分区。 1200 个实体是所有分区之一的一部分,我在 where (partition_Key=="partition_Key_1") 条件下对其进行过滤。所以Gaurav,在这种情况下你的回复仍然存在吗?请尽快清除它。感谢 Gaurav 将这个(隐藏的)信息发布到这篇文章中。希望这可能对一些新手有所帮助。
  • 我会说是的,尽管它可能不是如上所述的 1200 笔交易。如果您的数据没有跨越分区边界,那么您应该能够在 2 个事务中获得 1200 条记录,但如果由于某种原因您的数据跨越分区边界,那么您可以预期超过 2 个事务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多