2017-06-17 36 views
1

我在DynamoDB中有一个大小为15 GB的表。现在,我需要将一些基于时间戳(以db为单位)的数据传输到另一个DynamoDB。 这里最有效的选择是什么?从DynamoDB表到另一个DynamoDB表的数据传输

一)转让给S3,与大熊猫或好歹过程,并把在其他表(数据是huge.i觉得这可能需要大量的时间)

b)通过DataPipeLine(读了很多,但不认为我们可以把查询放在那里)

c)通过EMR和Hive(这似乎是最好的选择,但是可以通过python脚本来做所有事情吗?我需要创建一个EMR集群并使用它或创建并且每次都会终止?EMR如何被有效且便宜地使用?)

+0

15 GB在DynamoDB世界看起来并不多。如果这是一次性操作并且不是时间敏感的,那么您可以简单地进行全表扫描,并在几个小时内以编程方式进行传输。您可以暂时提高吞吐量以加快此过程。在任何情况下,数据管道也将受到读取吞吐量的限制,因此速度不会更快。数据管道是更有用的,如果你会这样做定期 –

+0

@TofigHasanov它会被要求....所以一个脚本,可能每天或每月运行...... – vks

+0

@TofigHasanov全表扫描将意味着移动15 GB数据而我可能只需要几个mbs或GB – vks

回答

1

我建议将数据管道转换为S3 approac H。然后有一个脚本从S3读取并处理您的记录。您可以安排此计划定期运行以备份所有数据。我认为任何执行全面扫描的解决方案都不会为您提供更快的方式,因为它总是受读取吞吐量的限制。

另一种可能的方法是使用dynamoDB流和lambda表来实时维护第二个表。您仍然需要先使用上述方法处理现有的15 GB,然后切换到lambdas以保持同步

相关问题