Prácticas recomendadas de modelo y datos de ThingWorx > Gestión de datos > Partición de datos de tiempo de ejecución > Uso de scripts y el programador para desconectar particiones antiguas
Uso de scripts y el programador para desconectar particiones antiguas
La desconexión de las particiones existentes puede ayudar a gestionar elementos value_stream_tables de gran tamaño de manera más eficiente. Este proceso se puede realizar a través de operaciones de línea de comandos y el programador.
Una tabla value_stream con una gran cantidad de datos puede hacer que las operaciones de depuración tarden mucho tiempo debido a los escaneos de tabla resultantes, lo que aumenta la carga general del servidor. El uso de operaciones de soltar particiones puede simplificar este problema.
Después de particionar la tabla value_stream con la línea de comandos partition_value_stream_by_range_setting (Partición de la tabla value_stream en PostgreSQL), se puede usar el comando detach_partitions_from_value_stream para soltar o archivar las particiones creadas de manera más fácil y rápida.
Este proceso se puede realizar a través de operaciones de línea de comandos y el programador para mantener el archivo de particiones o el proceso de mantenimiento.
El script denominado detach_partitions_from_value_stream tiene los siguientes parámetros de línea de comandos:
Nombre del parámetro
Descripción
Valor por defecto.
Comentario
host
host de base de datos
Obligatorio
port
puerto de base de datos
Obligatorio
database
nombre de la base de datos donde existe la tabla value_stream
Obligatorio
username
usuario de base de datos
Obligatorio
password
contraseña de la base de datos
Obligatorio
interval_to_retain
Intervalo calculado para conservar = hora actual menos 26 horas (diferencia máxima de zona horaria) menos el elemento interval_to_retain dado.
Obligatorio
Formatos posibles:
1h u hours
1d o 1day
1 month
1y o 1year
action
Acción de soltar o archivar particiones
Obligatorio
Valores posibles:
‘drop’
‘archive’
value_stream_archive_name
Nombre de tabla de flujo de valor archivado
'value_stream_archive'
Si se cambia el nombre por defecto, no se deben utilizar los siguientes nombres:
value_stream_part_0,
value_stream_old,
value_stream_tmp,
ni ninguna tabla o partición existente.
future_data_exists
Opcional
no
Valores posibles:
yes o no
Si = yes (opcional), el script soportará la partición de datos futura
Si se elige la acción drop, las particiones completas anteriores a interval_to_retain se desconectarán de la tabla value_stream y se soltarán.
Si se elige la acción archive, las particiones completas más antiguas que el valor de interval_to_retain se desconectarán de la tabla value_stream y se adjuntarán a la tabla value_stream_archive (u otra tabla definida en el parámetro de entrada value_stream_archive_name).
Por ejemplo, si se elige interval_to_retain como 1h, las particiones completas con una antigüedad mayor que 1 hora se desconectarán y se soltarán o archivarán según el parámetro action.
* 
Para fines de recuperación, clone o realice una copia de seguridad de la base de datos antes de iniciar el proceso de creación de particiones.
Para utilizar la línea de comandos detach_partitions_from_value_stream, haga lo siguiente:
1. Descargue el script detach_partitions_from_value_stream.sh. Solicite la ubicación de descarga al soporte técnico de PTC.
2. Copie el script en un servidor conectado a la base de datos de ThingWorx.
3. Abra una línea de comandos y ejecute el comando según sea necesario con los parámetros anteriores.
Por ejemplo, ./detach_partitions_from_value_stream.sh -host <localhost> -port <port> -database <database> -username <username> -password <password> -interval_to_retain '1h' -action 'archive'.
Uso del programador
Se puede utilizar el Programador de tareas de Windows u otros programadores del sistema operativo para ejecutar el script detach_partitions_from_value_stream sh, por ejemplo, para una ejecución mensual.
También se puede escribir otro script que el programador ejecutará. Este script adicional ejecutará detach_partitions_from_value_stream con los parámetros mencionados en el ejemplo de uso.
¿Fue esto útil?