【问题标题】:Best option for data transfer between on-premises servers and AWS S3在本地服务器和 AWS S3 之间传输数据的最佳选择
【发布时间】:2017-12-14 16:02:16
【问题描述】:

我的组织正在评估使用 AWS RedshiftS3 的混合数据仓库选项。目标是本地处理数据并将处理后的副本发送到S3,然后加载到Redshift进行可视化。

由于我们处于初始阶段,还没有设置文件/存储网关。

最初我们使用 Informatica Cloud 工具将数据从本地服务器上传到 AWS S3,但耗时较长。数据量是历史上几亿条记录,日增几千条记录。

现在我使用 AWS CLI 创建了自定义 UNIX 脚本,并使用 CP 命令在本地服务器和 AWS S3 之间传输文件gzip 压缩格式。

此选项工作正常。 但想从专家那里了解,这是否是正确的做法,或者是否有任何其他优化的方法可以实现这一目标。

【问题讨论】:

  • 是的,没关系!
  • 这个问题的答案归结为(1)您的站点和 AWS 之间有多少带宽,(2)您的站点有多少处理能力,以及(3)如何您想投入大量开发人员时间来构建和维护您的流程。如果你正在做的事情对你有用并且满足所有标准,那么就没有理由改变。
  • 然而,您应该注意的一件事是,您希望在 Redshift 中使用单独的插入/更新/删除语句(因为它效率低下)。相反,使用copy 上传数据,然后批量插入/更新/删除。
  • 是的,我们正在使用copy 命令将数据插入到 Redshift,并且系统本质上没有事实表的更新/删除。 DIM 表被截断并加载。

标签: amazon-web-services amazon-s3 aws-cli


【解决方案1】:

如果您的数据量超过 100 mb,AWS 建议使用分段上传以获得更好的性能。 您可以参考以下内容以从中受益 AWS Java SDK to upload large file in S3

【讨论】:

    猜你喜欢
    • 2014-01-20
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    • 2013-10-13
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    相关资源
    最近更新 更多