AWS Athena 如何设法立即执行查询?

How does AWS Athena manage to execute queries immediately?

Athena 是否有一个巨大的机器集群准备好接受用户的查询并运行他们根据他们的数据?他们是否为此使用特定的开源集群管理软件?

我相信 AWS 永远不会透露他们如何运营 Athena 服务。但是,由于 Athena 是由 PrestoDB 管理的,因此可以根据它推导出整体设计。

PrestoDB 不需要像 YARN、Messos 这样的集群管理器。它有自己的计划器和调度器,能够 运行 SQL 工作节点上的物理计划。

我假设每个可用区内的 AWS 维护连接到数据目录 (AWS Glue) 的 PrestoDB 协调器和一组 presto worker。工人是有弹性的和自动缩放的。在 activity 的情况下,它们被缩小了,但是当 activity 的爆发发生时,新的工作人员被添加到集群中。