AWS Glue 从 RDS 同步数据(需要从所有模式同步 4 table)到 S3(apache parque 格式)
AWS Glue sync data from RDS (need to sync 4 table from all schema) to S3 (apache parque format)
我们正在使用 Postgres RDS 实例(db.t3.2xlarge,数据量约为 2TB)。我们有一个多租户应用程序,因此对于所有注册我们产品的组织,我们正在创建一个单独的模式来复制我们的数据模型。现在我们的一些模式(大约 5 到 10 个模式)包含几个大 tables(大约 5 到 7 个大 tables,每个包含 10 到 2 亿行)。对于 UI,我们需要显示一些静态数据和图表,并计算我们需要在大 table 上执行连接的静态数据和图表数据,这会减慢我们整个数据库服务器的速度。有时我们需要在夜间进行此类查询,这样用户就不会遇到任何性能问题。因此,作为一个解决方案,我们计划在 S3 中创建一个数据湖,以便我们可以将所有分析负载从 RDBMS 转移到 OLAP 解决方案。
作为第一步,我们需要将数据从 RDS 传输到 S3,并保持两个数据源的同步。考虑到以下要求,您能否建议我们选择哪种工具更好:
- 我们需要每小时更新一次最近 3 天的数据。我们希望不断更新最近的数据,因为在 3 天的时间内 window,它可能会发生变化。 3 天后,我们可以将数据视为“静止”数据,它可以在数据湖中静止不动,无需任何未来修改。
- 我们目前使用的是多租户系统,我们有大约 350 个模式,但随着越来越多的组织注册我们的产品,它将会增加。
- 我们计划进行 ETL,因此在转换中我们计划加入所有 table 并创建一个非规范化 table 并将数据以 apache parque 格式存储在 S3 中。这样我们就可以使用 Redshift Spectrum、EMR 或其他工具对该 table 执行分析查询。
我最近才发现 AWS 数据湖,也是基于我的研究(希望能帮助您找到最佳解决方案)。
AWS Athena 可以 partition 数据,您可能希望根据租户 ID(客户 ID)对数据进行分区。
AWS Glue 有爬虫:
Crawlers can run periodically to detect the availability of new data
as well as changes to existing data, including table definition
changes.
我们正在使用 Postgres RDS 实例(db.t3.2xlarge,数据量约为 2TB)。我们有一个多租户应用程序,因此对于所有注册我们产品的组织,我们正在创建一个单独的模式来复制我们的数据模型。现在我们的一些模式(大约 5 到 10 个模式)包含几个大 tables(大约 5 到 7 个大 tables,每个包含 10 到 2 亿行)。对于 UI,我们需要显示一些静态数据和图表,并计算我们需要在大 table 上执行连接的静态数据和图表数据,这会减慢我们整个数据库服务器的速度。有时我们需要在夜间进行此类查询,这样用户就不会遇到任何性能问题。因此,作为一个解决方案,我们计划在 S3 中创建一个数据湖,以便我们可以将所有分析负载从 RDBMS 转移到 OLAP 解决方案。
作为第一步,我们需要将数据从 RDS 传输到 S3,并保持两个数据源的同步。考虑到以下要求,您能否建议我们选择哪种工具更好:
- 我们需要每小时更新一次最近 3 天的数据。我们希望不断更新最近的数据,因为在 3 天的时间内 window,它可能会发生变化。 3 天后,我们可以将数据视为“静止”数据,它可以在数据湖中静止不动,无需任何未来修改。
- 我们目前使用的是多租户系统,我们有大约 350 个模式,但随着越来越多的组织注册我们的产品,它将会增加。
- 我们计划进行 ETL,因此在转换中我们计划加入所有 table 并创建一个非规范化 table 并将数据以 apache parque 格式存储在 S3 中。这样我们就可以使用 Redshift Spectrum、EMR 或其他工具对该 table 执行分析查询。
我最近才发现 AWS 数据湖,也是基于我的研究(希望能帮助您找到最佳解决方案)。
AWS Athena 可以 partition 数据,您可能希望根据租户 ID(客户 ID)对数据进行分区。
AWS Glue 有爬虫:
Crawlers can run periodically to detect the availability of new data as well as changes to existing data, including table definition changes.