AWS将RDS的同步数据(需要同步所有模式中的4个表)绑定到S3(apache parque格式)



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

作为第一步,我们需要将数据从RDS传输到S3,同时保持两个数据源的同步。考虑到以下要求,你能建议哪种工具对我们来说是更好的选择吗:

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

我最近刚刚了解到AWS Data Lake,也是基于我的研究(希望这将帮助您找到最佳解决方案(。。

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

AWS Glue有爬行器:

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

最新更新