Ce document explique comment optimiser le moteur de colonnes pour une instance AlloyDB. Dans ce document, nous partons du principe que vous connaissez bien PostgreSQL.
Ajuster les ressources de processeur pour les tâches de maintenance
L'exemple suivant montre comment configurer le moteur de colonnes pour qu'il utilise 50% des cœurs de processeur:
google_job_scheduler.maintenance_cpu_percentage = 50
Le moteur de données en colonnes utilise jusqu'à 20% des cœurs de processeur pour les tâches de maintenance en arrière-plan, telles que l'insertion, l'actualisation et les recommandations. Pour ajuster les ressources de processeur afin de permettre les tâches de maintenance, définissez l'indicateur google_job_scheduler.maintenance_cpu_percentage
sur une valeur comprise entre 20
et 100
. La valeur par défaut est 20
. La charge d'utilisation du processeur la plus faible pour les tâches de maintenance en arrière-plan est de 1 vCPU.
Ajouter des nœuds de calcul pour accélérer la maintenance en colonnes
L'exemple suivant montre comment définir quatre processus de travail:
google_job_scheduler.max_parallel_workers_per_job = 4
Le moteur de données en colonnes utilise jusqu'à deux processus de travail pour les tâches en arrière-plan d'insertion et d'actualisation. Pour accélérer ces opérations, définissez l'indicateur suivant afin d'augmenter le nombre de processus de travail pour les tâches en arrière-plan. La valeur par défaut est de deux processus de travail. Ces processus s'exécutent sur des ressources de processeur limitées, comme indiqué dans l'indicateur google_job_scheduler.maintenance_cpu_percentage
. Cette option ne nécessite pas de redémarrer de base de données.
Modifier la planification de la structuration en colonnes automatique
L'exemple suivant montre comment définir la planification de la structuration automatique en colonnes sur six heures:
google_columnar_engine.auto_columnarization_schedule = 'EVERY 6 HOURS'
La planification de la colonnerisation automatique peut être définie dans l'indicateur google_columnar_engine.auto_columnarization_schedule
en fonction des charges de travail impliquant de nombreux scans prévues. Spécifiez une ou plusieurs heures pour cette option. La modification de la valeur de cet indicateur ne nécessite pas de redémarrer la base de données.
Remplir manuellement le moteur de données en colonnes
L'exemple suivant montre comment renseigner manuellement le moteur de colonnes:
google_columnar_engine.enable_auto_columnarization = OFF
Si vous préférez renseigner manuellement uniquement le moteur de colonnes, définissez l'indicateur google_columnar_engine.enable_auto_columnarization
sur OFF
. La valeur par défaut de cet indicateur est ON
. La modification de la valeur de cet indicateur ne nécessite pas de redémarrer la base de données.
Pour en savoir plus, consultez Gérer le contenu manuellement.
Ajuster la taille de la pile de population du moteur de données en colonnes
L'exemple suivant montre comment configurer l'indicateur google_columnar_engine.population_heap_size_in_mb
:
population_heap_size_in_mb = 250
Pour convertir les données au format colonne, le moteur de colonnes alloue la quantité de mémoire en mégaoctets spécifiée par l'indicateur google_columnar_engine.population_heap_size_in_mb
. Une fois la conversion terminée, cette mémoire est immédiatement désallouée, généralement en quelques secondes.
Les valeurs autorisées pour le paramètre population_heap_size_in_mb
vont de 200 Mo minimum à 1 000 Mo maximum.
La valeur par défaut de 250 Mo pour l'indicateur population_heap_size_in_mb
convient à la plupart des utilisations de base de données standards. Toutefois, il se peut que vous deviez augmenter cette valeur dans certains cas.