Prácticas recomendadas de modelo y datos de ThingWorx > Gestión de datos > Depuración de datos de tiempo de ejecución
Depuración de datos de tiempo de ejecución
Resumen
Es fácil infravalorar la cantidad de datos que se generan y almacenan en un sistema de producción. Aunque PTC no proporciona una recomendación oficial sobre la cantidad de datos que se deben almacenar, ya que depende en gran medida del caso de uso, se recomienda disponer de un plan para que cualquier sistema de producción depure los datos antiguos por motivos de rendimiento. Al planificar la depuración de datos, se debe tener en cuenta lo siguiente:
¿Cuántas propiedades se registran?
¿Cuántas cosas tienen propiedades registradas?
¿Con qué frecuencia se registran las propiedades?
¿Se deben archivar los datos para los registros? Consulte la sección Datos de tiempo de ejecución.
En general, si se registran datos cada par de minutos para unas cuantas propiedades en un par de cientos de dispositivos Edge, los datos se pueden conservar desde varios meses a un año. Si los datos se registran varias veces por minuto para 100 propiedades de mil cosas diferentes, es posible que sea necesario depurar incluso varias semanas de datos antiguos. Se recomienda consultar y depurar datos en pequeños fragmentos de manera continua. La creación de una depuración programada con mayor frecuencia (diariamente en lugar de semanalmente) ayudará a mejorar el rendimiento.
Si fuera necesario un almacenamiento de datos durante más de un año, PTC recomienda utilizar una base de datos externa para el almacenamiento.
Procedimiento para depurar datos
Aunque el código de JavaScript para depurar datos variará en función del escenario, los siguientes pasos generales serán los mismos:
1. Cree una nueva cosa y defina su valor de Plantilla de cosa base en Scheduler.
2. Abra la sección Configuración y defina las propiedades runAsUser y schedule.
Consulte https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm para obtener información sobre el formato adecuado para la propiedad schedule.
En función de la depuración, se debe esperar que el uso de JVM aumente durante el trabajo. Por lo tanto, es mejor dividir los trabajos grandes en otros más pequeños durante las horas de poca actividad.
3. Seleccione Suscripciones y pulse en el botón Añadir.
4. En la sección Información de suscripción, seleccione Yo y marque Activado.
5. Pulse en Entradas.
6. En el campo Evento, seleccione ScheduledEvent.
7. Añada detalles de JavaScript para el trabajo de depuración.
* 
Para los servicios de flujo y flujo de valor, si no se proporciona una fecha de inicio, se depurarán todos los valores, comenzando por la época. Si no se proporciona una fecha de fin, se depurarán todas las propiedades hasta el momento en que se ejecuta el servicio.
Prácticas recomendadas de Scheduler
No se debe suscribir a un evento de temporizador o programador en el nivel de plantilla de cosa. En su lugar, se debe suscribir a la cosa.
No se deben consultar grandes cantidades de datos en temporizadores que se inicien con frecuencia. Para obtener más información, consulte este artículo en PTC Community.
Siempre que sea posible, no se debe realizar una consulta y, a continuación, actualizar el mismo origen de datos en una suscripción. En su lugar, se debe consultar un flujo de una tabla de datos una vez en cada suscripción y otra vez al final del trabajo de Scheduler, si fuera necesario (mediante instrucciones de actualización por lotes).
Depuración de flujos de valor, flujos y almacenes de ficheros
Consulte Best Practice for Purging Value Streams, Streams, and Old File Repository Files in ThingWorx para obtener más información sobre la depuración de datos.