我正在努力将大量数据(1亿多个条目)从发电机数据库表复制到Redshift,我需要根据一些标准过滤数据。我已经评估了几种实现此任务的方法:
使用Redshift COPY命令:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/RedshiftforDynamoDB.html(http://docs.aws.amazon.com/redshift/latest/dg/t_Loading-data-from-dynamodb.html)。 这种方法的缺点: COPY命令会影响源dynamo db表的吞吐量,建议不要将其用于生产DDB表。 (读取比率调节消耗的源dynamo db表的预配置吞吐量的百分比。建议将此比率设置为小于源表的未使用预配置吞吐量的值。)
使用AWS Datapipeline: 仅使用RedshiftCopyActivity:(http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-redshiftcopyactivity.html)将数据直接从dynamo db复制到redshift,然后在redshift上运行查询以根据条件进行过滤。
在使用RedshiftCopyActivity时,我无法找到有关源dynamo db表的吞吐量是否会受到影响的任何信息。有人可以提供相同的信息吗?
另外,将数据从dynamoDB复制到S3然后从S3复制到Redshift比直接从Dynamo DB复制到Redshift更有用吗?
答案 0 :(得分:0)
尽量减少触控Dynamo。一般来说,我认为将它用于除键值存储之外的其他任何东西都是一个坏主意。任何逻辑都应该在Redshift中发生。