我需要将数据从本地移动到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计算和存储服务以及本地数据源之间可靠地处理和移动数据。
答案 0 :(得分:1)
这取决于网络带宽与数据量的关系。
数据需要从当前本地位置移动到Amazon S3。
这可以通过以下方式完成:
您可以使用online network calculator来计算通过网络连接复制所需的时间。
然后,将其与使用AWS Snowball复制数据进行比较。
选择哪个更便宜/更容易/更快。
一旦数据位于Amazon S3中,请使用Amazon Redshift COPY
命令进行加载。
如果要不断添加数据,则需要找到一种向Redshift发送连续更新的方法。通过网络复制可能会更容易。
使用数据管道没有好处。