如何从DynamoDB流中获取按时间顺序排列的记录列表?

时间:2016-08-27 18:52:59

标签: amazon-web-services amazon-dynamodb amazon-dynamodb-streams

我在这里有几个相关的问题。

  1. DynamoDB documentation on streams说:
  2.   

    分片可能会分裂以响应其父表上的高级写入活动,以便应用程序可以并行处理来自多个分片的记录。

    我的理解是当一个分片分成两个子分片时,DynamoDB会停止写入父分片并开始以循环方式写入两个子分片。在这种情况下,我如何建立记录的时间顺序?我是否必须通过应用程序层中的记录序列号读取子分片和排序记录?如果第二个孩子在某个时刻分成两个孙子碎片怎么办?在获得记录之前,我现在是否必须阅读子孙分片?

    1. 上述文件说:
    2.   

      由于分片具有谱系(父级和子级),因此应用程序必须始终在处理子分片之前处理父级分片。

      如果您查看文档中提供的Low-Level DynamoDB Streams API example,在 //获取流中的分片评论中,您会注意到代码只是获取所有分片对于给定的流,然后遍历分片列表而不会打扰父子关系。

      这是否意味着如果我想按时间顺序获取记录列表,我必须从给定流中读取 ALL 记录,然后按应用程序层中的记录序列号对它们进行排序?

      1. 试图从DynamoDB流中获取按时间顺序排列的记录顺序是一个坏主意吗?请不要问我一个我想解决的具体问题。我在这里理论化。
      2. 更新:

        当我考虑处理过去24小时的流记录时,上述问题引起了我的兴趣。但是,为什么人们想要首先处理过去24小时的流数据呢?

        我认为流是为实时表变更处理而构建的。并且通过触发Lambda函数实时处理流记录更有意义。

        在我脑海中记录过去24小时流记录的唯一用例是某种流记录处理故障恢复(对于很快检测到的故障)。

        奖金问题:

        1. 当您想要挖掘过去24小时的DynamoDB流时,您能想到用例吗?

0 个答案:

没有答案