Ce document fournit des recommandations et des conseils de planification pour les types d'instance StarRocks. Il décrit les types d'instance à architecture couplée (compute-storage integrated) et à architecture découplée (compute-storage separated).
Édition à architecture couplée
Dans l'édition à architecture couplée, une instance ne contient que des nœuds Frontend (FE) et Backend (BE). Cette section présente des recommandations concernant les spécifications de ces deux types de nœuds.
Estimation du nombre d'unités de calcul (CU) pour les nœuds BE
Dans l'édition à architecture couplée, les nœuds Backend (BE) sont responsables du stockage des données et de l'exécution des tâches de calcul.
-
Formule d'estimation
Total CUs = Total rows to scan / CPU processing capability / Expected response time * QPS (Queries Per Second)Les paramètres sont décrits ci-dessous :
Nombre total de lignes à analyser : nombre attendu de lignes analysées par chaque requête SQL. Il ne s'agit pas du nombre total de lignes dans une seule table, mais uniquement du nombre de lignes devant être analysées.
Capacité de traitement du CPU : cette valeur varie dynamiquement en fonction de la complexité de la requête SQL. Elle se situe généralement entre 10 millions et 100 millions de lignes par seconde. Plus la requête SQL est complexe, moins le nombre de lignes traitées est élevé.
Temps de réponse attendu : durée d'exécution souhaitée pour une requête SQL. Par exemple, la requête doit renvoyer un résultat en moins d'une seconde.
Requêtes par seconde (QPS) : nombre de requêtes SQL concurrentes soumises par seconde. Par exemple, 30 requêtes par seconde.
-
Exemples de données
ImportantLa formule fournit une estimation qui peut ne pas être entièrement précise, car les performances varient selon la complexité des requêtes SQL. Dans un environnement de production, vous devez évaluer les ressources finales requises en fonction des résultats des tests de charge adaptés à votre activité spécifique.
Nombre total de lignes à analyser
Complexité SQL
Capacité de traitement CPU estimée (lignes/s)
Temps de réponse attendu (s)
QPS (requêtes/s)
Nombre total d'UC estimé
Spécifications BE estimées
50 millions de lignes
Élevée
20 millions de lignes
2
50
63
16 UC × 4 nœuds
50 millions de lignes
Moyenne
50 millions de lignes
1,5
100
67
16 UC × 5 nœuds
50 millions de lignes
Faible
100 millions de lignes
1
200
100
32 UC × 3 nœuds
1 milliard de lignes
Élevée
20 millions de lignes
5
20
200
32 UC × 7 nœuds
1 milliard de lignes
Moyenne
50 millions de lignes
3
50
333
64 UC × 6 nœuds
1 milliard de lignes
Faible
100 millions de lignes
1
80
800
64 UC × 13 nœuds
30 milliards de lignes
Élevée
20 millions de lignes
30
10
500
64 UC × 8 nœuds
30 milliards de lignes
Moyenne
50 millions de lignes
15
20
800
64 UC × 13 nœuds
30 milliards de lignes
Faible
100 millions de lignes
15
20
400
64 UC × 6 nœuds
300 milliards de lignes
Élevée
20 millions de lignes
60
5
2083
64 UC × 33 nœuds
300 milliards de lignes
Center
50 millions de lignes
45
10
2222
64 UC × 35 nœuds
300 milliards de lignes
Faible
100 millions de lignes
45
10
1111
64 UC × 18 nœuds
Estimation du stockage des nœuds BE
L'espace de stockage total requis pour une instance StarRocks dépend de la taille brute des données, du nombre de réplicas et du taux de compression de l'algorithme utilisé.
-
Formule d'estimation
Total storage space required = Raw data size * Number of replicas / Compression ratioLes paramètres sont décrits ci-dessous :
Taille brute des données : taille d'une ligne unique × nombre total de lignes.
Nombre de réplicas : dans une architecture à stockage couplé, ce paramètre est généralement défini sur 3.
Taux de compression : StarRocks prend en charge quatre algorithmes de compression : zlib, Zstandard (ou zstd), LZ4 et Snappy, classés par ordre décroissant de taux de compression. Ces algorithmes offrent des taux de compression allant de 3:1 à 5:1.
-
Exemples de données
Taille d'une ligne unique (Ko)
Nombre d'enregistrements de lignes
Nombre de réplicas
Taux de compression
Taille des données estimée (Go)
50
100 000 000
3
3
4 768,37
RemarqueLes valeurs du tableau sont fournies à titre indicatif. Dans un environnement de production, vous devez évaluer les ressources finales requises en fonction des résultats des tests de charge adaptés à votre activité spécifique.
Planification des disques des nœuds BE
La formule d'estimation est la suivante.
Total disk size per BE node = Total storage space / Disk utilization / Number of BE nodes
Les paramètres sont décrits ci-dessous :
Espace de stockage total : espace de stockage total calculé pour les nœuds BE.
Utilisation du disque : un taux d'utilisation de 80 % est recommandé afin de réserver les 20 % restants de l'espace pour les opérations de calcul.
Nombre de nœuds BE : nombre de nœuds BE déterminé lors de l'estimation des unités de calcul (CU).
Par exemple, si l'espace de stockage total est de 4 768 Go, l'utilisation du disque est de 80 % et qu'il y a 11 nœuds BE, le calcul est 4768 GB / 80% / 11 = 541 GB. Par conséquent, la taille totale du disque pour un seul nœud BE est de 541 Go.
Sélection du nombre de disques
Le nombre de disques à sélectionner dépend des performances des disques SSD d'entreprise (ESSD) et de la capacité totale du disque d'un seul nœud. Pour optimiser les performances d'un disque unique, vous pouvez fractionner les disques ESSD PL1 comme indiqué dans le tableau suivant.
|
Taille totale du disque par nœud BE |
Type de disque |
Nombre de disques recommandé |
|
<= 500 Go |
ESSD PL1 |
1 |
|
500 Go à 1 To |
ESSD PL1 |
1 à 2 |
|
1 To à 1,5 To |
ESSD PL1 |
2 à 3 |
|
1,5 To à 2 To |
ESSD PL1 |
3 à 4 |
|
2 To à 2,5 To |
ESSD PL1 |
4 à 5 |
|
2,5 To à 3 To |
ESSD PL1 |
5 à 6 |
|
3 To à 3,5 To |
ESSD PL1 |
6 à 7 |
|
3,5 To à 4 To |
ESSD PL1 |
7 à 8 |
|
> 4 To |
ESSD PL1 |
8 blocs |
Les limites de performance pour les autres disques cloud ESSD sont les suivantes :
ESSD PL0 : atteint les IOPS maximales du disque à 320 Go.
ESSD PL1 : atteint les IOPS maximales du disque à 460 Go.
ESSD PL2 : atteint les IOPS maximales du disque à 1 260 Go.
ESSD PL3 : atteint les IOPS maximales du disque à 7 760 Go.
Pour optimiser les performances, reportez-vous aux recommandations de fractionnement des disques pour ESSD PL1 et ajustez le nombre de disques pour les autres types ESSD en conséquence.
Estimation des spécifications des nœuds FE
Les nœuds Frontend (FE) sont principalement responsables de la gestion des métadonnées, de la gestion des connexions client, de la planification des requêtes et de leur ordonnancement.
Vous pouvez estimer approximativement les spécifications des nœuds FE en fonction du nombre total d'unités de calcul (CU) des nœuds BE. Le tableau suivant fournit des recommandations spécifiques. Le disque de données d'un nœud FE nécessite généralement seulement 100 Go. Si l'espace de stockage devient insuffisant, vous pouvez procéder à une mise à l'échelle séparée.
|
Nombre total d'UC BE |
Type de scénario |
Spécifications FE recommandées |
|
< 120 UC |
Scénario normal |
8 UC × 3 |
|
120 UC à 1 000 UC |
Scénario normal |
16 UC × 3 |
|
1 000 UC à 3 000 UC |
Scénario normal |
32 UC × 3 |
|
>= 3 000 UC |
Scénario normal |
64 UC × 3 |
Les valeurs du tableau sont fournies à titre indicatif. Dans un environnement de production, vous devez évaluer les ressources finales requises en fonction des résultats des tests de charge adaptés à votre activité spécifique.
Pour les scénarios de requêtes ponctuelles à forte concurrence, envisagez d'augmenter le nombre de nœuds frontend. Par exemple, vous pouvez porter ce nombre à cinq.
Édition à architecture découplée
Dans l'édition à architecture découplée, une instance ne contient que des nœuds FE et des nœuds de calcul (CN).
Estimation du nombre d'unités de calcul (CU) pour les nœuds CN
Pour plus d'informations, reportez-vous à Estimation du nombre d'unités de calcul (CU) pour les nœuds BE.
Estimation du stockage des nœuds CN
Le stockage des nœuds CN est principalement utilisé pour les données mises en cache.
-
Formule d'estimation
Total storage space required = Raw data size / Compression ratio * Hot data percentageLes paramètres sont les suivants :
Taille brute des données : taille d'une ligne unique × nombre total de lignes.
Taux de compression : StarRocks prend en charge quatre algorithmes de compression : zlib, Zstandard (ou zstd), LZ4 et Snappy, classés par ordre décroissant de taux de compression. Ces algorithmes offrent des taux de compression allant de 3:1 à 5:1.
Pourcentage de données chaudes : estimez le pourcentage de données fréquemment interrogées (données chaudes) en fonction de vos besoins métier. Par exemple, vous pouvez définir cette valeur sur 50 %. Si vous n'êtes pas certain du pourcentage exact mais souhaitez garantir des performances de requête suffisantes pour l'instance à architecture découplée, définissez cette valeur sur 100 %. Cela équivaut à la taille d'un réplica. Étant donné que l'index de clé primaire utilise également de l'espace disque de cache, une marge de sécurité de 20 % est recommandée. Par conséquent, le paramètre recommandé est de 120 %.
-
Exemples de données
Taille d'une ligne unique (Ko)
Nombre d'enregistrements de lignes
Taux de compression
Pourcentage de données chaudes
Taille des données estimée (Go)
50
100 000 000
3
120 %
1 907,35
RemarqueLes valeurs du tableau sont fournies à titre indicatif. Dans un environnement de production, vous devez évaluer les ressources finales requises en fonction des résultats des tests de charge adaptés à votre activité spécifique.
Pour obtenir des informations sur la taille et la quantité de disques pour un seul nœud CN, reportez-vous à Planification des disques des nœuds BE.
Estimation des spécifications des nœuds FE
Pour plus d'informations, reportez-vous à Estimation des spécifications des nœuds FE.