Amazon Athena 是一个基于开源Apache Presto的交互式查询服务,它允许用户直接使用ANSI SQL分析存储在Amazon S3中的数据。这种服务是无服务器的,因此无需管理或维护任何基础设施,用户只需为执行的查询付费。要开始使用Athena,需要在Amazon S3中定义数据的模式;一旦定义完成,就可以开始使用SQL查询这些数据了。模式的确定是通过Amazon Glue Data Catalog来实现的,它允许在多个服务之间创建一个统一的元数据存储库。
根据具体的业务和技术场景,Athena可以与传统数据库一起使用,也可以作为替代方案。但首先,了解它们之间的区别以及为什么选择其中一个是非常重要的。Athena更像是一个查询引擎而不是特定的数据库。这意味着计算和存储是解耦的:数据库在静态存储数据的同时提供执行查询和计算所需的资源,这些资源会带来直接和间接的开销成本。而Athena不存储数据——存储完全由Amazon S3管理。Athena查询服务是完全托管的,因此资源会由AWS根据需要自动分配以执行查询。
使用Athena的优势包括减少IT开销的无服务器设计、基于SQL的查询能力、开放架构(无供应商锁定)、普遍访问、分离的存储和计算资源、开放文件格式和低成本。Athena的定价模型基于扫描数据的TB数,可以通过检查需要回答特定查询的数据来控制和降低成本(这可以通过数据分割来实现)。