MaxCompute は、SQL、MapReduce、Spark、Mars、MCQA、および MaxFrame ジョブに対して従量課金制の課金方法をサポートしています。
課金の概要
支払いの遅延がある場合、サービスが一時停止されることがあります。システムから通知が届きます。サービスの中断を避けるため、速やかにサブスクリプションを更新してください。
MaxCompute は、SQL、MapReduce、Spark、Mars、MCQA、MaxFrame、Graph、機械学習など、さまざまなジョブタイプをサポートしています。SQL (ユーザー定義関数 (UDF) を除く)、MapReduce、Spark ジョブに対して課金されます。Mars ジョブの課金は 2020 年 9 月 1 日から、MCQA ジョブの課金は 2020 年 10 月 1 日から開始されました。その他のタイプのコンピューティングジョブには課金されません。
MaxCompute は、コンピューティングリソースに対して、以下の 2 つの課金方法を提供しています。
従量課金 (後払い)
ジョブが正常に完了した後、そのジョブによって消費されたリソースに対して課金されます。
従量課金は、標準 SQL ジョブ、外部テーブルをクエリする SQL ジョブ、MapReduce ジョブ、Spark ジョブ、Mars ジョブ、MCQA ジョブ、および MaxFrame ジョブで利用できます。
サブスクリプション (前払い)
事前に特定量のリソースを購入します。
サブスクリプション
事前に特定量のリソースを購入できます。購入したリソースは MaxCompute によって予約されます。コンピューティングリソースの基本単位はコンピューティングユニット (CU) です。1 CU は 4 GB のメモリと 1 CPU コアで構成されます。サブスクリプションのコンピューティングリソースは、SQL、MapReduce、Spark などのジョブに使用されます。
リソース定義 | メモリ | CPU | 価格 (USD/月) |
1 CU | 4 GB | 1 CPU | 22.0 |
サブスクリプションのコンピューティングリソースを購入した後、リソース監視を使用してリソースを監視および管理できます。詳細については、「リソース監視」をご参照ください。
MaxCompute を初めて使用する場合は、従量課金方式を選択することをお勧めします。 サブスクリプション課金方式を選択した場合は、特定量のコンピューティングリソースを購入します。 新規ユーザーの場合は、購入したリソースよりも消費するリソースが少ない場合があります。 一部のリソースはアイドル状態のままになる可能性があります。 この場合は、従量課金方式を使用することをお勧めします。 従量課金方式では、消費したリソースの量に基づいて課金されるため、費用対効果が高くなります。
標準 SQL ジョブの課金
実行する各 SQL ジョブについて、MaxCompute はスキャンされた入力データ量と SQL の複雑さに基づいて料金を計算します。
ストレージと同様に、SQL ジョブは圧縮データ量に基づいて課金されます。
MaxCompute は、すべての成功した SQL ジョブの料金を 1 つの請求書に集約し、翌日の 06:00 までにご利用のアカウントで生成します。料金はその後、アカウントの残高から自動的に差し引かれます。
失敗した SQL ジョブには課金されません。
SQL ジョブの課金数式
SQL ジョブの料金 = コンピューティングの入力データ量 × SQL の複雑さ × SQL の単価スキャンされた入力データ量:SQL ジョブが実際にスキャンするデータ量です。ほとんどの SQL ジョブはパーティションフィルタリングと列プルーニングをサポートしているため、この値は通常、ソーステーブルのサイズよりもはるかに小さくなります。
パーティションフィルタリング:たとえば、SQL 文に
WHERE ds > 20130101が含まれ、dsがパーティションキー列である場合、読み取られるパーティションのデータに対してのみ課金されます。他のパーティションのデータは課金されません。列プルーニング:たとえば、SQL 文
SELECT f1,f2,f3 FROM t1;を実行した場合、テーブル t1 の列 f1、f2、f3 のデータのみが課金されます。他の列のデータは課金されません。
SQL の複雑さ:SQL ジョブの複雑さは、SQL 文内のキーワードに基づいて計算されます。詳細は次のとおりです:
SQL キーワードの数 = JOIN 句の数 + GROUP BY 句の数 + ORDER BY 句の数 + DISTINCT 句の数 + ウィンドウ関数の数 +
MAX(INSERT 文の数|UPDATE 文の数|DELETE 文の数 - 1, 1)。SQL の複雑さの計算:
SQL キーワードの数が 3 以下の場合は、SQL ジョブの複雑さは 1 です。
SQL キーワードの数が 6 以下で 4 以上の場合は、SQL ジョブの複雑さは 1.5 です。
SQL キーワードの数が 19 以下で 7 以上の場合は、SQL ジョブの複雑さは 2 です。
SQL キーワードの数が 20 以上の場合は、SQL ジョブの複雑さは 4 です。
複雑さを計算するためのコマンド形式:
COST SQL <SQL Sentence>;
キーワードの詳細については、「JOIN」、「GROUP BY」、「ORDER BY」、「ウィンドウ関数」、「INSERT」、および「UPDATE|DELETE」をご参照ください。
標準 SQL 課金の単価
GB あたり 0.0438 USD
サウジアラビア (リヤド - パートナー運営) リージョンはパートナーによって運営されています。単価は GB あたり 0.05256 USD です。
計算例
odps@ $odps_project >COST SQL SELECT DISTINCT total1 FROM
(SELECT id1, COUNT(f1) AS total1 FROM in1 GROUP BY id1) tmp1
ORDER BY total1 DESC LIMIT 100;
Intput:1825361100.8 Bytes
Complexity:1.5この例では、SQL キーワード数は 4 (DISTINCT に 1、GROUP BY に 1、ORDER BY に 1、MAX(0-1, 1) に 1) です。SQL の複雑さは 1.5 で、データ量は約 1.7 GB です。したがって、実際のコストは次のようになります: 1.7 × 1.5 × 0.0438 = 0.11 USD。
外部テーブルを参照する SQL ジョブの課金
2019 年 3 月以降、外部テーブルを参照する MaxCompute SQL ジョブは、従量課金方式に基づいて課金されます。
SQL の複雑さの係数は 1 です。
ジョブが内部テーブルと外部テーブルの両方をクエリする場合、システムはテーブルタイプごとに料金を個別に計算します。
外部テーブルを参照する SQL ジョブの料金を見積もることはできません。
1 日のすべての計測情報は 1 つの料金に集約され、翌日にご利用のアカウントの請求書に追加されます。請求書は 06:00 までに生成されます。
SQL 外部テーブルの課金数式
SQL クエリあたりのコスト = 入力データ量 × SQL の単価SQL 外部テーブルの単価
GB あたり 0.0044 USD
サウジアラビア (リヤド - パートナー運営) リージョンはパートナーによって運営されています。単価は GB あたり 0.00528 USD です。
MapReduce ジョブの従量課金
MaxCompute は 2017 年 12 月 19 日から MapReduce ジョブに対して従量課金を開始しました。MapReduce ジョブが正常に完了すると、システムはそのジョブが消費した課金時間を計算します。
MaxCompute は、すべての成功した MapReduce ジョブの料金を 1 つの請求書に集約し、翌日の 06:00 までにご利用のアカウントで生成します。料金はその後、アカウントの残高から自動的に差し引かれます。
ジョブがキューで待機している時間には課金されません。
失敗した MapReduce ジョブには課金されません。
MaxCompute のサブスクリプションをお持ちの場合、購入したリソースクォータ内で追加費用なしで MapReduce ジョブを実行できます。
MapReduce ジョブの課金数式
1 日の MapReduce ジョブの料金 = 1 日の合計課金時間 × 単価 (USD)MapReduce ジョブの課金時間を計算する数式は次のとおりです:
成功した MapReduce ジョブの課金時間 = ジョブの実行時間 (時間単位) × ジョブによって呼び出されたコア数。たとえば、MapReduce ジョブが 100 コアを使用し、0.5 時間実行された場合、課金時間は
100 コア × 0.5 時間 = 50です。
MapReduce ジョブの単価
課金時間あたり 0.0690 USD
サウジアラビア (リヤド - パートナー運営) リージョンはパートナーによって運営されています。単価は課金時間あたり 0.0828 USD です。
Spark ジョブの従量課金
MaxCompute は 2019 年 2 月 1 日から Spark ジョブに対して従量課金を開始しました。詳細については、「MaxCompute Spark」をご参照ください。
Spark ジョブが正常に完了すると、システムはそのジョブが消費した課金時間を計算します。
MaxCompute は、すべての成功した Spark ジョブの料金を 1 つの請求書に集約し、翌日の 06:00 までにご利用のアカウントで生成します。料金はその後、アカウントの残高から自動的に差し引かれます。
ジョブがキューで待機している時間には課金されません。
同様のジョブの料金は、指定されたリソースの量によって異なる場合があります。
MaxCompute のサブスクリプションをお持ちの場合、購入したリソースクォータ内で追加費用なしで Spark ジョブを実行できます。
Spark ジョブの課金数式
1 日の Spark ジョブの料金 = 課金時間数 × 単価 (0.1041 USD/時間)Spark ジョブの課金時間は次のように計算されます:
Spark ジョブの課金時間数 = MAX[CPU コア数 × ジョブの実行時間数、ROUND UP(メモリサイズ × ジョブの実行時間数/4)]計算は、消費された CPU コア数、実行時間、およびメモリ使用量に基づいています。
たとえば、Spark ジョブが 2 CPU コアと 5 GB のメモリを使用し、1 時間実行された場合、課金時間は MAX(2 × 1, CEILING(5 × 1 / 4)) = 2 です。Spark ジョブが 2 CPU コアと 10 GB のメモリを使用し、1 時間実行された場合、課金時間は MAX(2 × 1, CEILING(10 × 1 / 4)) = 3 です。
Spark の単価
課金時間あたり 0.1041 USD
サウジアラビア (リヤド - パートナー運営) リージョンはパートナーによって運営されています。単価は課金時間あたり 0.12492 USD です。
Mars ジョブの従量課金
MaxCompute は 2020 年 9 月 1 日から Mars ジョブに対して従量課金を開始しました。詳細については、「データサイエンス (Mars)」をご参照ください。
Mars ジョブが正常に完了すると、システムはそのジョブが消費した課金時間を計算します。MaxCompute は、すべての成功した Mars ジョブの料金を 1 つの請求書に集約し、翌日の 06:00 までにご利用のアカウントで生成します。料金はその後、アカウントの残高から自動的に差し引かれます。
ジョブがキューで待機している時間には課金されません。
同様のジョブの料金は、指定されたリソースの量によって異なる場合があります。
MaxCompute のサブスクリプションをお持ちの場合、購入したリソースクォータ内で追加費用なしで Mars ジョブを実行できます。
Mars ジョブの課金数式
1 日の Mars ジョブの料金 = 課金時間数 × 単価 (0.1041 USD/時間)Mars ジョブの課金時間は次のように計算されます:
Mars ジョブの課金時間 = MAX(CPU × 実行時間, CEILING(メモリ × 実行時間 / 4))計算は、消費された CPU コア数、実行時間、およびメモリ使用量に基づいています。
たとえば、Mars ジョブが 2 CPU コアと 5 GB のメモリを使用し、1 時間実行された場合、課金時間は MAX(2 × 1, CEILING(5 × 1 / 4)) = 2 です。Mars ジョブが 2 CPU コアと 10 GB のメモリを使用し、1 時間実行された場合、課金時間は MAX(2 × 1, CEILING(10 × 1 / 4)) = 3 です。
データサイエンス (Mars) の単価
課金時間あたり 0.1041 USD
サウジアラビア (リヤド - パートナー運営) リージョンはパートナーによって運営されています。単価は課金時間あたり 0.12492 USD です。
MCQA ジョブの従量課金
MaxCompute は 2020 年 10 月 1 日から MCQA ジョブに対して従量課金を開始しました。詳細については、「クエリ高速化 (MCQA)」をご参照ください。
実行する各 MCQA ジョブについて、MaxCompute は入力データ量に基づいて料金を計算します。MaxCompute はすべての MCQA ジョブの料金を集計し、請求書は翌日の 06:00 までに生成されます。
MCQA ジョブの従量課金は、中国 (香港)、シンガポール、インドネシア (ジャカルタ)、マレーシア (クアラルンプール) の各リージョンで利用できます。この機能はパブリックプレビュー中です。他のリージョンへのサポートは後日追加される予定です。
デフォルトでは、MaxCompute はカラムナストレージとデータ圧縮を使用します。MaxCompute は、圧縮データサイズに基づいてスキャンデータ量を計算します。
キャンセルされたクエリ高速化ジョブには課金されません。
クエリが実行されない場合、料金は発生しません。
パーティションテーブルをクエリする場合、パーティションフィルタリング条件を適用して、スキャンデータ量を削減し、クエリパフォーマンスを向上させることができます。
サブスクリプションリソースを購入している場合、クォータリソースの一部を MCQA ジョブ専用に割り当てることができます。従量課金のみを使用する場合、MCQA ジョブの料金は標準 SQL ジョブと同じ方法で計算されます。
MCQA ジョブの課金数式
MCQA ジョブの料金 = 入力データ量 × SQL の複雑さ × 単価MCQA ジョブの単価
GB あたり 0.0438 USD
サウジアラビア (リヤド - パートナー運営) リージョンはパートナーによって運営されています。単価は GB あたり 0.05256 USD です。
MaxFrame ジョブの従量課金
MaxFrame ジョブが完了すると、システムはそのジョブが消費した CU 時間を計算します。翌日の 06:00 までに、MaxCompute はすべての MaxFrame ジョブの料金を 1 つの請求書にご利用のアカウントで集約し、料金はアカウントの残高から自動的に差し引かれます。
MaxCompute のサブスクリプションをお持ちの場合、購入したリソースクォータ内で追加費用なしで MaxFrame ジョブを実行できます。
MaxFrame ジョブの従量課金は、次のリージョンで利用できます:中国 (杭州)、中国 (上海)、中国 (北京)、中国 (ウランチャブ)、中国 (深セン)、中国 (成都)、中国 (香港)、日本 (東京)、シンガポール、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、および中国東部 1 Finance。
MaxFrame ジョブの課金数式
その日の MaxFrame ジョブの料金 = 課金時間数 × 単価MaxFrame ジョブの単価
標準 MaxFrame ジョブ (従量課金 Standard Edition コンピューティングクォータを使用する MaxFrame ジョブ)
課金時間あたり 0.0541 USD
SAU (リヤド - パートナーリージョン) はパートナーによって運営されており、単価は 0.06496 USD/GB です。
参照
コスト配分を理解し、予期せぬ料金を防ぎ、リソース使用率を最大化し、コストを削減するために、MaxCompute の請求書を分析できます。詳細については、「MaxCompute 請求書の利用明細の分析」をご参照ください。
MaxCompute を開発に使用すると料金が発生します。 毎日の消費量がほとんどの時間で安定しているにもかかわらず、特定の期間に料金が急増する場合は、ビジネスの成長による急増を除き、コスト分析を実行して急増の原因となっているプロジェクトとジョブを特定できます。 その後、できるだけ早くジョブを最適化および調整して、コストを最適化できます。 詳細については、「MaxCompute の後払い料金の予期せぬ急増のトラブルシューティング」をご参照ください。