【问题标题】:AWS Glue sync data from RDS (need to sync 4 table from all schema) to S3 (apache parque format)AWS Glue 从 RDS 同步数据(需要从所有架构同步 4 个表)到 S3(apache parque 格式)
【发布时间】:2020-08-17 12:51:41
【问题描述】:

我们正在使用 Postgres RDS 实例(db.t3.2xlarge 大约 2TB 数据)。我们有一个多租户应用程序,因此对于注册我们产品的所有组织,我们正在创建一个单独的模式来复制我们的数据模型。现在我们的几个模式(大约 5 到 10 个模式)包含几个大表(大约 5 到 7 个大表,每个表包含 10 到 2 亿行)。对于 UI,我们需要显示一些静态数据和图形,并计算这些静态数据和图形数据,我们需要在大表上执行连接,这会减慢整个数据库服务器的速度。有时我们需要在夜间进行此类查询,以免用户面临任何性能问题。因此,我们计划在 S3 中创建一个数据湖的解决方案,以便我们可以将所有分析负载从 RDBMS 转移到 OLAP 解决方案。

作为第一步,我们需要将数据从 RDS 传输到 S3,并保持同步两个数据源。考虑到以下要求,您能否建议我们选择哪种工具更好:

  1. 我们需要每小时更新最近 3 天的数据。我们希望不断更新最近的数据,因为在 3 天的时间窗口内,它可能会发生变化。 3 天后,我们可以认为数据“处于静止状态”,它可以在数据湖中静止,无需任何未来修改。
  2. 我们目前使用的是多租户系统,我们有大约 350 个架构,但随着越来越多的组织注册我们的产品,它将会增加。
  3. 我们计划进行 ETL,因此在转换中我们计划连接所有表并创建一个非规范化表,并将数据以 apache parque 格式存储在 S3 中。这样我们就可以使用 Redshift Spectrum、EMR 或其他工具对该表执行分析查询。

【问题讨论】:

    标签: amazon-s3 amazon-rds aws-glue data-lake aws-datasync


    【解决方案1】:

    我最近刚刚发现了 AWS Data Lake,并且还基于我的研究(希望能帮助您找到可能的最佳解决方案)..

    AWS Athena 可以partition 数据,您可能希望根据租户 ID(客户 ID)对数据进行分区。

    AWS Glue 有爬虫:

    爬虫可以定期运行以检测新数据的可用性 以及对现有数据的更改,包括表定义 变化。

    【讨论】:

    • 感谢@PaulD 的回复。首先真的很抱歉我忘了在这里更新。我们编写了 AWS Glue 作业来将数据从 RDS 传输到 S3 数据湖。我们在当天设置了一个分区。因此,当我们需要更新最近 3 天的数据时,我们只需覆盖当天的分区。一旦数据进入 S3,我们将使用 Athena 进行查询。它将提供异步和同步查询。再次谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多