Tous les produits
Search
Centre de documentation

Hologres:Pricing

Dernière mise à jour :Aug 11, 2026

Hologres shared cluster (Lakehouse Acceleration) adopte une approche serverless pour accélérer les requêtes sur les données des entrepôts de données MaxCompute et des lacs de données OSS. Il prend également en charge l'analytique fédérée entre les lacs et les entrepôts de données. Ce service utilise la même méthode de facturation que le shared cluster d'origine (MaxCompute BI Acceleration). Vous ne payez que pour les requêtes que vous exécutez ; aucun frais n'est appliqué lorsque l'instance est inactive.

Modèle de facturation

La formule de calcul des coûts est la suivante :

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

Règles de facturation principales :

Règle Détail
Frais minimum 10 Mo par requête. Les requêtes qui analysent moins de 10 Mo sont facturées sur la base de 10 Mo afin de couvrir les frais généraux de démarrage de la requête.
Cycle de facturation Les factures sont générées toutes les heures et contiennent les données des deux heures précédentes.
Aucun frais d'inactivité Aucun frais n'est encouru lorsqu'aucune requête n'est en cours d'exécution.
Ressources dédiées Le shared cluster (Lakehouse Acceleration) utilise des ressources de calcul dédiées.

Tarification

À compter du 8 mars 2023, toutes les requêtes sur les instances shared cluster (Lakehouse Acceleration) bénéficient d'une remise de 50 %. Cette offre prend fin le 1er avril 2025.
Région Prix initial Prix promotionnel Unité
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
Singapore 0.084049 0.0420245 USD/GB

Réduire les coûts des requêtes

Trois techniques permettent de réduire le volume de données analysées et donc votre facture :

  • Appliquez des filtres de partition : Lors de l'interrogation de tables partitionnées, ajoutez des conditions de filtrage par partition pour ignorer les partitions non pertinentes.

  • Sélectionnez moins de colonnes : Interrogez uniquement les champs dont vous avez besoin au lieu d'utiliser SELECT *.

  • Utilisez des tables Hash Clustering : Convertissez les tables MaxCompute en tables Hash Clustering pour activer l'élimination des buckets (bucket pruning), la poussée des agrégations (aggregation pushdown) et l'optimisation du stockage. Pour plus de détails, consultez Hash Clustering.

Consulter votre volume d'analyse

Autorisations

L'accès aux données de volume d'analyse dans hologres.hg_query_log dépend de votre rôle :

Rôle Étendue
Superuser Toutes les bases de données de l'instance
Membre du groupe pg_read_all_stats Toutes les bases de données de l'instance
db_admin (modèle d'autorisation simple (SPM) ou modèle d'autorisation au niveau du schéma (SLPM) activé) Base de données actuelle uniquement
Utilisateur standard Requêtes propres dans la base de données actuelle uniquement

Accorder l'accès superuser

-- 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;

Accorder l'accès 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

Accorder l'accès db_admin (base de données actuelle uniquement)

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

Pour un aperçu complet de la gestion des autorisations, consultez Permission management overview.

Important

Si log_min_duration_statement est défini pour l'instance, hg_query_log n'enregistre que les instructions SQL dont le temps d'exécution atteint ou dépasse ce seuil. Les détails de facturation des requêtes plus rapides n'apparaîtront pas. Pour vérifier le seuil actuel :

SHOW log_min_duration_statement;

Interroger le volume d'analyse agrégé par jour

Utilisez cette requête pour obtenir les totaux d'analyse quotidiens sur une plage de temps donnée. Un accès superuser est requis.

Syntaxe

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;

Exemple : Interroger le volume d'analyse de 10 h 00 à 11 h 00 le 1er janvier 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;

Interroger le volume d'analyse par instruction SQL

Utilisez cette requête pour afficher le volume d'analyse facturable pour chaque instruction SQL individuelle sur une plage de temps donnée. Un accès superuser est requis.

Tous les exemples utilisent billing_read_bytes — le volume d'analyse avec le minimum de 10 Mo appliqué — comme champ utilisé pour le calcul des coûts.

Syntaxe

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;

Le champ billing_read_bytes représente le volume de données analysées utilisé pour la facturation.

Exemple : Interroger le volume d'analyse par instruction de 10 h 00 à 11 h 00 le 1er mars 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;

Afficher les détails des requêtes

Un superuser peut afficher les détails des requêtes de tous les utilisateurs. Un utilisateur Resource Access Management (RAM) ne peut afficher que ses propres instructions SQL.

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

Pour plus d'informations, consultez Query management.

Gestion du cycle de vie

Après l'achat et l'activation d'une instance shared cluster (Lakehouse Acceleration), le système agrège les données de requête de la veille, génère une facture et déduit automatiquement les frais de votre compte.

  • Après avoir acheté et activé une instance Hologres shared cluster (Lakehouse Acceleration) depuis le site web Alibaba Cloud, vous pouvez commencer à l'utiliser. Le système agrège ensuite les données de toutes les requêtes SQL de la veille, génère une facture et déduit automatiquement les frais de votre compte.

  • Si votre compte Alibaba Cloud présente un impayé, toutes les instances associées à ce compte passent à l'état Overdue. Si le montant total des impayés est inférieur à 1 000 USD, l'instance continue de fonctionner normalement.

  • Lorsque le montant total des impayés atteint 1 000 USD, le système tente d'effectuer le prélèvement. Si le prélèvement échoue, l'instance continue de fonctionner normalement pendant 14 jours.

  • Le 15e jour suivant l'échec du prélèvement, le service de l'instance est suspendu. L'instance passe à un état verrouillé et ne peut plus être accessible. Aucune facture n'est générée pendant cette période.

  • Le 15e jour suivant la suspension du service, l'instance est libérée. Cela signifie que l'instance est supprimée de la console et que toutes ses données sont purgées et ne peuvent pas être récupérées.

Le tableau suivant décrit ce qui se produit lorsqu'un paiement est en retard :

Étape Condition Résultat
État Overdue Montant des impayés < 1 000 USD L'instance continue de fonctionner normalement
Échec du prélèvement Le montant des impayés atteint 1 000 USD ; le prélèvement échoue L'instance fonctionne normalement pendant 14 jours supplémentaires
Service suspendu 15e jour suivant l'échec du prélèvement L'instance passe à un état verrouillé ; elle n'est pas accessible ; aucune facture n'est générée
Instance libérée 15e jour suivant la suspension du service L'instance est supprimée de la console ; toutes les données sont purgées et ne peuvent pas être récupérées