All Products
Search
Document Center

Hologres:Serverless Computing

Last Updated:Dec 19, 2024

Hologres provides the Serverless Computing feature to allow you to run big SQL jobs in a fully managed serverless computing resource pool. In this case, you do not need to reserve computing resources that have fixed specifications for the big SQL jobs. You can isolate serverless computing resources for different SQL jobs to prevent resource contention and mutual interference. Big SQL jobs include SQL jobs that generate large CPU or memory overheads.

Important

You will be charged for the use of the Serverless Computing feature from July 1, 2024 (UTC+8). For more information, see Billing overview.

Description

If you do not enable the Serverless Computing feature, you must reserve sufficient computing resources to run big SQL jobs. In most cases, big SQL jobs are run only during a specific period of time in a day, and the reserved resources are idle during the rest time of the day. This causes a waste of reserved resources. In addition, big SQL jobs compete for resources and interfere with each other because reserved computing resources are not isolated. This may lead to performance jitter.

After you enable the Serverless Computing feature, big SQL jobs can be run in a serverless computing resource pool that is independent of the exclusive resources of your instance. This prevents resource contention and resource waste. You do not need to reserve computing resources of exclusive instances for big SQL jobs. The stability of big SQL jobs is significantly improved.

The following figure shows the architecture of the Serverless Computing feature.image

Scenarios

The Serverless Computing feature is suitable for the following scenarios:

  • Out of memory (OOM) errors frequently occur in big SQL jobs, and you want to improve the job success rate and instance stability.

    • Scenario description: The exclusive instance in use provides a small amount of exclusive computing resources. OOM errors frequently occur when you run big SQL jobs, such as importing or querying a large amount of data.

    • Optimization suggestion: We recommend that you use serverless computing resources to run the big SQL jobs. The maximum amount of available serverless computing resources is three times the amount of computing resources of an exclusive instance. During the job runtime, the serverless computing resources cannot be used by other jobs. This significantly improves the success rate of big SQL jobs and the stability of production instances.

  • A large amount of resources of your instance are idle during off-peak hours, and you want to improve resource utilization and reduce costs.

    • Scenario description: The instance is scaled out to support specific low-frequency big SQL jobs. The total runtime of the big SQL jobs is less than 8 hours per day.

    • Optimization suggestion: We recommend that you use serverless computing resources to run the big SQL jobs and scale in the instance to decrease the amount of reserved computing resources. This significantly improves the resource utilization of the exclusive instance. You are no longer charged for large amounts of idle resources. You are charged only for the amount of serverless computing resources that are consumed by big SQL jobs.

  • The resources of the current instance are insufficient during peak traffic periods and doubling the resources based on the time-specific scaling feature still fails to alleviate the pressure. You want to further increase resources to address peak traffic issues.

    We recommend that you enable the use of serverless computing resources for a specific user or query queue. This way, you can use serverless computing resources to execute all requests from a specific user or query queue during peak traffic periods. Serverless Computing can apply for up to three times the exclusive computing resources of an instance. This significantly relieves the query pressure during peak traffic periods.

Serverless computing resources cannot completely replace exclusive computing resources. The two types of resources have the following differences:

  • Serverless computing resources are shared by all users in the current zone and are fairly scheduled among users. The queuing durations of query requests may be affected by the resource usage of the current serverless computing resource pool. Exclusive computing resources are reserved for the current instance. When the instance or virtual warehouse is in the running state, the resources cannot be reclaimed and are not affected by other instances. Therefore, exclusive computing resources are more suitable for scenarios where a low query latency is required.

  • Serverless Computing does not support online service scenarios, such as real-time data writes in Flink, DataWorks Data Integration, or Holo Client, and online point queries by using fixed plans. For more information, see Accelerate the execution of SQL statements by using fixed plans. In scenarios where fixed plans are used for optimization, you must use exclusive computing resources.

References