SQL クエリ

キャパシティがプロビジョニングされた SQL クエリ

Apache Spark

追加料金

Athena は、Amazon S3 から直接データをクエリ処理します。Athena によるデータのクエリ処理に対する追加のストレージ料金は発生しません。ストレージ、リクエスト、データ転送に対して S3 の標準料金が発生します。デフォルトでは、クエリ結果は選択した S3 バケットに保存され、S3 の標準料金が課金されます。

  • ワークロードがデータの読み取り、保存、転送を行う際に、S3 によって課金されます。 これには、成功したクエリと失敗したクエリが含まれます。デフォルトでは、SQL のクエリ結果と Spark の計算結果は任意の S3 バケットに保存され、標準の S3 レートで課金されます。詳細については、Amazon S3 の料金をご覧ください。
  • Athena で AWS Glue データカタログを使用する場合は、標準のデータカタログのレートで課金されます。詳細については、AWS Glue 料金ページをご覧ください。
  • フェデレーテッドデータソース (S3 に保存されていないデータ) に対する SQL クエリは、プロビジョンドキャパシティが使用されない限り、データソース全体で集約された、Athena によってスキャンされたテラバイト (TB) ごとに課金されます。これは最も近いメガバイトに丸められ、クエリごとに 10 MB の最低料金がかかります。このようなクエリではアカウントの AWS Lambda 関数も呼び出され、Lambda の使用には標準料金が課金されます。横串検索によって呼び出される Lambda 関数は、Lambda の無料利用枠の対象となります。詳細については、Lambda の料金ページにアクセスしてください

料金の例

例 1 - SQL クエリ

サイズが同じ 4 つの列があり、圧縮されないテキストファイルとして保存され、Amazon S3 での合計サイズが 3 TB になるテーブルについて考えてみます。テーブルの 1 つの列からデータを取得するクエリを実行する場合、テキスト形式は分割できないため、Amazon Athena によりファイル全体をスキャンする必要があります。

  • このクエリの料金は 15 USD です。(スキャンされた 3 TB の料金は、3 * 5 USD/TB = 15 USD)

GZIP を使用してファイルを圧縮すると、3 分の 1 に圧縮されたとします。この場合、圧縮ファイルのサイズは 1 TB になります。このファイルに同じクエリを実行すると、料金は 5 USD になります。今回も Athena によりファイル全体をスキャンする必要がありますが、サイズが 3 分の 1 になったため、料金は以前の 3 分の 1 になります。ファイルを圧縮し、さらに Apache Parquet などの列形式に変換した場合、サイズは 3 分の 1 に圧縮され、S3 でのデータは最終的に 1 TB になります。ただしこの場合、Parquet は列形式なので、Athena で読み取る必要があるのは、実行されているクエリに関連する列のみです。 当該のクエリは 1 つの列のみを参照するものであるため、Athena ではその列のみが読み取られ、ファイルの 4 分の 3 は読み取らなくてよいことになります。Athena で読み取られるのはファイルの 4 分の 1 のみであるため、S3 からスキャンされるデータは 0.25 TB のみになります。

  • このクエリの料金は 1.25 USD です。圧縮によりコストが 3 分の 1 に削減され、1 つの列のみを読み取ることでコストがさらに 4 分の 1 に削減されます。 
    (ファイルサイズ = 3 TB/3 = 1 TB。1 つの列を読み取る際にスキャンするデータ = 1 TB/4 = 0.25 TB。0.25 TB の料金 = 0.25 * 5 USD/TB = 1.25 USD)

例 2 - キャパシティがプロビジョニングされた SQL クエリ

たとえば、営業時間中にクエリを送信し、予測可能な時間内にクエリが完了することを期待するユーザーにセルフサービス分析を提供するウェブアプリケーションをチームがサポートしているとします。先週、アプリケーションユーザーは 500 TB のデータをスキャンする合計 10,000 件のクエリを送信しました。プロビジョニングされたキャパシティを使用して、ユーザー数が増えても一貫したユーザーエクスペリエンスを維持できるようにする必要があります。クエリの分析から、現在のワークロードには 96 DPU で十分であることがわかります。

  • 1 営業日のうち、このワークロードをプロビジョニングされたキャパシティでサポートするコストは、96 DPU × 1 DPU 時間あたり 0.30 USD × 1 日あたり 12 時間 = 345.60 米ドルと計算されます。

ある朝、新しいアプリケーションユーザーがオンボーディングを完了したことを知り、その結果、クエリ量は前日の 2 倍になると想定できます。ユーザーが昨日と同じパフォーマンスを発揮できるようにしたいのですが、すべてのユーザーが同時にクエリを送信することを期待してはいけません。1 日 2 時間使用すると、容量が 50% 増加して 144 DPU になります。

  • 現在のワークロードのコストは、2 時間で 96 DPU のコストに 10 時間で 144 DPU を加えたコスト、つまり 96 DPU × 1 DPU 時間あたり 0.30 USD × 2 時間 + 144 DPU × 1 DPU 時間あたり 0.30 USD × 10 時間 = 489.60 USD になります。

例3 – Apache Spark アプリケーション

Athena コンソールのノートブックを使用して、前四半期の売上高を引き出し、グラフ化してレポートを作成するとします。ノートを使ってセッションを開始します。セッションは 1 時間で、セッションの一部として 6 つの計算を提出します。各計算は 1-DPU のワーカーノード 20 台で実行され、1 分間持続する。

  • Worker DPU 時間 = 計算回数 * 計算ごとに使用するDPU * 計算の実行時間 = 6 計算 * 1 計算あたり 20DPU * 1 計算あたり (1/60) 時間 = 2.0 DPU 時間
  • ドライバー DPU 時間 = セッションごとに使用するDPU * セッション時間 = 1 DPU セッションあたり * 1 時間セッションあたり = 1.0 DPU 時間
  • DPU 時間合計 = ワーカーDPU 時間 + ドライバー DPU 時間 = 2.0 DPU 時間 + 1.0 DPU 時間 = 3.0 DPU 時間
  • スパークアプリケーション使用料 = 1 DPU 時間 あたり 0.35 USD * 3.0 DPU 時間 = 1.05 USD

注: S3 は、ユーザーのデータおよび実行結果の保存と読み出しのために、別途料金を請求します。

料金に関するその他のリソース

AWS 料金計算ツール

AWS の月額料金を簡単に計算

料金に関するサポートを受ける

個別のお見積もりをご希望の場合、AWS のスペシャリストに問い合わせる

開始方法のページにアクセスする

Amazon Athena の使用を開始する方法。

詳細 »
コンソールで構築を開始する

AWS マネジメントコンソールで Amazon Athena を使った構築を始めましょう。

サインイン »
エキスパートに問い合わせる

Amazon Athena のサポートオプションを検討する。

お問い合わせ »