Artículo
· 30 sep, 2019 Lectura de 2 min

Por qué es importante mantener la integridad al purgar los datos de HealthShare/Ensemble

¡Hola a tod@s!

Cuando se ejecuta la tarea integrada de Purga en Ensemble (Ens.Util.Tasks.Purge) existen tres parámetros: DaysToKeep, BodiesToo y KeepIntegrity. Este artículo se centra en el parámetro de tipo booleano KeepIntegrity, pero podéis encontrar más información sobre cómo ejecutar esta tarea en el siguiente link:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

KeepIntegrity determina qué mensajes de Ensemble se marcan para ser borrados dentro del tiempo especificado en el parámetro DaysToKeep.

Si KeepIntegrity se marca como true, la depuración solo marcará los mensajes "completados" para su eliminación. Un mensaje completado es aquel cuyo estado es Completo, Error, Abortado o Descartado. Los mensajes incompletos no se marcarán para su eliminación.

Al establecer KeepIntegrity como true, debemos ser conscientes de las consecuencias. En particular, la depuración llevará más tiempo. Esto se debe a la sobrecarga de la comprobación del valor de estado de cada mensaje. Por ello, mucha gente marca KeepIntegrity como "false" para acelerar la depuración.

Además, marcar KeepIntegrity como false también puede tener otras consecuencias. La más importante es que los mensajes en proceso se borrarán. En las versiones actuales de HealthShare/Ensemble, esto incluye procesos de sistemas que dependen de mensajes, como el Scheduler. Es decir, que el Scheduler fallará y será necesario reiniciar la producción para que se resuelva.

A la luz de estas posibles desventajas, una estrategia para gestionar la eliminación de datos es utilizar una configuración de doble tarea de depuración.

La primera tarea de depuración tiene un número bajo de días para DaysToKeep (por ejemplo, 7) mientras KeepIntegrity es true. Esto mantendrá todos los mensajes que estén incompletos y a la vez borrará la mayoría de los mensajes para que la base de datos se mantenga en un tamaño manejable.

Mientras que la otra tarea se encarga de la mayor parte del mensaje, la segunda tarea de depuración tendrá KeepIntegrity como false y un gran número para DaysToKeep (por ejemplo, 90). Esto depurará todos los mensajes más antiguos que lo establecido como DaysToKeep. Con frecuencia, los mensajes más antiguos que este valor son irrelevantes, ya que han sido reenviados o tratados fuera de HealthShare/Ensemble.

Como para la mayoría de los ajustes y configuraciones en HealthShare/Ensemble, el valor sugerido para un ajuste específico depende de con qué fin utilice el software.

Comentarios (0)1
Inicie sesión o regístrese para continuar