Estou tentando desenvolver uma pequena ferramenta de relatório (com back-end sqlite). Posso descrever melhor essa ferramenta como um razão de "transação". O que estou tentando fazer é acompanhar as "transações" da extração semanal de dados:
- "novo" (ou adicionar) - o recurso é novo no meu aplicativo, pois ele pode não ter rastreado esse recurso antes, pois não foi visto por meio de extrações.
- "update" (ou hit) - há um uso recente desse recurso, atualize o período de retenção por mais uma semana.
- "excluir" (ou soltar) - esse item não foi utilizado desde o último relatório (opcional, mas seria bom ter um gráfico das alterações semana a semana na demanda por recursos).
Tudo o que tenho é uma extração semanal de dados (arquivo simples delimitado por canal) proveniente de um sistema legado de arquivamento / gerenciamento de registros sobre o qual não tenho controle.
Cada linha pode ser destilada para basicamente isso:
resource_id | resource info | customer_id | customer_info
Dados de amostra:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
O objetivo é facilitar o relatório de recursos que não são usados por X-meses (com base no último hit). Há um período de retenção em que os recursos são mantidos para facilitar o acesso, se populares. Um recurso que não é utilizado há 18 meses está marcado para arquivamento de longo prazo em outros lugares.
Este deve ser um problema comum. Querendo saber se existe um algoritmo de uso geral para determinar o que há de novo / o mesmo / removido entre os conjuntos de dados (db vs. última extração)?