Todos los productos
Search
Centro de documentos

Hologres:Serverless Computing usage and billing

Última actualización: Sep 05, 2026

Hologres Serverless Computing factura los trabajos SQL que consumen muchos recursos, como aquellos con un alto uso de CPU o memoria, según los recursos de cómputo consumidos y el tiempo de ejecución. Este tema describe cómo consultar el consumo de recursos y comprender los detalles de facturación.

Facturación

La función Serverless Computing mide el uso de recursos de cada trabajo SQL en Compute Unit·Hour (CU·H). El sistema calcula este valor al multiplicar los recursos consumidos por el tiempo de ejecución. La facturación se liquida por hora. Cada hora, el sistema agrega el uso de todos los trabajos SQL que se ejecutaron en Serverless Computing durante la hora anterior y deduce las tarifas correspondientes. Para conocer los precios unitarios específicos, consulte Billing overview.

Importante
  • La facturación de Serverless Computing comenzó oficialmente el July 1, 2024 (hora de Pekín). Consulte la información a continuación para monitorear el consumo de recursos de Serverless Computing y estimar su factura. Si es necesario, ajuste la asignación de recursos de sus trabajos para evitar costos inesperados.

  • Para ver una lista de las regiones y zonas donde está disponible Serverless Computing, consulte Serverless Computing User Guide.

  • Tanto hologres.hg_query_log como hologres.hg_serverless_computing_query_log conservan datos de los últimos 30 días.

Solo se facturan los trabajos SQL completados correctamente. Los trabajos fallidos no generan cargos.

Consultar el consumo de recursos

A partir de Hologres V2.1.18, puede consultar la vista hologres.hg_serverless_computing_query_log para calcular el consumo de recursos de las tareas de Serverless Computing y estimar los costos según la fórmula de facturación de recursos serverless. Para obtener más información sobre los registros de consultas lentas, consulte View and analyze slow query logs.

Nota
  • En versiones anteriores a Hologres V2.2.7, el registro de consultas lentas solo registraba tareas exitosas de Serverless Computing con una duración de ejecución superior a 100 ms y todas las tareas fallidas. En Hologres V2.2.7 y versiones posteriores, puede ver todas las tareas de Serverless Computing.

  • Dado que la facturación implica agregación de datos y conversión de unidades, pueden presentarse discrepancias menores entre los datos del registro y su factura final.

Permisos

Para estimar el consumo de recursos y los costos de Serverless Computing desde el registro de consultas lentas, necesita permisos específicos. Las siguientes secciones detallan los permisos obligatorios y los métodos de autorización.

  • Consultar el volumen de escaneo de datos para todas las bases de datos en una instancia

    • Opción 1: Otorgar el permiso Superuser. El siguiente comando otorga este permiso:

      -- Replace "Alibaba Cloud account ID" with the actual username. For a RAM user, prepend the account ID with "p4_".
      ALTER USER "Alibaba Cloud account ID" SUPERUSER;
    • Opción 2: Agregar el usuario al grupo de usuarios pg_read_all_stats. Use uno de los siguientes comandos según su modelo de permisos:

      Nota

      Además del permiso Superuser, Hologres permite a los miembros del grupo de usuarios pg_read_all_stats ver el volumen de escaneo de datos de todas las bases de datos. Si un usuario regular necesita ver todos los registros, puede solicitar a un Superuser que le otorgue este permiso y lo agregue al grupo.

      GRANT pg_read_all_stats TO "Alibaba Cloud account ID"; -- For the expert permission model
      CALL spm_grant('pg_read_all_stats', 'Alibaba Cloud account ID');  -- For the simple permission model (SPM)
      CALL slpm_grant('pg_read_all_stats', 'Alibaba Cloud account ID'); -- For the schema-level simple permission model (SLPM)
  • Ver el volumen de escaneo de datos para la base de datos actual

    • Habilite simple permission model (SPM) o schema-level simple permission model (SLPM) y agregue el usuario al rol db_admin. El rol db_admin puede ver el volumen de escaneo de datos de la base de datos actual. Use uno de los siguientes comandos para otorgar este rol.

      CALL spm_grant('<db_name>_admin', 'Alibaba Cloud account ID');  -- For SPM
      CALL slpm_grant('<db_name>.admin', 'Alibaba Cloud account ID'); -- For SLPM
    • Un usuario regular puede consultar el volumen de escaneo de datos de las consultas que ha ejecutado en la base de datos actual bajo su propia cuenta.

Nota

Para obtener más información sobre las operaciones de permisos, consulte Permission Management Overview.

Consultar el consumo de una sola consulta SQL

Use la siguiente sentencia SQL para consultar el consumo detallado de recursos de un trabajo de Serverless Computing.

SELECT
    *,
    queue_time_ms,	-- The time a SQL query spends waiting in the Serverless Computing queue, in milliseconds (ms).
    serverless_allocated_cores,	-- The number of CUs actually allocated to the current SQL query by Serverless Computing.
    serverless_resource_used_time_ms, -- The duration that the SQL query actually occupies Serverless Computing resources, in milliseconds (ms).
    (serverless_allocated_cores::DECIMAL(38, 4)) * (serverless_resource_used_time_ms::DECIMAL(38, 4)) AS serverless_cums
FROM
    hologres.hg_serverless_computing_query_log;

Consultar el consumo en un intervalo de tiempo

Use la siguiente sentencia SQL para consultar el consumo total de recursos de los trabajos exitosos de Serverless Computing dentro de un intervalo de tiempo especificado.

SELECT
    (SUM((serverless_allocated_cores::DECIMAL(38, 4)) * (serverless_resource_used_time_ms::DECIMAL(38, 4))) / 1000 / 60 / 60)::bigint AS serverless_cuh
FROM
    hologres.hg_serverless_computing_query_log
WHERE
    status = 'SUCCESS'
    AND serverless_allocated_cores IS NOT NULL
    AND serverless_resource_used_time_ms IS NOT NULL
    AND query_end BETWEEN '2024-05-01 00:00:00+08'::timestamptz AND '2024-05-31 24:00:00+08'::timestamptz;-- Specify the time range.

Estimar el consumo de recursos

Si aún no ha habilitado Serverless Computing pero desea ejecutar ciertas consultas SQL mediante recursos serverless, primero puede ejecutarlas en su instancia de Hologres. La tabla del sistema hologres.hg_query_log contiene el campo cpu_time_ms, que puede usar para encontrar el tiempo de CPU consumido por el trabajo SQL. Luego, puede usar la fórmula cpu_time_ms / 1000 / 60 / 60 para estimar aproximadamente el consumo si la misma consulta se ejecutara con recursos serverless. El comando SQL para consultar la información de cpu_time_ms es el siguiente:

SELECT cpu_time_ms FROM hologres.hg_query_log WHERE query_id = 'xxx';
Nota

Los recursos de la instancia pueden verse afectados por otras cargas de trabajo, mientras que los recursos serverless están aislados. Además, sus capacidades de recursos pueden diferir. Por lo tanto, este método no puede proporcionar una estimación precisa del consumo de recursos serverless. Se recomienda seleccionar algunos trabajos SQL clave y seguir Serverless Computing User Guide para probarlos directamente con recursos serverless. Esto le permite medir el consumo real de recursos sin afectar otros trabajos en su instancia.

Monitorear costos y configurar alertas

Establecer un límite de uso diario

A partir de Hologres V3.1.5, puede usar SQL para establecer un límite diario en el uso de recursos de Serverless Computing. Solo un Superuser puede establecer este límite.

-- Set a limit for a database.
ALTER DATABASE <db_name> SET hg_serverless_computing_daily_max_cuh_usage_threshold = <value>;
-- Set a limit for a user.
ALTER USER <user_name> SET hg_serverless_computing_daily_max_cuh_usage_threshold = <value>;
  • Detalles del límite

    • El valor predeterminado es -1, lo que significa que no se establece ningún límite.

    • La unidad es CU·H.

    • Hologres agrega y actualiza el uso total de recursos de Serverless Computing para la instancia actual cada 10 minutos. Por lo tanto, puede haber un retraso de hasta 10 minutos en la aplicación del límite.

    • Antes de ejecutar una consulta SQL, Hologres compara el total de recursos serverless utilizados hoy por la instancia con el límite de recursos serverless del usuario o base de datos actual. Si se alcanza el límite, la consulta vuelve automáticamente a usar los recursos de cómputo de la instancia. Si no se ha alcanzado el límite, la consulta se ejecuta usando recursos serverless con normalidad.

    • Hologres calcula el uso diario de recursos de Serverless Computing basándose en el día natural según la zona horaria predeterminada de la base de datos actual. Puede ejecutar los siguientes comandos en la misma sesión para consultar la zona horaria predeterminada de la base de datos actual.

      -- Reset the time zone to avoid influence from the client or user's default time zone.
      RESET timezone;
      -- Query the default time zone of the current database.
      SHOW timezone;
  • Recomendaciones

    • Si es un usuario habitual de la función Serverless Computing de Hologres, puede determinar un límite de uso diario adecuado mediante querying your resource consumption over a specific time range.

    • Si no ha utilizado antes la función Serverless Computing de Hologres, se recomienda usarla primero hasta que su carga de trabajo se estabilice. Luego, según sus patrones de uso, decida si establece un límite de uso diario y determine un valor apropiado.

Si no desea que las consultas SQL vuelvan a los recursos de cómputo de la instancia cuando se alcanza el límite de Serverless Computing, puede ejecutar el siguiente comando para que fallen inmediatamente. Este parámetro solo puede ser configurado por un Superuser.

-- Set the parameter at the database level.
ALTER DATABASE <db_name> SET hg_serverless_computing_enable_fallback_when_exceed_cuh_threshold = false;
-- Set the parameter at the user level.
ALTER USER <user_name> SET hg_serverless_computing_enable_fallback_when_exceed_cuh_threshold = false;
Nota
  • El valor predeterminado es true. Cuando se supera el límite, las consultas SQL vuelven automáticamente a usar los recursos de la instancia.

  • Este parámetro se puede establecer en false. Si se supera el límite, la consulta SQL falla inmediatamente y devuelve el siguiente error: serverless computing is not available due to exceeding cuh usage threshold, please adjust the threshold or trun off serverless computing for current query.

Análisis de costos

Puede usar el módulo Cost > Cost Analysis en Expenses and Costs para monitorear y analizar los costos de los recursos de cómputo de Hologres.

  1. Inicie sesión en Expenses and Costs. En el panel de navegación izquierdo, haga clic en Cost > Cost Analysis.

  2. En la página Cost Analysis, en la sección Condition List > Classification Dimension a la derecha, seleccione Billing Item. A continuación, seleccione un Cost Type y una Time Granularity según sus necesidades.

  3. En el área Filter Conditions a la derecha, seleccione el Billing Item adecuado según su tipo de recurso específico.

Para obtener más información, consulte Cost Analysis.

Alertas de gasto

Puede usar Alibaba Cloud Expenses and Costs para gestionar presupuestos y configurar alertas de gastos pay-as-you-go para productos específicos en ciertas regiones. Para obtener más información, consulte Expense Alerts.

Alertas por duración de una sola consulta SQL

Hologres admite métricas de tiempo de ejecución para Serverless Computing. Se recomienda crear reglas de alerta según sus casos de uso empresarial para evitar costos inesperados.

Por ejemplo, para la métrica Longest duration among running Serverless Computing queries, se recomienda la siguiente regla de alerta:

Advertencia: "La 'Duración más larga entre las consultas de Serverless Computing en ejecución' es mayor o igual a 3,600,000 milisegundos durante 5 periodos consecutivos (1 periodo = 1 minuto)".

Para obtener más información, consulte Monitoring and alerting best practices.

Temas relacionados