MaxCompute charges fees when you store data and run computing jobs in MaxCompute and download data from MaxCompute by using the Internet. MaxCompute supports pay-as-you-go and subscription billing methods. This topic describes the billing items and methods of MaxCompute to help you select a billing method that suits your business scenario. This topic also describes how to estimate costs for running SQL jobs in MaxCompute.

Note MaxCompute notifies you when you have an overdue payment. We recommend that you make a timely payment to avoid service interruption. If you have any questions, submit a ticket.

Billing items and methods

The following figure shows the billing items and methods of MaxCompute.Billing items and methods at the Alibaba Cloud international site
  • Storage fees: the fees that are charged by using a tiered pricing structure based on the size of data you store in MaxCompute. For more information about storage fees, see Storage pricing (pay-as-you-go).
  • Computing fees: the fees that are charged for the use of computing resources. MaxCompute supports pay-as-you-go and subscription billing methods. The resource usage and payment of the two billing methods are independent of each other. Before you use a computing resource, you must associate the computing resource with a project. For more information about computing fees, see Computing pricing.
    • Subscription: a billing method for SQL, MapReduce, Spark, and Mars jobs. You must pay for computing resources before you can use the resources.
      Note For example, if you run 99 TPC Benchmark DS (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 example to estimate the amount of CUs that you want to purchase.
    • Pay-as-you-go: a billing method for SQL, MapReduce, Spark, and Mars jobs.
  • Download fees: the fees that are charged based on the size of data that you download from MaxCompute by using the Internet. For more information about download fees, see Download pricing(Pay-As-You-Go).
    Note You are not charged for importing data to MaxCompute.

Payment: Expenses are calculated by day for each project.

Billing details: For more information, see View billing details.

Billing method selection

MaxCompute supports pay-as-you-go and subscription billing methods.
Note If you are new to MaxCompute, we recommend that you select the pay-as-you-go billing method. You may require only a small amount of resources before you get familiar with MaxCompute. If you select the subscription billing method, the extra CUs may be left unused. In this case, the pay-as-you-go billing method is more cost-effective.
Typically, you create two projects to run your service in MaxCompute. One project serves as the development environment and the other serves as the production environment. You can also create a DataWorks workspace in standard mode to create two projects. For more information about how to create a DataWorks workspace, see Create a workspace.
  • Development project: a project used to develop and debug jobs. In a development project, random jobs are run with a small amount of data. We recommend that you select the subscription billing method for the development project. The subscription billing method allows you to control costs by specifying a limit for resource consumption.
  • Production project: a project to which you publish jobs that you have developed and debugged. If the jobs you publish consume a stable amount of resources, we recommend that you select the pay-as-you-go billing method. This billing method helps you avoid costs that are charged for unused resources in a subscription plan.

MaxCompute supports SQL, user-defined function (UDF), MapReduce, Graph, Spark, Machine Learning Platform for AI, and Mars jobs. MaxCompute charges you only for SQL jobs without UDFs, MapReduce jobs, Spark jobs, and Mars jobs.

Note For more information about the expenses on UDF, Graph, and Machine Learning Platform for AI jobs, follow the latest Alibaba Cloud announcements.

When you estimate storage fees, note that MaxCompute stores files by using compression technology. Files are typically compressed to one fifth of their original size. MaxCompute charges storage fees based on the sizes of compressed files. The estimation of storage fees is only for reference. Refer to your bill for the accurate storage fees.

Cost estimation of an SQL job

  • If you select the pay-as-you-go billing method, pay attention to cost control. We recommend that you run the COST SQL statement to estimate the cost of an SQL job before you publish the SQL job to the production environment. For more information about the cost estimation of an SQL job, see Cost SQL.
  • If you use the MaxCompute Studio plug-in for IntelliJ IDEA to develop and run an SQL job, IntelliJ IDEA automatically estimates the cost of the SQL job before the SQL job is run. For more information, see Develop an SQL script.

Further information about the subscription billing method for computing jobs

  • Generally, each process consumes resources of 1 CU. If you purchase 10 CUs and submit a job that requires 100 concurrent processes, the job is performed in 10 rounds, with 10 concurrent processes executed in each round. Each process consumes resources of 1 CU.
  • MaxCompute allows you to adjust the memory to be consumed by each process. For more information, see Cost SQL.
    Note If your SQL statement contains a UDF, each process consumes resources of 2 CUs.

For more information about the subscription billing method in MaxCompute, see Computing pricing.