Meilleures pratiques en matière de modèles et de données ThingWorx > Gestion des données > Partitionnement des données d'exécution > Utilisation du script et du planificateur de détachement des anciennes partitions
Utilisation du script et du planificateur de détachement des anciennes partitions
Le détachement des partitions existantes peut aider à gérer plus efficacement les value_stream_tables volumineuses. Ce processus peut être effectué par le biais d'opérations de ligne de commande et du planificateur.
Pour une table value_stream contenant une grande quantité de données, les analyses de table peuvent entraîner des opérations de purge très longues et augmenter la charge globale du serveur. L'utilisation d'opérations de partitionnement par abandon peut rationaliser ce problème.
Après avoir partitionné la table value_stream avec la ligne de commande partition_value_stream_by_range_setting (Partitionnement d'une table value_stream dans PostgreSQL), vous pouvez utiliser la commande detach_partitions_from_value_stream pour abandonner ou archiver les partitions créées plus facilement et plus rapidement.
Ce processus peut être effectué par le biais d'opérations de ligne de commande et du planificateur pour maintenir l'archive des partitions ou le processus de maintenance.
Le script nommé detach_partitions_from_value_stream possède les paramètres de ligne de commande suivants :
Nom de paramètre
Description
Valeur par défaut
Commentaire
hôte
Hôte de la base de données
Obligatoire
port
Port de la base de données
Obligatoire
database
Nom de la base de données dans laquelle se trouve la table value_stream
Obligatoire
username
Utilisateur de la base de données
Obligatoire
password
Mot de passe de la base de données
Obligatoire
interval_to_retain
Intervalle calculé de conservation = heure actuelle moins 26 heures (différence de fuseau horaire maximale) moins la valeur interval_to_retain donnée.
Obligatoire
Formats possibles :
1h ou hours
1d ou 1day
1 month
1y ou 1year
action
Action d'abandon ou d'archivage des partitions
Obligatoire
Valeurs possibles :
'drop'
'archive'
value_stream_archive_name
Nom de la table de flux de valeurs archivée
'value_stream_archive'
Si vous modifiez le nom par défaut, n'utilisez pas les noms suivants :
value_stream_part_0,
value_stream_old,
value_stream_tmp,
ni le nom de toute table ou partition existante.
future_data_exists
Facultatif
non
Valeurs possibles :
yes ou no
Si la valeur est yes (facultatif), le script prendra en charge le partitionnement des données à l'avenir
Si vous choisissez l'action drop, les partitions complètes antérieures à interval_to_retain seront détachées de la table value_stream et abandonnées.
Si vous choisissez l'action archive, les partitions complètes antérieures à interval_to_retain seront détachées de la table value_stream et attachées à la table value_stream_archive (ou à une autre table définie dans le paramètre d'entrée value_stream_archive_name).
Par exemple, si vous choisissez la valeur 1h pour interval_to_retain, les partitions complètes datant de plus de 1 heure seront détachées et abandonnées ou archivées selon le paramètre action.
* 
A des fins de récupération, clonez ou sauvegardez la base de données avant de lancer le processus de partitionnement.
Pour utiliser la ligne de commande detach_partitions_from_value_stream, procédez comme suit :
1. Téléchargez le script detach_partitions_from_value_stream.sh. Demandez l'emplacement de téléchargement au Support PTC.
2. Copiez le script sur un serveur connecté à la base de données ThingWorx.
3. Ouvrez une ligne de commande et exécutez la commande comme vous le souhaitez à l'aide des paramètres ci-dessus.
Par exemple, ./detach_partitions_from_value_stream.sh -host <localhost> -port <port> -database <database> -username <username> -password <password> -interval_to_retain '1h' -action 'archive'.
Utilisation du planificateur
Vous pouvez utiliser le planificateur de tâches Windows ou d'autres planificateurs de système d'exploitation pour exécuter le script detach_partitions_from_value_stream sh, par exemple pour une exécution mensuelle.
Vous pouvez également écrire un autre script que le planificateur exécutera. Ce script supplémentaire exécutera detach_partitions_from_value_stream avec les paramètres mentionnés dans l'exemple d'utilisation.
Est-ce que cela a été utile ?