Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 批量将数据从RDBMs传输到S3的最佳方法_Amazon S3_Rdbms - Fatal编程技术网

Amazon s3 批量将数据从RDBMs传输到S3的最佳方法

Amazon s3 批量将数据从RDBMs传输到S3的最佳方法,amazon-s3,rdbms,Amazon S3,Rdbms,我需要将数据(频率=每晚一次传输)从on-prem关系数据库(SQL server)传输到AWS S3(需要csv文件和csv格式)。数据大小约为500GB。由于没有疾病控制中心,每天晚上都会复制整个数据库 当然,我们可以考虑拼花地板或orc等格式,但在我们的用例中csv是一项要求 在将数据转换为csv并发送到S3之前,我曾想过使用一个带有EMR spark集群的JDBC链接从on-prem RDBMs数据库导入数据,但我不确定它是否是最理想的体系结构 对于JDBC,我不知道是否有一种方法可以使

我需要将数据(频率=每晚一次传输)从on-prem关系数据库(SQL server)传输到AWS S3(需要csv文件和csv格式)。数据大小约为500GB。由于没有疾病控制中心,每天晚上都会复制整个数据库

当然,我们可以考虑拼花地板或orc等格式,但在我们的用例中csv是一项要求

在将数据转换为csv并发送到S3之前,我曾想过使用一个带有EMR spark集群的JDBC链接从on-prem RDBMs数据库导入数据,但我不确定它是否是最理想的体系结构

对于JDBC,我不知道是否有一种方法可以使多个连接(顺便说一句,emr spark和sqlserver)并行以加速传输

它是一个VPN连接,连接prem站点和aws部分


有人能建议我最好的方法,以最快的传输尊重aws良好架构的原则吗

您可以使用或连接到内部部署数据库,并安排spark作业,每天将数据移动到S3。我建议使用Glue来避免管理EMR集群的麻烦

您可以使用或连接到内部部署数据库,并安排spark作业,每天将数据移动到S3。我建议使用Glue来避免管理EMR集群的麻烦

使用ApacheSpark传输500gb数据是一个很大的问题,因为spark更多的是处理大型数据集,而不是接收

所以这里不应该考虑AWS胶水

现在,您可以使用AWS EMR并使用更多映射器将SQOOP导入到s3存储桶,因为这将大大提高性能,并且根据您的rdbms配置,500 GB数据可以在不到2小时的时间内传输

如果您使用的是AWS,则可以考虑使用其他工具

  • 数据迁移服务(DMS)
    这是一种快速可靠的日常数据传输方式,其配置也非常简单。 你可以通过它

  • 模式转换工具(SCT)
    这是aws推荐的第二种将数据从rdbms移动到s3的方法。您可以使用此选项将现有SQL脚本转换为红移兼容脚本,还可以将数据从rdbms移动到s3。这需要一些安装方面的专业知识。读一读

  • 电子病历上的SQOOP:
    这是我首选的数据迁移方式,但这需要您具备SQOOP知识。如果您对SQOOP感到满意,那么选择此选项将作业创建为临时emr集群,并使用aws step函数进行编排


  • 希望能有所帮助。

    使用ApacheSpark传输500gb数据是一个很大的难题,因为spark更多的是处理大型数据集,而不是摄取

    所以这里不应该考虑AWS胶水

    现在,您可以使用AWS EMR并使用更多映射器将SQOOP导入到s3存储桶,因为这将大大提高性能,并且根据您的rdbms配置,500 GB数据可以在不到2小时的时间内传输

    如果您使用的是AWS,则可以考虑使用其他工具

  • 数据迁移服务(DMS)
    这是一种快速可靠的日常数据传输方式,其配置也非常简单。 你可以通过它

  • 模式转换工具(SCT)
    这是aws推荐的第二种将数据从rdbms移动到s3的方法。您可以使用此选项将现有SQL脚本转换为红移兼容脚本,还可以将数据从rdbms移动到s3。这需要一些安装方面的专业知识。读一读

  • 电子病历上的SQOOP:
    这是我首选的数据迁移方式,但这需要您具备SQOOP知识。如果您对SQOOP感到满意,那么选择此选项将作业创建为临时emr集群,并使用aws step函数进行编排


  • 希望有帮助。

    您使用哪种数据库引擎?每天500GB中有多少变化?这需要传输大量数据,因此如果可能的话,您应该尽量减少数据量。你能告诉我们更多关于*一旦CSV文件在Amazon S3中,你打算如何使用它们吗?这可能会影响您对压缩、分区和文件格式的选择。请随意编辑您的问题以包含此信息,而不是将其作为评论添加。谢谢John Rotenstein,我添加了其他信息。我最担心的是传输此数据所需的时间。数据链路的速度是多少?即使超过100 Mbps以太网,也需要11小时。()是的,约翰,不幸的是它不会超过100Mbps。出于这个原因,我想到了另一个场景:从on-prem SqlServer数据库生成备份,并在通过vpn传递之前对其进行压缩。然后,在aws端创建另一个SqlServer数据库,最后从该数据库中提取csv文件。您觉得这个解决方案怎么样?您应该首先测量这些压缩文件的大小,看看它们是否适合在所需的传输时间内传输。我还可以问一下,为什么您希望在AmazonS3上每天制作500GB的CSV文件?什么将使用这些文件?如果您提供更多信息,您可能会收到更相关的答案。您使用哪个数据库引擎?每天500GB中有多少变化?这需要传输大量数据,因此如果可能的话,您应该尽量减少数据量。你能告诉我们更多关于*一旦CSV文件在Amazon S3中,你打算如何使用它们吗?这可能会影响您对压缩、分区和文件格式的选择。请随意编辑您的问题以包含此信息,而不是将其作为评论添加。谢谢John Rotenstein,我添加了其他信息。我最担心的是传输此数据所需的时间。数据链路的速度是多少?即使超过100 Mbps以太网,也需要11小时。()是的,约翰,不幸的是它不会超过100Mbps。出于这个原因,我想到了另一个场景:生成备份