After more than a year of public preview, Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) has proven to be able to provide stable services and work well in production environments. Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) has adopted the pay-as-you-go billing method since March 1, 2022. This topic describes the billing details of Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instances.

Lifecycle management

Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) is billed in pay-as-you-go mode based on the amount of data scanned by SQL statements. The lifecycle of Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instances is managed based on the following rules:
  • After you purchase a Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instance on the Alibaba Cloud official website, you can use the instance. The system summarizes the total amount of data scanned by all SQL statements in the previous day and sends you bills. The system automatically deducts the amount payable from the balance of your Alibaba Cloud account.
  • If your Alibaba Cloud account has an overdue payment, all Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instances within the account become overdue. If your Alibaba Cloud account has an overdue payment, all Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instances within the account become overdue. The instances run as expected if the overdue payment is less than USD 1,000.
  • If the overdue payment in your account reaches USD 1,000 and the deduction fails, the instances run as expected within 14 days.
  • On the fifteenth day after the deduction fails, the instances stop providing services and are locked. You cannot access the instances. During this period, Alibaba Cloud does not send you bills.
  • On the fifteenth day after the instances stop providing services due to an overdue payment, the instances are released and deleted from the console. Data in the instances is also deleted and cannot be recovered.

Billing method

Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) has adopted the pay-as-you-go billing method since March 1, 2022.

Each time you use Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) to run a query job, you are charged based on the amount of input data for the job.

The fees for using Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) to run a query job are calculated based on the following formula:
Singapore (Singapore) region:
Fees for using Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) to run a query job = Amount of input data × Unit price (USD 0.084049 per GB)
Note
  • Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) uses exclusive computing resources.
  • Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) charges you based on the amount of data scanned per query job. The minimum billable amount of data scanned per query job is 10 MB even if the amount of data scanned in a query job does not reach 10 MB due to a query startup overhead.
  • The system sends you a bill on an hourly basis. Each bill records the fees that were generated two hours ago.
  • No fee is generated if no query is performed.
  • When you query a partitioned table, you can use partition filtering conditions to reduce the amount of scanned data and improve query performance.

FAQ

  • How do I query the amount of scanned data over a period of time?
    You can execute the following SQL statement to check detailed data. Make sure that the user used to execute the SQL statement is assigned the superuser role of the Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instance.
    • Syntax
      select  instance as instance_id
              ,round(
                  sum(
                      case when read_bytes is null or read_bytes < 10*1024*1024
                        then 10*1024*1024
                      else read_bytes
                          end
                  )/1024/1024
              ) as "scan_size_mb" -- Scan at least 10 MB of data per query job.
              ,count(1) as "sql_count"
      from    hologres.query_log
      where   status = 'SUCCESS'
      and     command_tag in ('SELECT')
      and     query_end >= 'Start time'::TIMESTAMPTZ
      and     query_end < 'End time'::TIMESTAMPTZ
      group by 1
      order by 3 desc
      ;
    • Example

      Execute the following SQL statement to query the amount of scanned data from 10:00 on January 1, 2022 to 11:00 on January 1, 2022:

      select  instance as instance_id
              ,round(
                  sum(
                      case when read_bytes is null or read_bytes < 10*1024*1024
                        then 10*1024*1024
                      else read_bytes
                          end
                  )/1024/1024
              ) as "scan_size_mb" -- Scan at least 10 MB of data per query job.
              ,count(1) as "sql_count"
      from    hologres.query_log
      where   status = 'SUCCESS'
      and     command_tag in ('SELECT')
      and     query_end >= '2022-01-01 10:00:00+08'::TIMESTAMPTZ
      and     query_end < '2022-01-01 11:00:00+08'::TIMESTAMPTZ
      group by 1
      order by 3 desc
      ;
  • How do I query the amount of data scanned by each SQL statement over a period of time?
    You can execute the following SQL statement to query the amount of data scanned by each SQL statement over a period of time. Make sure that the user used to execute the SQL statement is assigned the superuser role of the Hologres Shared Cluster (BI-based MaxCompute Acceleration Edition) instance.
    • Syntax
      select  usename
              ,status
              ,query_id
              ,datname
              ,command_tag
              ,duration
              ,message
              ,query_start
              ,query_end
              ,query_date
              ,query
              ,case when read_bytes is null or read_bytes < 10*1024*1024
                    then 10*1024*1024
               else read_bytes
               end as billing_read_bytes -- Scan at least 10 MB of data per query job.
              ,application_name
      from    hologres.query_log
      where   status = 'SUCCESS'
      and     command_tag in ('SELECT')
      and     query_end >= 'Start time'::TIMESTAMPTZ
      and     query_end < 'End time'::TIMESTAMPTZ
      ;
      The billing_read_bytes field indicates the amount of scanned data used for billing.
    • Example
      Execute the following SQL statement to query the amount of data scanned by each SQL statement from 10:00 on March 1, 2022 to 11:00 on March 1, 2022:
      select  usename
              ,status
              ,query_id
              ,datname
              ,command_tag
              ,duration
              ,message
              ,query_start
              ,query_end
              ,query_date
              ,query
              ,case when read_bytes is null or read_bytes < 10*1024*1024
                    then 10*1024*1024
               else read_bytes
               end as billing_read_bytes     -- Scan at least 10 MB of data per query job.
              ,application_name
      from    hologres.query_log
      where   status = 'SUCCESS'
      and     command_tag in ('SELECT')
      and     query_end >= '2022-03-01 10:00:00+08'::TIMESTAMPTZ
      and     query_end < '2022-03-01 11:00:00+08'::TIMESTAMPTZ
      ;