Hologres V2.0 introduit un type d'instance de virtual warehouse qui découple le calcul du stockage partagé. Cette architecture permet la séparation lecture/écriture, l'isolation des ressources et l'isolation des services au sein d'une même instance, sans nécessiter plusieurs endpoints ni coordination entre instances.
Contexte
Hologres V1.1 utilise un modèle de déploiement haute disponibilité (HA) pour la séparation lecture/écriture : une instance principale partage son stockage avec une ou plusieurs instances réplicas en lecture seule, tout en isolant les ressources de calcul. Pour plus d'informations, consultez Primary/replica instance deployment for read/write splitting (shared storage).
Ce modèle présente deux limitations majeures :
Chaque instance nécessite un endpoint distinct. Le basculement du trafic implique donc de modifier l'endpoint.
Les instances réplicas en lecture seule partagent les métadonnées avec l'instance principale, ce qui empêche la configuration de paramètres spécifiques par réplica. Par exemple, il est impossible de définir différents nombres de réplicas pour chaque instance en lecture seule afin de répondre aux exigences de haute disponibilité des requêtes.
Hologres V2.0 résout ces deux limitations grâce aux instances de virtual warehouse. Une instance de virtual warehouse divise ses ressources de calcul en unités indépendamment extensibles appelées virtual warehouses (Leader et Follower). Tous les virtual warehouses partagent les données et les métadonnées, et l'instance expose un seul endpoint : aucun changement d'endpoint n'est requis lors du basculement du trafic.
À partir de Hologres V4.0, l'architecture des virtual warehouses est améliorée pour prendre en charge l'isolation écriture-écriture au niveau du table group, en plus de l'isolation lecture/écriture et lecture/lecture.
Limites et notes de version
Une instance de virtual warehouse prend en charge jusqu'à 10 virtual warehouses. La taille des ressources d'un virtual warehouse individuel commence à 32 CU.
Taille maximale par virtual warehouse :
| Version | Taille maximale du virtual warehouse |
|---|---|
| V3.0.27 et ultérieure | Aucune limite |
| V3.0.10–V3.0.26 | 1 024 CU |
| V2.0–V3.0.9 | 512 CU |
Répartition des tâches de lecture et d'écriture par version :
Hologres V2.0 :
| Type de tâche | Leader | Follower |
|---|---|---|
| Requête de données | Oui | Oui |
| Tâches d'écriture de données | Oui | Non |
Hologres V4.0 et versions ultérieures :
| Type de tâche | Leader | Follower |
|---|---|---|
| Requête de données | Oui | Oui |
Importation de données par lot (insert into select) |
Oui | Oui |
| Écritures Fixed Plan (Insert, Update, Fixed Copy) | Oui | Non |
| Isolation écriture-écriture (niveau table group) | Oui | Non |
À partir de Hologres V4.0, pour permettre aux virtual warehouses Follower d'utiliser les ressources locales pour les tâches d'importation de données par lot, activez le paramètre GUC hg_warehouse_enable_use_local_resource. Pour plus d'informations, consultez GUC parameters reference.
Pour accorder des permissions aux virtual warehouses Leader et Follower, consultez Authorize access to data in virtual warehouses.
Architecture
Une instance de virtual warehouse découple le calcul du stockage partagé : les virtual warehouses peuvent être mis à l'échelle indépendamment sans affecter les performances des autres, tout en partageant les mêmes données et métadonnées sous-jacentes.
Architecture V4.0
L'architecture V4.0 est améliorée pour offrir une isolation écriture-écriture optimale pour un seul table group :
Architecture V2.0
-
La version 2.0 prend en charge la séparation basique lecture/écriture et lecture/lecture.
-
Dans la version V2.0, l'isolation écriture-écriture nécessite de diviser les données en plusieurs table groups au niveau du stockage. Pour plus d'informations, consultez Concepts.
L'architecture comprend trois couches :
Stockage des données : Basé sur Alibaba Cloud Pangu, il offre des performances élevées, une fiabilité et une disponibilité accrues, un coût réduit, un stockage élastique et une sécurité robuste. Tous les virtual warehouses lisent et écrivent dans cette couche de stockage partagée.
Virtual warehouse (calcul) : Chaque virtual warehouse est une unité de calcul indépendante et élastiquement extensible qui exécute les requêtes. Étant donné que les virtual warehouses ne partagent pas de ressources de calcul, la charge de travail de l'un n'affecte pas les performances des autres. Le virtual warehouse Leader gère les tâches d'écriture ; les virtual warehouses Leader et Follower traitent les tâches de requête.
Composants du service cloud : Gateway, Meta Service et Holo Master assurent la gestion des métadonnées, l'authentification de sécurité, le provisionnement et la gestion des nœuds. Le Gateway route chaque connexion entrante vers le frontend (FE) du virtual warehouse approprié. Par exemple, une connexion ciblant le virtual warehouse
read_warehouseest transférée vers un FE deread_warehouse.
Capacité de connexion du Gateway :
| Version | Nouvelles connexions par seconde (pic) | Connexions maximales |
|---|---|---|
| V2.2.22 et ultérieure | 150 | 8 000 |
| V2.0–V2.2.21 | 100 | 8 000 |