【发布时间】:2019-03-18 10:54:49
【问题描述】:
在我工作的公司中,我必须做的工作之一是编写程序以使用存储在生产数据库中的数据生成业务报告(例如上个月访问我们网站的用户数量)。
我们使用 AWS lambda 函数和复杂的 MySQL 查询来生成报告(*.csv 文件)。
这种架构有一些缺点:
MySQL 查询通常很复杂。我的意思是它们包含很多
joins 和子查询,这使得代码难以理解和维护。数据库架构更改后,某些查询可能无法运行。
AWS lambda 函数的最大超时时间为 5 分钟。当数据量太大时,我们不得不将 1 个 lambda 函数拆分成多个 lambda 函数。
如何使用其他亚马逊网络服务来解决这些问题?
我已经尝试过 AWS Glue,但还没有找到一种简单的方法将复杂的 MySQL 查询转换为用于 AWS Glue 中的作业的 python 脚本。
Amazon Athena 只能处理存储在 S3 中的数据。它不能直接处理存储在 Amazon RDS 中的数据。
【问题讨论】:
-
我认为这更像是一个 dba 问题
-
使用 MySQL 存储过程而不是 AWS lambda 函数......但是你的问题是广泛的......
-
虽然我现在无法提供解决方案,但请注意,截至 2018 年 10 月 10 日,AWS 已宣布 AWS Lambda 持续时间现已增加到 15 分钟的更新。 docs.aws.amazon.com/lambda/latest/dg/limits.html
标签: mysql amazon-web-services etl business-intelligence aws-glue