Pour une présentation conceptuelle du moteur de données en colonnes AlloyDB, consultez Présentation du moteur de données en colonnes AlloyDB Omni.
Activer le moteur de données en colonnes
Pour utiliser le moteur de données en colonnes sur une instance, définissez l'option google_columnar_engine.enabled de l'instance sur on.
Pour définir le paramètre google_columnar_engine.enabled sur on, procédez comme suit :
Ouvrez le fichier manifeste de votre cluster de bases de données
DBCluster.Dans la section
primarySpec, ajoutez le paramètregoogle_columnar_engine.enabledau blocparameters:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "on"Remplacez
DB_CLUSTER_NAMEpar le nom du cluster de bases de données.L'orchestrateur RPM redémarre automatiquement la base de données pour appliquer les modifications de paramètres. Appliquez le fichier manifeste
DBClustermis à jour à l'aide de l'une des méthodes suivantes :alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Ansible
Créez un fichier playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster via SSH.SSH_KEY_PATH: chemin d'accès local au fichier de clé privée SSH utilisé pour se connecter à vos nœuds.
Exécutez le playbook à partir de votre nœud de contrôle, en transmettant la spécification de ressource en tant que variable supplémentaire :
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Configurer la taille du store orienté colonnes
Lorsque le moteur de données en colonnes est activé sur une instance, AlloyDB Omni alloue une partie de la mémoire de l'instance pour stocker ses données en colonnes. En dédiant de la RAM haut débit à votre store orienté colonnes, vous vous assurez qu'AlloyDB Omni peut accéder aux données en colonnes le plus rapidement possible.
La mémoire et le cache de stockage représentent ensemble la capacité globale du moteur de données en colonnes.
Configurer la mémoire
Vous pouvez définir l'allocation sur une taille fixe à l'aide de l'option google_columnar_engine.memory_size_in_mb.
Pour définir le paramètre google_columnar_engine.memory_size_in_mb, procédez comme suit :
Ouvrez le fichier manifeste de votre cluster de bases de données
DBCluster.Dans la section
primarySpec, ajoutez la configuration du moteur de données en colonnes au blocparameters:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "on" google_columnar_engine.memory_size_in_mb: "MEMORY_SIZE_MB"Remplacez les éléments suivants :
DB_CLUSTER_NAME: nom du cluster de bases de données.MEMORY_SIZE_MB: quantité de mémoire, en mégaoctets, à allouer au moteur de données en colonnes.
L'orchestrateur RPM redémarre automatiquement la base de données pour appliquer les modifications de paramètres. Appliquez le fichier manifeste
DBClustermis à jour à l'aide de l'une des méthodes suivantes :alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Ansible
Créez un fichier playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster via SSH.SSH_KEY_PATH: chemin d'accès local au fichier de clé privée SSH utilisé pour se connecter à vos nœuds.
Exécutez le playbook à partir de votre nœud de contrôle, en transmettant la spécification de ressource en tant que variable supplémentaire :
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Configurer le cache de stockage
Vous pouvez configurer le cache de stockage du moteur de données en colonnes sur des appareils dédiés ou partagés.
Appareils dédiés
Pour configurer un appareil dédié pour le cache de stockage du moteur de données en colonnes, procédez comme suit :
Ouvrez le fichier manifeste de votre cluster de bases de données
DBCluster.Dans la section
primarySpec, ajoutez l'attributcolumnarSpillToDiskaveccacheSizeetlocalVolume.pathau blocfeatures:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... features: columnarSpillToDisk: cacheSize: STORAGE_CACHE_SIZE localVolume: path: COLUMNAR_CACHE_DIR_PATHRemplacez les éléments suivants :
DB_CLUSTER_NAME: nom du cluster de bases de données.STORAGE_CACHE_SIZE: limite de taille du cache de stockage du moteur de données en colonnes, par exemple50Gi.COLUMNAR_CACHE_DIR_PATH: chemin d'accès au système de fichiers du répertoire dédié au cache de stockage du moteur de données en colonnes, par exemple/mnt/disks/columnarcache.
Appliquez le fichier manifeste
DBClustermis à jour à l'aide dealloydbctlou d'Ansible :alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Ansible
Créez un fichier playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster via SSH.SSH_KEY_PATH: chemin d'accès local au fichier de clé privée SSH utilisé pour se connecter à vos nœuds.
Exécutez le playbook à partir de votre nœud de contrôle, en transmettant la spécification de ressource en tant que variable supplémentaire :
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Appareils partagés
Si vous ne spécifiez pas localVolume.path sous columnarSpillToDisk, le cache de stockage du moteur de données en colonnes partage le stockage du cache de disque configuré sous ultraFastCache.
Pour configurer le cache de stockage du moteur de données en colonnes sur des appareils partagés, procédez comme suit :
Ouvrez le fichier manifeste de votre cluster de bases de données
DBCluster.Dans la section
primarySpec, ajoutez les attributscolumnarSpillToDisketultraFastCacheau blocfeatures:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... features: columnarSpillToDisk: cacheSize: STORAGE_CACHE_SIZE ultraFastCache: cacheSize: ULTRAFAST_CACHE_SIZE localVolume: path: DISK_CACHE_DIR_PATHRemplacez les éléments suivants :
DB_CLUSTER_NAME: nom du cluster de bases de données.STORAGE_CACHE_SIZE: taille du cache de stockage en colonnes, par exemple50Gi. Si vous ne spécifiez pas de valeur pour ce champ, 5 % du cache du disque sont alloués par défaut au moteur de données en colonnes.ULTRAFAST_CACHE_SIZE: taille maximale du tampon de cache ultrarapide réservé par AlloyDB Omni (par exemple,100Gi). Si ce paramètre n'est pas défini, tout l'espace disque restant surlocalVolume.pathest utilisé.DISK_CACHE_DIR_PATH: chemin d'accès au dossier des fichiers de cache ultrarapide (par exemple,/mnt/disks/chillcache).
Appliquez le fichier manifeste
DBClustermis à jour à l'aide dealloydbctlou d'Ansible :alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Ansible
Créez un fichier playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster via SSH.SSH_KEY_PATH: chemin d'accès local au fichier de clé privée SSH utilisé pour se connecter à vos nœuds.
Exécutez le playbook à partir de votre nœud de contrôle, en transmettant la spécification de ressource en tant que variable supplémentaire :
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Activer la jointure vectorisée
Le moteur de données en colonnes dispose d'une fonctionnalité de jointure vectorisée qui peut améliorer les performances des jointures en appliquant un traitement vectorisé aux requêtes éligibles.
Une fois la jointure vectorisée activée, le planificateur de requêtes AlloyDB peut appliquer l'opérateur de jointure vectorisée au lieu de l'opérateur de jointure de hachage PostgreSQL standard. Le planificateur prend cette décision en comparant le coût d'exécution de la requête à l'aide de chaque méthode.
Pour activer la jointure vectorisée sur une instance, définissez l'option google_columnar_engine.enable_vectorized_join de l'instance sur on.
google_columnar_engine.enable_vectorized_join: "on" à la section parameters de votre fichier manifeste DBCluster. Pour en savoir plus, consultez Configurer les paramètres de base de données AlloyDB Omni.
AlloyDB Omni alloue par défaut un thread à la fonctionnalité de jointure vectorisée. Vous pouvez augmenter le nombre de threads disponibles pour cette fonctionnalité en définissant l'option google_columnar_engine.vectorized_join_threads sur une valeur plus élevée. La valeur maximale est cpu_count * 2.
Actualiser manuellement votre moteur de données en colonnes
Par défaut, lorsque le moteur de données en colonnes est activé, il actualise le store orienté colonnes en arrière-plan.
Pour actualiser manuellement le moteur de données en colonnes, exécutez la requête SQL suivante :
SELECT google_columnar_engine_refresh(relation =>'TABLE_NAME');
Remplacez TABLE_NAME par le nom de la table ou de la vue matérialisée que vous souhaitez actualiser manuellement.
Désactiver le moteur de données en colonnes
Pour désactiver le moteur de données en colonnes sur une instance, définissez l'option google_columnar_engine.enabled sur off.
Pour définir le paramètre google_columnar_engine.enabled sur off, procédez comme suit :
Ouvrez le fichier manifeste de votre cluster de bases de données
DBCluster.Dans la section
primarySpec, définissez le paramètregoogle_columnar_engine.enabledsuroffdans le blocparameters:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # ... existing cluster configuration ... primarySpec: # ... existing primary configuration ... parameters: google_columnar_engine.enabled: "off"Remplacez
DB_CLUSTER_NAMEpar le nom du cluster de bases de données.L'orchestrateur RPM redémarre automatiquement la base de données pour appliquer les modifications de paramètres. Appliquez le fichier manifeste
DBClustermis à jour à l'aide de l'une des méthodes suivantes :alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Ansible
Créez un fichier playbook
update.yml:--- - hosts: localhost vars: update_action: "update_resource_spec" ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.updateRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster via SSH.SSH_KEY_PATH: chemin d'accès local au fichier de clé privée SSH utilisé pour se connecter à vos nœuds.
Exécutez le playbook à partir de votre nœud de contrôle, en transmettant la spécification de ressource en tant que variable supplémentaire :
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" update.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"Remplacez les éléments suivants :
DEPLOYMENT_SPEC_PATH: chemin d'accès au répertoire de spécification du déploiement.DBCLUSTER_SPECIFICATION: chemin d'accès au fichier manifesteDBClusterque vous avez modifié.
Étapes suivantes
Consultez la liste complète des indicateurs de base de données du moteur de données en colonnes.
Suivez l'atelier de programmation Accélérer les requêtes analytiques avec le moteur de données en colonnes dans AlloyDB Omni.