Purge des données d'exécution
Vue d'ensemble
Il est aisé de sous-estimer la quantité de données générées et stockées sur un système de production. Même si PTC ne formule pas de recommandation officielle en ce qui concerne le volume de données à stocker, car il dépend fortement du cas d'utilisation, il est conseillé de mettre en place un plan pour tout système de production permettant de purger les données anciennes aux fins du maintien des performances. Lors de la planification de la purge des données, il convient de prendre en compte les éléments suivants :
Quel est le nombre de propriétés journalisées ?
Combien d'objets ont des propriétés journalisées ?
A quelle fréquence ces propriétés sont-elles journalisées ?
Les données doivent-elles être archivées ? Consultez la section Données d'exécution.
En général, si les données sont journalisées toutes les deux minutes pour quelques propriétés sur quelques centaines de périphériques Edge, les données peuvent être conservées sur une durée de quelques mois à un an. Si les données sont journalisées plusieurs fois par minute pour 100 propriétés sur un millier d'objets différents, il pourra être nécessaire que la purge couvre plusieurs semaines de données anciennes. Il est recommandé d'interroger et de purger les données par petits fragments de manière continue. La création d'une purge planifiée sur une base plus fréquente (quotidienne plutôt qu'hebdomadaire) vous aidera à maintenir les performances.
Si les données doivent être stockées pendant plus d'un an, PTC recommande d'utiliser une base de données externe pour le stockage.
Comment purger vos données
Le JavaScript de purge des données sera différent selon le scénario, mais les étapes générales suivantes sont applicables dans tous les cas :
1. Créez un nouvel objet et définissez son Modèle d'objet de base sur Planificateur.
2. Ouvrez la section Configuration et définissez les propriétés runAsUser et schedule.
Pour plus d'informations sur le formatage approprié de la propriété schedule, consultez la page https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm.
Selon la purge, une augmentation de l'utilisation de la JVM est à prévoir pendant la tâche. Par conséquent, il est préférable de diviser les tâches volumineuses en plus petites tâches à exécuter sur les heures creuses.
3. Sélectionnez Abonnements, puis cliquez sur le bouton Ajouter.
4. Dans la section Infos abonnement, sélectionnez Moi et cochez la case Activé.
5. Cliquez sur Entrées.
6. Dans le champ Evénement, sélectionnez ScheduledEvent.
7. Ajoutez les détails JavaScript pour la tâche de purge.
* 
Pour les services de flux et de flux de valeurs, si aucune date de début n'est fournie, toutes les valeurs seront purgées, en commençant à l'epoch. Si aucune date de fin n'est fournie, toutes les propriétés jusqu'à l'exécution du service seront purgées.
Meilleures pratiques applicables pour les planificateurs
Evitez de vous abonner à un événement minuterie/planificateur au niveau du modèle d'objet. Abonnez-vous plutôt sur l'objet.
Evitez d'interroger de grandes quantités de données sur des minuteries qui se déclenchent fréquemment. Pour plus d'informations, consultez cet article sur le site Web de la Communauté PTC.
Dans la mesure du possible, évitez d'interroger, puis de mettre à jour la même source de données dans un abonnement. Interrogez plutôt un flux de table de données une fois dans chaque abonnement et une nouvelle fois à la fin de la tâche de planificateur si nécessaire (à l'aide d'instructions de mise à jour par lots).
Purge des flux de valeurs, des flux et des référentiels de fichiers
Pour plus d'informations sur la purge des données, consultez le document anglais Best Practice for Purging Value Streams, Streams, and Old File Repository Files in ThingWorx (Bonnes pratiques en matière de purge des flux de valeurs, des flux et des anciens fichiers de référentiel de fichiers dans ThingWorx).