À partir de la version V1.1, Hologres prend en charge une instance primaire associée à un maximum de 10 instances secondaires en lecture seule sur un stockage partagé. Cette architecture sépare le trafic en lecture du trafic en écriture, offrant une isolation des charges de travail et des pannes sans duplication des données. Le stockage n'est facturé qu'une seule fois.
Configuration des instances primaire et secondaire
Étape 1 : Acheter une instance secondaire en lecture seule
Accédez à la page d'achat de Hologres.
Définissez le paramètre Instance Type sur Read-only Secondary Instance.
Pour le champ Primary Instance ID of the Read-only Secondary Instance, sélectionnez l'ID de l'instance primaire.
Configurez les autres paramètres. Pour plus d'informations, consultez la rubrique Achat d'une instance Hologres.
L'instance secondaire en lecture seule doit se trouver dans la même région que l'instance primaire.
Étape 2 : Vérifier le rattachement de l'instance secondaire
Après l'achat, l'instance secondaire est automatiquement rattachée à l'instance primaire sélectionnée. Attendez que l'état de l'instance passe à Running as Expected.
Étape 3 : Se connecter au point de terminaison de l'instance secondaire
Chaque instance secondaire dispose de son propre endpoint. Acheminez le trafic en lecture vers différents endpoints secondaires afin d'isoler les charges de travail selon les scénarios métier.
Recommandations d'utilisation
Effectuez toutes les opérations d'écriture, les commandes DDL, les autorisations et les modifications de paramètres sur l'instance primaire. Les instances secondaires sont en lecture seule.
Les instances secondaires héritent de tous les objets (utilisateurs, tables, politiques d'accès) de l'instance primaire. Vous ne pouvez pas créer d'utilisateurs spécifiques à une instance secondaire.
Une fois la configuration terminée, dirigez le trafic de lecture de production vers les endpoints des instances secondaires.
Scénarios recommandés
|
Scenario |
Primary instance |
Secondary instances |
|
Séparation lecture/écriture |
Ingestion et transformation des données |
Analyse des données |
|
Isolation des services en ligne (stabilité P99 élevée) |
Toutes les opérations d'écriture |
Réplica dédié aux requêtes en ligne, isolé des autres charges de travail |
|
Isolation des requêtes OLAP |
Toutes les opérations d'écriture |
Réplica distinct dédié à l'analytique, séparé du réplica de service en ligne |
Fonctionnement
Récupération automatique sur instance unique
Chaque instance Hologres intègre un mécanisme de récupération automatique. Aucune intervention manuelle en matière d'exploitation et de maintenance n'est requise.
Les nœuds de calcul s'exécutent dans des conteneurs (Worker Nodes). Le Resource Manager effectue des contrôles de santé périodiques sur chaque conteneur. Si un conteneur ne répond pas dans un délai d'une minute, en raison d'une erreur OOM, d'une panne matérielle ou d'un bug logiciel, le Resource Manager lance un nœud de remplacement et lui transfère les responsabilités liées aux shards.
Les données résident dans le système de stockage distribué Pangu, et non sur les nœuds de calcul. Comme les nœuds de calcul sont sans état, la récupération s'effectue sans migration de données. Elle prend environ une minute dans les versions V1.1 et ultérieures, soit 5 à 10 fois plus rapidement que dans les versions précédentes.
Les requêtes ciblant un nœud en cours de récupération échouent immédiatement pendant cette opération.

Architecture de stockage partagé multi-instances
La récupération sur instance unique entraîne tout de même une brève période d'indisponibilité. Pour les charges de travail exigeant une disponibilité continue, les versions V1.1 et ultérieures prennent en charge le déploiement multi-instances avec stockage partagé.
|
Component |
Capabilities |
|
Instance primaire |
Opérations de lecture et d'écriture, gestion des autorisations, configuration des paramètres système |
|
Instances secondaires |
Lecture seule ; toutes les modifications (création de tables, autorisation des utilisateurs, paramètres système) doivent être effectuées sur l'instance primaire |
Les instances partagent les données et les politiques d'accès, mais pas les ressources de calcul, ce qui assure une isolation des charges de travail et des pannes. Le stockage n'est facturé qu'une seule fois.

Synchronisation entre les instances
Les états mémoire sont synchronisés en temps réel entre les instances, avec une latence de l'ordre de la milliseconde au sein d'une même région. Les écritures effectuées sur l'instance primaire sont automatiquement synchronisées avec toutes les instances secondaires.
Les instances secondaires consomment environ 1/8 du CPU et de la mémoire de l'instance primaire, même lorsqu'elles sont inactives. Évitez des spécifications trop disparates entre les instances primaires et secondaires.
Prérequis
Vérifiez les points suivants :
|
Requirement |
Detail |
|
Version de Hologres |
V1.1 ou ultérieure pour l'instance primaire. Pour les versions antérieures, consultez la rubrique Erreurs courantes de préparation à la mise à niveau ou rejoignez le groupe d'utilisateurs Hologres pour demander une mise à niveau. Pour plus d'informations, consultez la rubrique Obtenir un support en ligne pour Hologres |
|
Région |
Les instances primaire et secondaire doivent résider dans la même région |
|
Parité des versions |
Les instances primaire et secondaire doivent exécuter la même version de Hologres |
|
Autorisations RAM |
L'utilisateur RAM effectuant les opérations de rattachement et de détachement doit disposer de la stratégie AliyunHologresFullAccess. Pour plus d'informations, consultez la rubrique Attribution d'autorisations aux utilisateurs RAM. |
Limites
|
Constraint |
Detail |
|
Nombre maximal d'instances secondaires |
10 instances secondaires en lecture seule par instance primaire |
|
Nombre de shards |
Toutes les instances doivent avoir le même nombre de shards |
|
Spécifications |
Les configurations de ressources peuvent différer entre les instances, mais ne doivent pas varier de manière significative |
|
Réplicas non rattachés |
Une instance secondaire en lecture seule ne peut accepter de connexions tant qu'elle n'est pas rattachée à une instance primaire |
|
Durée du rattachement |
Le rattachement d'un réplica prend environ 3 à 5 minutes. Le réplica reste indisponible jusqu'à la fin du processus |
|
Disponibilité de l'instance primaire pendant le rattachement |
L'instance primaire reste pleinement opérationnelle pendant le rattachement d'un réplica |
|
Seuil de latence de synchronisation |
Dans les versions V1.3.27 et ultérieures, le seuil est fixé à 60 minutes (contre 20 minutes auparavant). Si l'utilisation du réplica reste à 100 % pendant plus de 60 minutes, le réplica redémarre automatiquement. En cas d'utilisation élevée soutenue, optimisez les performances ou augmentez la capacité. |
|
Lecture directe MaxCompute |
Lorsque MaxCompute lit directement depuis la couche de stockage Hologres dans une architecture primaire-secondaire, l'URL de connexion doit pointer vers l'instance primaire, et non vers un réplica. Pour plus d'informations, consultez la rubrique Activation de la lecture directe depuis le stockage de table externe Hologres. |