使用 Amazon Athena,您只需为您运行的查询付费。将根据每个查询扫描的数据量向您收费。您可以通过压缩、分区或将数据转换为列式格式实现显著的成本节省和性能提升,因为每一项操作都会减少 Athena 需要扫描以执行查询的数据量。
每次查询的价格
中国(宁夏):¥34.34 / TB-扫描
中国(北京):¥41.20 / TB-扫描
若使用列式数据格式、分区并压缩数据,将节省更多成本
您可以通过压缩、分区和将数据转换为列式格式将每次查询成本节省 30% 到 90%,并提高性能。
定价详情
您需要按 Amazon Athena 扫描的字节数(四舍五入至下一个兆字节,每条查询至少 10MB)付费。无需为数据定义语言 (DDL) 语句(例如 CREATE/ALTER/DROP TABLE)、管理分区的语句或失败的查询付费。对于取消的查询,将根据扫描的数据量收费。
压缩数据会减少 Athena 扫描的数据量。将数据转换为列式格式能够让 Athena 有选择地只读取处理数据所需的列。Athena 支持 Apache ORC 和 Apache Parquet。对数据进行分区也能限制 Athena 扫描的数据量。这能够节省成本并提高性能。您可以在 Athena 控制台中查看每次查询扫描的数据量。有关详细信息,请参阅下面的定价示例。
额外费用
Amazon Athena 直接从 Amazon S3 中查询数据。使用 Athena 查询数据不会产生额外的存储费用。存储、请求和数据传输时,您需要按照标准的 S3 费率付费。默认情况下,查询结果存储在您选择的 S3 存储桶中,也会按照标准的 Amazon S3 费率计费。
如果您将 Amazon Glue Data Catalog 与 Athena 结合使用,则需要按照标准 Amazon Glue Data Catalog 费率付费。有关详细信息,请单击此处。
定价示例
假设一个表中有 3 个大小相同的列,以未压缩文本文件的格式存储在 Amazon S3 中,总大小为 3TB。如果运行查询以从该表的一个列中获取数据,则 Amazon Athena 需要扫描整个文件,因为文本格式无法拆分。
- 在 亚马逊云科技 中国(宁夏)区域,此查询的费用为:¥103.02。(扫描的 3TB 数据的价格为 3 * ¥34.34/TB = ¥103.02)
- 在 亚马逊云科技 中国(北京)区域,此查询的费用为:¥123.60。(扫描的 3TB 数据的价格为 3 * ¥41.20/TB = ¥123.60)
如果您使用 GZIP 压缩文件,那么压缩比可能为 3:1。这样,您就会获得一个大小为 1TB 的压缩文件。对这个文件进行相同的查询将花费 ¥41.20。Athena 必须再次扫描整个文件,但因为它的大小小三倍,因此,您为您之前所执行操作的三分之一付费。
如果您压缩文件,而且将文件转换为 Apache Parquet 之类的列式格式,从而实现 3:1 的压缩比,您最终仍会在 Amazon S3 上获得 1TB 数据。但在这种情况下,由于 Parquet 采用列式格式,Amazon Athena 只会读取与正在运行的查询相关的列。由于所述的查询只引用了单列,Athena 只会读取可避免读取三分之二文件的列。由于 Athena 只读取三分之一的文件,它只扫描 S3 中的 0.33TB 数据。
- 在 亚马逊云科技 中国(宁夏)区域,此查询的费用为:¥11.33。压缩文件将节省 3 倍成本,只读取单列也将节省 3 倍成本。(文件大小 = 3TB/3 = 1 TB。读取单列时扫描的数据 = 1TB/3 = 0.33 TB。0.33TB 数据的价格 = 0.33 * ¥34.34 /TB = ¥11.33)
- 在 亚马逊云科技 中国(北京)区域,此查询的费用为:¥13.60。压缩文件将节省 3 倍成本,只读取单列也将节省 3 倍成本。(文件大小 = 3TB/3 = 1 TB。读取单列时扫描的数据 = 1TB/3 = 0.33 TB。0.33TB 数据的价格 = 0.33 * ¥41.20 /TB = ¥13.60)