寻找更好的架构来从生产数据库生成报告

问题描述 投票:0回答:1

在我工作的公司中,我要做的工作之一就是使用存储在生产数据库中的数据编写程序来生成业务报告(例如,上个月访问过我们网站的用户数)。

我们使用AWS lambda函数和复杂的MySQL查询来生成报告(* .csv文件)。

enter image description here

这种架构有一些缺点:

  1. MySQL查询通常很复杂。我的意思是它们包含了很多joins和子查询,这使得代码难以理解和维护。
  2. 数据库架构更改后,某些查询可能无法工作。
  3. AWS lambda函数的最大超时为5分钟。当数据大小变得太大时,我们必须将1个lambda函数拆分为多个lambda函数。

我如何使用其他亚马逊网络服务来解决这些问题?

我已经尝试过AWS Glue,但还没有找到一种简单的方法将复杂的MySQL查询转换为AWS Glue中作业的python脚本。

Amazon Athena只能处理存储在S3中的数据。它无法直接处理存储在Amazon RDS中的数据。

mysql amazon-web-services etl business-intelligence aws-glue
1个回答
1
投票

我们使用Matillion(第三方软件)作为我公司的ETL工具,旨在与AWS(或Google)Cloud一起使用。但这严重依赖于AWS​​ Redshift。如果您可以将数据移动到Redshift并在那里工作,Matillion可能是一个非常好的选择。在Matillion中,您可以设置完成所有工作的工作流程,并在图表中将其可视化。缺点是Matillion有成本。但既然你正在推荐你的公司,我认为你将能够投资其他工具。我还将Matillion与Lambda,S3,Redshift,Glue等一起使用。由于您可以在Matillion中运行Python脚本,您可以根据需要组合这些脚本。

PS。我不为Matillion工作或不以任何方式从推荐Matillion中获益。

© www.soinside.com 2019 - 2024. All rights reserved.