【发布时间】:2014-03-07 12:34:09
【问题描述】:
我真的很困惑如何或使用什么 AWS 服务来处理我的案例。
我有一个存储用户交互事件的网络应用程序。目前,这些事件存储在 RDS 表中。每个事件包含大约 6 个字段,如时间戳、事件类型、用户 ID、页面 ID 等。目前我在每个帐户架构上都有数百万条事件记录。当我尝试使用这些原始数据生成报告时 - 报告非常慢,因为我在很长一段时间内执行复杂的聚合查询。在 RDS 上生成一份 30 天的报告可能需要 4 分钟。
有什么方法可以让这些报告运行得更快吗?我正在考虑将事件存储在 DynamoDB 上,但我无法对数据运行如此复杂的查询,也无法进行任何基于属性的排序。
有没有很好的服务组合来实现这一点?也许使用 RedShift、EMP、Kinesis?
【问题讨论】:
-
包含一些您在 RS 上尝试的示例查询可能也有用吗?我正在做类似的事情,发现我从以前的数据库(在我的情况下是 MySQL)中的查询运行得相当慢,直到重新写入和数据重新分区。对我来说,超过 100M 行的聚合在我们的集群上大约需要 10 秒。也许你不需要搬走。
-
我在聚合上运行聚合。例如 - 每个交互记录都包含以下字段:会话、类型、时间戳、产品。首先,我选择类型=N 且时间戳介于 T1 和 T2 之间的所有记录,然后按会话和产品进行聚合和分组。然后我再次将结果汇总为具体的比较条件。查询非常繁重。
标签: amazon-web-services amazon-dynamodb amazon-redshift amazon-rds