【问题标题】:Azure table storage - customer data per dayAzure 表存储 - 每天的客户数据
【发布时间】:2014-07-26 17:56:40
【问题描述】:

对于以下场景,您有什么建议:

如果我在表中有 100.000.000 项(更准确地说是很多项),我每天如何获得这些项?

一旦项目被添加到表中,它们就不再被修改或删除。基本上只是插入和读取它们。

我的问题是无需遍历所有 100.000.000 个项目即可检索它们。

我应该将 PartitionKey 设为日期时间还是只是日期,然后通过 partionkey 检索,例如 22.10.2013?

你有什么推荐的?

【问题讨论】:

    标签: azure azure-table-storage


    【解决方案1】:

    如果您每天都在阅读项目,那么使用日期(只是日期部分,而不是完整的日期时间)作为 PartitionKey 是最好的解决方案。 当使用 Date 作为 Key 时,我更喜欢将其转换为 YYYYMMDD(或 YYYY-MM-DD)格式的字符串。

    【讨论】:

      【解决方案2】:

      使用日期时间作为 PartitionKey 是一种反模式,因为所有写入都在同一个分区中 - 这限制了可扩展性。 Azure 存储scalability targets 表示每秒可以对分区执行 2,000 次操作,但每秒可以对存储帐户执行 20,000 次操作。您可以通过在当天的一组存储桶中分片插入来解决此问题 - 并在日期前加上存储桶名称。

      【讨论】:

      • 我的意思是,并非所有项目 100.000.000 都会在同一天一次插入。我提到了 100.000.000 个项目,只是想知道今天会有很多项目,可能有 100 个,明天可能有 100000 个等等......所以如果我的 partionkey 是 22.10.2013 我看不出有什么问题,为什么我不能使用它,因为只会给我带有该分区键的项目,也许该分区键将只有 100.000 个项目..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 2019-05-29
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多