将数据从本地迁移到AWS Redshift

时间:2019-01-17 17:45:17

标签: amazon-web-services amazon-redshift amazon-data-pipeline

我需要将数据从本地移动到AWS redshift(region1)。最快的方法是什么?

1)使用AWS Snowball将本地移动到s3(区域1),然后使用Redshift的SQL COPY cmd将数据从s3复制到redshift。

2)使用AWS Datapipeline(请注意,区域1中还没有AWS Datapipeline。因此,我将在区域2中设置一个最接近区域1的数据管道)将本地数据移动到s3(区域1)和另一个AWS数据管道(区域2 )使用AWS提供的模板将数据从s3(区域1)复制到redshift(区域1)(此模板使用RedshiftCopyActivity将数据从s3复制到redshift)?

以上哪种解决方案更快?还是有其他解决方案?此外,RedshiftCopyActivity是否比直接运行redshift的COPY cmd更快?

请注意,这是一次移动,因此我不需要AWS datapipeline的调度功能。

这是AWS Datapipeline的链接: AWS Data Pipeline。它说:AWS Data Pipeline是一项Web服务,可帮助您在不同的AWS计算和存储服务以及本地数据源之间可靠地处理和移动数据。

1 个答案:

答案 0 :(得分:1)

这取决于网络带宽与数据量的关系。

数据需要从当前本地位置移动到Amazon S3。

这可以通过以下方式完成:

  • 网络副本
  • AWS Snowball

您可以使用online network calculator来计算通过网络连接复制所需的时间。

然后,将其与使用AWS Snowball复制数据进行比较。

选择哪个更便宜/更容易/更快。

一旦数据位于Amazon S3中,请使用Amazon Redshift COPY命令进行加载。

如果要不断添加数据,则需要找到一种向Redshift发送连续更新的方法。通过网络复制可能会更容易。

使用数据管道没有好处。