Tous les produits
Search
Centre de documentation

Hologres:Accorder l'accès aux données aux virtual warehouses

Dernière mise à jour :Aug 12, 2026

Cette rubrique explique comment accorder des permissions d'accès aux données aux virtual warehouses dans Hologres.

Remarques sur l'utilisation

  • Lorsque vous créez un Table Group à l'aide de la virtual warehouse A, celle-ci devient automatiquement la virtual warehouse leader par défaut de ce Table Group.

  • L'état de la mémoire se synchronise entre les virtual warehouses avec une latence de l'ordre de la milliseconde. Lors de l'écriture de données dans une virtual warehouse leader, le système synchronise les données en mémoire vers les virtual warehouses follower. Ce processus consomme peu de ressources CPU et mémoire sur les virtual warehouses follower. Nous vous recommandons de maintenir un écart de spécifications inférieur ou égal à un facteur 4 entre les virtual warehouses.

  • Seule la virtual warehouse par défaut d'une instance peut écrire dans des tables externes.

  • Dans Hologres V2.0, les virtual warehouses prennent en charge les tâches de lecture et d'écriture selon les règles suivantes :

    • Une virtual warehouse follower, c'est-à-dire une warehouse ayant chargé un Table Group, ne peut effectuer que des opérations de lecture sur les tables de ce Table Group. Les opérations d'écriture ne sont pas prises en charge.

    • Une virtual warehouse leader, désignée comme telle pour un Table Group, peut exécuter des tâches de lecture et d'écriture sur les tables de ce Table Group.

    • Une virtual warehouse n'ayant pas chargé un Table Group ne peut ni lire ni écrire dans celui-ci.

  • Hologres V4.0 met à niveau l'architecture des instances pour les virtual warehouses. La prise en charge des tâches de lecture et d'écriture s'établit comme suit :

    • Activez le paramètre GUC hg_warehouse_enable_use_local_resource. Pour plus d'informations, consultez Paramètres GUC.

    • Les tâches de lecture et d'écriture non optimisées par Fixed Plan peuvent s'exécuter sans charger de Table Group dans une virtual warehouse.

    • Pour identifier les tâches de lecture et d'écriture optimisables par Fixed Plan, reportez-vous à Accélérer l'exécution SQL avec Fixed Plan.

    • Toutes les tâches d'écriture, y compris les écritures en temps réel et par lots, peuvent toujours être routées vers la virtual warehouse leader pour exécution via la fonctionnalité de routage automatique DML.

Type de tâche / Type de virtual warehouse

Virtual warehouse leader

Virtual warehouse follower(Table group chargé)

Autres virtual warehouses(Table group non chargé)

Écriture en temps réel(Tâche d'écriture optimisée par Fixed Plan)

Pris en charge

Non pris en charge

Non pris en charge

Écriture par lots(Tâche d'écriture non optimisée par Fixed Plan)

Pris en charge

Pris en charge(Fonctionnalité V4.0 ; nécessite l'activation du paramètre GUC)

Pris en charge(Fonctionnalité V4.0 ; nécessite l'activation du paramètre GUC)

Requête ponctuelle clé/valeur et Prefixscan(Tâche de lecture optimisée par Fixed Plan)

Pris en charge

Pris en charge

Non pris en charge

Autres tâches de lecture(Tâche de lecture non optimisée par Fixed Plan)

Pris en charge

Pris en charge

Pris en charge(Fonctionnalité V4.0 ; nécessite l'activation du paramètre GUC)

Consulter les permissions d'accès aux Table Groups

  • Syntaxe

    Pour consulter les informations de permissions des Table Groups pour toutes les virtual warehouses de l'instance actuelle, exécutez l'instruction SQL suivante.

    SELECT * FROM hologres.hg_warehouse_table_groups;
  • Paramètres

    Le tableau suivant décrit les colonnes de la table hg_warehouse_table_groups.

    Paramètre

    Type

    Description

    Exemple

    warehouse_name

    TEXT

    Nom de la virtual warehouse.

    init_warehouse

    warehouse_id

    INTEGER

    ID unique de la virtual warehouse.

    1

    database_name

    TEXT

    Nom de la base de données.

    wh_demo

    tablegroup_name

    TEXT

    Nom du Table Group.

    wh_demo_tg_default

    leader

    BOOLEAN

    Indique si la virtual warehouse est la virtual warehouse leader du Table Group.

    t

    replica_count

    INTEGER

    Nombre de réplicas.

    1

Charger un Table Group dans une virtual warehouse

Charger un Table Group dans une virtual warehouse fait de celle-ci une virtual warehouse follower pour ce Table Group.

  • Une fois qu'une virtual warehouse a chargé un Table Group, utilisez-la pour effectuer des opérations sur les tables de ce Table Group.

  • Charger un Table Group dans une virtual warehouse requiert les permissions Superuser pour l'instance.

  • Syntaxe :

    CALL hg_table_group_load_to_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>', <replica_count>);
  • Paramètres :

    Paramètre

    Type

    Description

    database_name

    TEXT

    Nom de la base de données.

    table_group_name

    TEXT

    Nom du Table Group.

    warehouse_name

    TEXT

    Nom de la virtual warehouse dans laquelle charger le Table Group.

    replica_count

    INTEGER

    Nombre de réplicas. Ce paramètre est facultatif. Valeur par défaut : 1.

  • Exemples :

    -- Load table_group_1 in the db1 database into the warehouse_1 virtual warehouse with one replica.
    CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1');
    -- Load table_group_1 in the db1 database into the warehouse_1 virtual warehouse with two replicas.
    CALL hg_table_group_load_to_warehouse ('db1.table_group_1', 'warehouse_1',2);

Définir la virtual warehouse leader

  • Remarques sur l'utilisation

    • Seule la virtual warehouse leader peut effectuer des opérations DML, telles que l'écriture de données, sur les tables d'un Table Group.

    • Un Table Group ne peut avoir qu'une seule virtual warehouse leader. Modifier le leader entraîne son redémarrage ; planifiez donc cette opération en tenant compte de l'impact sur votre activité.

    • Définir la virtual warehouse leader pour un Table Group requiert les permissions Superuser pour l'instance.

  • Syntaxe

    CALL hg_table_group_set_leader_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');
  • Paramètres

    Paramètre

    Type

    Description

    database_name

    TEXT

    Nom de la base de données.

    table_group_name

    TEXT

    Nom du Table Group.

    warehouse_name

    TEXT

    Nom de la virtual warehouse à définir comme leader.

Décharger un Table Group

  • Remarques sur l'utilisation

    • Décharger un Table Group d'une virtual warehouse requiert les permissions Superuser pour l'instance.

    • Vous ne pouvez pas décharger un Table Group de sa virtual warehouse leader. Changez d'abord le leader.

  • Syntaxe

    CALL hg_table_group_unload_from_warehouse ('<database_name>.<table_group_name>', '<warehouse_name>');
  • Paramètres

    Paramètre

    Type

    Description

    database_name

    TEXT

    Nom de la base de données.

    table_group_name

    TEXT

    Nom du Table Group.

    warehouse_name

    TEXT

    Nom de la virtual warehouse depuis laquelle décharger le Table Group.

Modifier le nombre de réplicas

  • Remarque : Modifier le nombre de réplicas pour un Table Group chargé dans une virtual warehouse requiert les permissions Superuser pour l'instance.

  • Syntaxe

    CALL hg_table_group_set_warehouse_replica_count ('<database_name>.<table_group_name>', <replica_count>,'<warehouse_name>');
  • Paramètres

    Paramètre

    Type

    Description

    database_name

    TEXT

    Nom de la base de données.

    table_group_name

    TEXT

    Nom du Table Group.

    replica_count

    INTEGER

    Nombre de réplicas.

    warehouse_name

    TEXT

    Nom de la virtual warehouse dont vous souhaitez modifier le nombre de réplicas.

Routage automatique DML pour les virtual warehouses (Bêta)

  • Remarques sur l'utilisation

    Un Table Group ne possède qu'une seule virtual warehouse leader, seule habilitée à y effectuer des opérations DML. À partir de Hologres V2.2, vous pouvez router automatiquement les opérations DML vers la virtual warehouse leader d'un Table Group. Une fois cette fonctionnalité activée, les tâches d'écriture utilisent automatiquement les ressources de la virtual warehouse leader pour leur exécution, mais les métriques associées, telles que le QPS, restent enregistrées au niveau de la virtual warehouse follower.

    Remarque

    L'activation de la fonctionnalité de transactions mixtes multi-DML empêche l'utilisation du routage automatique DML pour les virtual warehouses. Pour plus d'informations sur les transactions mixtes multi-DML, consultez Capacités transactionnelles SQL.

  • Activer ou désactiver le routage automatique DML

    Utilisez le paramètre GUC suivant pour activer ou désactiver le routage automatique DML pour les virtual warehouses au niveau de la session ou de la base de données.

    Remarque

    Le paramètre GUC pour le routage automatique DML des virtual warehouses, hg_experimental_enable_warehouse_dml_auto_routing, est activé par défaut.

    • Niveau session

      -- Enable DML auto-routing for virtual warehouses.
      SET hg_experimental_enable_warehouse_dml_auto_routing = ON;
      -- Disable DML auto-routing for virtual warehouses.
      SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;
    • Niveau base de données

      -- Enable DML auto-routing for virtual warehouses.
      ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = ON;
      -- Disable DML auto-routing for virtual warehouses.
      ALTER DATABASE <database_name> SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;

      Paramètres

      Paramètre

      Type

      Description

      database_name

      TEXT

      Nom de la base de données.

  • Exemple

    1. Accédez à la page de développement HoloWeb. Pour plus d'informations, consultez Se connecter à HoloWeb et exécuter des requêtes.

    2. Dans la barre de menu supérieure de la page HoloWeb, cliquez sur Security Center uicontrol替换 修改时间:2026-02-03 01:32:43 原文:安全中心 修改后:conref="mcms_dita_holoweb.dita#holoweb/module_security" .

    3. Dans le volet de navigation de gauche de la page Security Center, cliquez sur Virtual Warehouse Management uicontrol替换 修改时间:2026-02-03 01:32:43 原文:计算组管理 修改后:conref="mcms_dita_hologres-console.dita#hologres-console/warehouse_manage" .

    4. Sous l'onglet Virtual Warehouse Resource Management uicontrol替换 修改时间:2026-02-03 01:32:43 原文:计算组资源管理 修改后:conref="mcms_dita_hologres-console.dita#hologres-console/warehouse.warehouse_resource_manage" , cliquez sur Create Virtual Warehouse uicontrol替换 修改时间:2026-02-03 01:32:43 原文:新增计算组 修改后:conref="mcms_dita_hologres-console.dita#hologres-console/warehouse_addWarehouse" pour créer une virtual warehouse nommée read_wh1.

      Remarque

      Une instance peut comporter jusqu'à 10 virtual warehouses. Chaque virtual warehouse doit disposer d'un minimum de 32 CU et d'un maximum de 512 CU. Si vous disposez de moins de 32 CU de ressources de calcul non allouées, vous ne pouvez pas créer de nouvelle virtual warehouse. Pour augmenter la capacité, consultez Mettre à l'échelle une virtual warehouse.

      Une fois la virtual warehouse créée, l'onglet Virtual Warehouse Resource Management affiche la virtual warehouse read_wh1 avec le statut Running. Vous pouvez alors effectuer des opérations telles que Scale, Restart et Stop.

    5. Sous l'onglet Management on Permissions of Virtual Warehouses on Table Groups uicontrol替换 修改时间:2026-02-03 01:32:43 原文:计算组 Table Group 授权管理 修改后:conref="mcms_dita_holoweb.dita#holoweb/warehouse.table_group_auth_management" , cliquez sur Grant Permissions to Virtual Warehouse uicontrol替换 修改时间:2026-02-03 01:32:43 原文:新增计算组授权 修改后:conref="mcms_dita_holoweb.dita#holoweb/warehouse.add_warehouse_auth" pour configurer la virtual warehouse read_wh1 en tant que virtual warehouse follower pour le Table Group cible.

      Remarque

      Pour créer un Table Group, consultez Gérer les Table Groups.

      Après l'octroi des permissions, la liste indique init_warehouse comme virtual warehouse leader. Dans la colonne Actions pour read_wh1, les options Set as Leader et Revoke Permissions s'affichent.

    6. Dans le SQL Editor uicontrol替换 修改时间:2026-02-03 01:32:43 原文:SQL编辑器 修改后:conref="mcms_dita_holoweb.dita#holoweb/Header_index_-1816047924" , définissez la virtual warehouse actuelle sur read_wh1 et exécutez des instructions DML avec le routage automatique DML pour les virtual warehouses activé puis désactivé.

      • Lorsque le routage automatique DML pour les virtual warehouses est activé, les instructions DML sont automatiquement dirigées vers la virtual warehouse leader du Table Group, à savoir init_warehouse, pour exécution.

        Basculez la current virtual warehouse sur read_wh1, exécutez SET hg_experimental_enable_warehouse_dml_auto_routing = ON; pour activer le routage automatique DML, puis lancez une instruction INSERT pour écrire des données. L'instruction s'exécute avec succès (99 lignes, environ 53 ms), ce qui confirme que les opérations DML ont été automatiquement routées vers la virtual warehouse leader pour exécution.

      • Si le routage automatique DML est désactivé, les instructions DML ne sont pas transmises au leader, init_warehouse. C'est alors la virtual warehouse actuelle, read_wh1, qui tente de les exécuter. Cette tentative échoue et génère une erreur, car seule la virtual warehouse leader est autorisée à effectuer des opérations DML sur le Table Group.

        La commande permettant de désactiver le routage automatique DML est SET hg_experimental_enable_warehouse_dml_auto_routing = OFF;. Le message d'erreur suivant s'affiche : ERROR: Dispatch query failed: internal error: Failed to get available shards for query. Le message HINT suggère de vérifier si le Table Group (par exemple, demo.demo_tg_default) correspond bien au leader dans la virtual warehouse actuelle.