Todos os produtos
Search
Central de documentação

Hologres:Pricing

Última atualização: Jun 28, 2026

O cluster compartilhado do Hologres (Lakehouse Acceleration) usa uma abordagem serverless para acelerar consultas em dados de data warehouses do MaxCompute e data lakes do OSS. Ele também oferece suporte a análises federadas entre data lakes e warehouses. Este serviço adota o mesmo método de faturamento do cluster compartilhado original (MaxCompute BI Acceleration). Você paga apenas pelas consultas executadas — não há cobrança quando a instância está ociosa.

Modelo de faturamento

A fórmula de faturamento é:

Cost per query job = Amount of input data scanned × Unit price

Principais regras de faturamento:

Regra

Detalhe

Cobrança mínima

10 MB por consulta. Consultas que leem menos de 10 MB são faturadas como 10 MB para cobrir a sobrecarga de inicialização.

Ciclo de faturamento

As faturas são geradas por hora e contêm dados das duas horas anteriores.

Sem cobrança por ociosidade

Não há custos quando nenhuma consulta está em execução.

Recursos dedicados

O cluster compartilhado (Lakehouse Acceleration) usa recursos de computação dedicados.

Preços

A partir de 8 de março de 2023, todas as consultas em instâncias de cluster compartilhado (Lakehouse Acceleration) recebem um desconto de 50%. Esta oferta termina em 1º de abril de 2025.

Região

Preço original

Preço promocional

Unidade

China (Beijing)

0,066705

0,0333525

USD/GB

China (Shanghai)

0,066705

0,0333525

USD/GB

China (Hangzhou)

0,066705

0,0333525

USD/GB

China (Shenzhen)

0,066705

0,0333525

USD/GB

Singapura

0,084049

0,0420245

USD/GB

Reduzir custos de consulta

Três técnicas diminuem o volume de dados lidos e reduzem sua fatura:

  • Aplique filtros de partição: Ao consultar tabelas particionadas, adicione condições de filtro de partição para ignorar partições irrelevantes.

  • Selecione menos colunas: Consulte apenas os campos necessários em vez de usar SELECT *.

  • Use tabelas Hash Clustering: Converta tabelas do MaxCompute para tabelas Hash Clustering para ativar pruning de buckets, pushdown de agregação e otimização de armazenamento. Consulte Hash Clustering para obter detalhes.

Consultar volume de leitura

Permissões

O acesso aos dados de volume de leitura em hologres.hg_query_log depende da sua função:

Função

Escopo

Superusuário

Todos os bancos de dados na instância

Membro do grupo pg_read_all_stats

Todos os bancos de dados na instância

db_admin (modelo de permissão simples (SPM) ou modelo de permissão no nível de schema (SLPM) ativado)

Apenas o banco de dados atual

Usuário comum

Apenas as próprias consultas no banco de dados atual

Conceder acesso de superusuário

-- Replace "Alibaba Cloud account ID" with the actual username.
-- For a RAM user, add "p4_" before the account ID.
ALTER USER "Alibaba Cloud account ID" SUPERUSER;

Conceder acesso ao pg_read_all_stats

GRANT pg_read_all_stats TO "Alibaba Cloud account ID";                        -- Standard PostgreSQL authorization model
CALL spm_grant('pg_read_all_stats', 'Alibaba Cloud account ID');              -- SPM
CALL slpm_grant('pg_read_all_stats', 'Alibaba Cloud account ID');             -- SLPM

Conceder acesso ao db_admin (apenas banco de dados atual)

CALL spm_grant('<db_name>_admin', 'Alibaba Cloud account ID');   -- SPM
CALL slpm_grant('<db_name>.admin', 'Alibaba Cloud account ID');  -- SLPM

Para obter uma visão geral completa do gerenciamento de permissões, consulte Visão geral do gerenciamento de permissões.

Importante

Se log_min_duration_statement estiver definido para a instância, o hg_query_log registrará apenas instruções SQL cujo tempo de execução atinja ou exceda esse limiar. Os detalhes de faturamento de consultas mais rápidas não aparecerão. Para verificar o limiar atual:

SHOW log_min_duration_statement;

Consultar volume de leitura agregado por dia

Use esta consulta para obter os totais diários de leitura em um intervalo de tempo. Requer acesso de superusuário.

Sintaxe

SELECT
    to_char(query_end, 'DD Mon YYYY')  AS day,
    ROUND(
        SUM(
            CASE WHEN read_bytes < 10 * 1024 * 1024
                 THEN 10 * 1024 * 1024
                 ELSE read_bytes
            END
        ) / 1024 / 1024
    )                                   AS scan_size_mb,  -- 10 MB minimum applied per query
    COUNT(*)                            AS sql_count
FROM    hologres.hg_query_log
WHERE   status      = 'SUCCESS'
AND     command_tag IN ('SELECT')
AND     read_bytes  IS NOT NULL
AND     query_end  >= 'start_time'::TIMESTAMPTZ
AND     query_end   < 'end_time'::TIMESTAMPTZ
GROUP BY 1
ORDER BY 3 DESC;

Exemplo: Consultar o volume de leitura das 10:00 às 11:00 em 1º de janeiro de 2022 (UTC+8)

SELECT
    to_char(query_end, 'DD Mon YYYY')  AS day,
    ROUND(
        SUM(
            CASE WHEN read_bytes < 10 * 1024 * 1024
                 THEN 10 * 1024 * 1024
                 ELSE read_bytes
            END
        ) / 1024 / 1024
    )                                   AS scan_size_mb,
    COUNT(*)                            AS sql_count
FROM    hologres.hg_query_log
WHERE   status      = 'SUCCESS'
AND     command_tag IN ('SELECT')
AND     read_bytes  IS NOT NULL
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;

Consultar volume de leitura por instrução SQL

Use esta consulta para visualizar o volume de leitura faturável de cada instrução SQL individual em um intervalo de tempo. Requer acesso de superusuário.

Todos os exemplos usam billing_read_bytes — o volume de leitura com o mínimo de 10 MB aplicado — como campo para cálculo de custo.

Sintaxe

SELECT
    usename,
    status,
    query_id,
    datname,
    command_tag,
    duration,
    message,
    query_start,
    query_end,
    query_date,
    query,
    CASE WHEN read_bytes < 10 * 1024 * 1024
         THEN 10 * 1024 * 1024
         ELSE read_bytes
    END  AS billing_read_bytes,  -- 10 MB minimum applied
    application_name
FROM    hologres.hg_query_log
WHERE   status      = 'SUCCESS'
AND     command_tag IN ('SELECT')
AND     read_bytes  IS NOT NULL
AND     query_end  >= 'start_time'::TIMESTAMPTZ
AND     query_end   < 'end_time'::TIMESTAMPTZ;

O campo billing_read_bytes representa o volume de dados lidos usado para faturamento.

Exemplo: Consultar o volume de leitura por instrução das 10:00 às 11:00 em 1º de março de 2022 (UTC+8)

SELECT
    usename,
    status,
    query_id,
    datname,
    command_tag,
    duration,
    message,
    query_start,
    query_end,
    query_date,
    query,
    CASE WHEN read_bytes < 10 * 1024 * 1024
         THEN 10 * 1024 * 1024
         ELSE read_bytes
    END  AS billing_read_bytes,
    application_name
FROM    hologres.hg_query_log
WHERE   status      = 'SUCCESS'
AND     command_tag IN ('SELECT')
AND     read_bytes  IS NOT NULL
AND     query_end  >= '2022-03-01 10:00:00+08'::TIMESTAMPTZ
AND     query_end   < '2022-03-01 11:00:00+08'::TIMESTAMPTZ;

Visualizar detalhes da consulta

Um superusuário pode visualizar detalhes de consultas de todos os usuários. Um usuário do Resource Access Management (RAM) visualiza apenas suas próprias instruções SQL.

SELECT usename, status, query_id, command_tag, duration, query, read_bytes, application_name
FROM hologres.hg_query_log;

Para mais informações, consulte Gerenciamento de consultas.

Gerenciamento de ciclo de vida

Após comprar e ativar uma instância de cluster compartilhado (Lakehouse Acceleration), o sistema agrega os dados de consulta do dia anterior, gera uma fatura e deduz automaticamente a taxa da sua conta.

  • Depois de comprar e ativar uma instância de cluster compartilhado do Hologres (Lakehouse Acceleration) no site da Alibaba Cloud, você pode começar a usá-la. O sistema então agrega os dados de todas as consultas SQL do dia anterior, gera uma fatura e deduz automaticamente a taxa da sua conta.

  • Caso sua conta da Alibaba Cloud tenha um pagamento em atraso, todas as instâncias dessa conta entrarão em estado de Atraso. Se o valor total em atraso for inferior a 1.000 USD, a instância continuará funcionando normalmente.

  • Quando o valor total em atraso atingir 1.000 USD, o sistema tentará deduzir o pagamento. Se a dedução falhar, a instância continuará funcionando normalmente por 14 dias.

  • No 15º dia após a falha na dedução, o serviço da instância será suspenso. A instância entrará em estado bloqueado e não poderá ser acessada. Nenhuma fatura será gerada durante esse período.

  • No 15º dia após a suspensão do serviço, a instância será liberada. Isso significa que a instância é excluída do console, e todos os seus dados são removidos permanentemente e não podem ser recuperados.

A tabela a seguir descreve o que acontece quando um pagamento entra em atraso:

Estágio

Condição

Resultado

Estado de atraso

Valor em atraso < 1.000 USD

A instância continua funcionando normalmente

Falha na dedução

Valor em atraso atinge 1.000 USD; falha na dedução

A instância funciona normalmente por mais 14 dias

Serviço suspenso

15º dia após falha na dedução

A instância entra em estado bloqueado; não pode ser acessada; nenhuma fatura gerada

Instância liberada

15º dia após suspensão do serviço

Instância excluída do console; todos os dados removidos permanentemente e irrecuperáveis