MaxCompute counts and charges for storage, computation, and download operations. This topic describes how to select the billing method and preliminarily estimate calculation and storage costs for MaxCompute. The billing methods include pay-as-you-go and subscription.

Note The system may send you notifications that you have overdue payments. When this occurs, please clear all overdue payments to avoid instances being released. Please note that your instances may be released at a system-selected time after the payment due date.If you still have problems, submit a ticket.

Metering and billing items

The following figure shows the metering and billing items in MaxCompute.
  • Storage pricing (pay-as-you-go): Expenses are calculated by tier based on the size of data stored in MaxCompute.
  • Computing pricing: MaxCompute supports pay-as-you-go and subscription.
    • Subscription: This billing method is only available on the Alibaba Cloud DTPlus Platform and applies to all computation jobs, such as SQL and MapReduce jobs.
      Note If you run 99 TPC-DS SQL jobs on 1 TB data with 160 CUs in MaxCompute, each job takes about 5 minutes on average. You can refer to this data to estimate the amount of resources to be purchased.
    • Pay-as-you-go: Pay-as-you-go applies to computation jobs, such as SQL and MapReduce jobs.
      • Pay-as-you-go for SQL jobs: Expenses are charged by I/O data size after SQL jobs are completed.
      • Pay-as-you-go for MapReduce jobs: Expenses of MapReduce jobs are charged based on the number of computation hours. Currently, only MaxCompute of the standard edition supports MapReduce jobs.
  • Billing method for download operations: MaxCompute charges expenses based on the size of data downloaded.
    Note You are not charged for importing data to MaxCompute.

Payment description: Expenses are calculated by project and paid daily.

For more information about metering and billing methods, see View billing details.

Select a billing method

During storage cost estimation, note that MaxCompute stores files after compression and can compress a file to one fifth of its original size. MaxCompute charges storage expenses based on the file size after compression.

MaxCompute supports pay-as-you-go and subscription.
Note If you are a new user, we recommend that you select pay-as-you-go. When you use MaxCompute in the initial stage, you may use only a few resources. If you purchase reserved resources by CU, such resources may be left unused. The cost is relatively lower if you select pay-as-you-go.
Generally, we recommend that you create two projects for different business purposes.
  • Development project: This project is mostly used by engineers for development and debugging and features random jobs and a small data size. For this project, we recommend that you select subscription, which can help you effectively control costs and ensure that resource consumption is within a certain range.
  • Production project: Your jobs in this project are published after development and debugging. These jobs are relatively stable. In this case, you can select pay-as-you-go to prevent resources from being left unused.

Currently, MaxCompute supports SQL, UDF, MapReduce, Graph, Spark, and machine learning jobs. It only charges for SQL (excluding UDF), MapReduce, and Spark computation jobs.

Note For expenses about UDF, Graph, and machine learning jobs, see Alibaba Cloud announcements.

Estimate the expense of an SQL computation job

If you select pay-as-you-go, pay attention to cost control. We recommend that you run the Cost SQLcommand to estimate the expense of an analysis SQL job in the actual production environment before officially publishing the SQL job. If you use the Intellij IDEA development tool, you can also submit SQL scripts for automatic expense estimation.

Subscription for computation jobs

  • Generally, each process occupies resources of 1 CU. If you have purchased resources of 10 CUs, and the submitted job requires 100 concurrent processes, the job will be performed in 10 rounds, with 10 processes being concurrently executed in each round and each process occupying resources of 1 CU.
  • MaxCompute allows you to adjust the memory occupied by each process. For more information, seeCost SQL.
    Note If you use aOverview in your SQL job, each process occupies resources of 2 CUs.

For more information about subscription for MaxCompute computation jobs, see Computing pricing.