Estoy tratando de desarrollar una pequeña herramienta de informes (con sqlite backend). Puedo describir mejor esta herramienta como un libro de contabilidad de "transacciones". Lo que intento hacer es realizar un seguimiento de las "transacciones" del extracto de datos semanal:
- "nuevo" (o agregar): el recurso es nuevo para mi aplicación, ya que es posible que mi aplicación no haya rastreado este recurso antes, ya que no se ha visto a través de extractos.
- "actualizar" (o hit): hay un uso reciente de ese recurso, actualizar el período de retención por otra semana.
- "eliminar" (o soltar): este elemento no se utilizó desde el último informe (opcional, pero sería bueno tenerlo para representar gráficamente los cambios semanales en la demanda de recursos).
Todo lo que tengo es un extracto de datos semanal (archivo plano delimitado por tuberías) que proviene de un sistema de archivo / gestión de registros heredado sobre el que no tengo control.
Cada línea se puede destilar básicamente a esto:
resource_id | resource info | customer_id | customer_info
Data de muestra:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
El objetivo es facilitar la presentación de informes sobre los recursos que no se han utilizado durante X meses (según el último resultado). Hay un período de retención donde los recursos se mantienen para facilitar el acceso si son populares. Un recurso que no se ha usado durante 18 meses está marcado para el archivo a largo plazo en otros lugares.
Esto debe ser un problema común. ¿Se pregunta si existe un algoritmo de propósito general para determinar qué hay de nuevo / igual / eliminado entre los conjuntos de datos (DB vs. último extracto)?