私は小さなレポートツール(sqliteバックエンド)を開発しようとしています。このツールは「トランザクション」元帳として最もよく説明できます。私がやろうとしていることは、毎週のデータ抽出からの「トランザクション」を追跡することです。
- 「新規」(または追加)- 抽出によって表示されていないため、アプリがこのリソースを以前に追跡していない可能性があるため、リソースはアプリにとって新しいものです。
- 「更新」(またはヒット)-そのリソースが最近使用されており、保存期間がもう1週間更新されています。
- 「削除」(またはドロップ)-このアイテムは、前回のレポート以降、使用されていません(オプションですが、リソースの需要の週ごとの変化をグラフ化するには便利です)。
私が持っているのは、私が制御できないレガシーのアーカイブ/レコード管理システムからの毎週のデータ抽出(パイプ区切りのフラットファイル)だけです。
各行は基本的にこれに蒸留することができます:
resource_id | resource info | customer_id | customer_info
サンプルデータ:
10| Title X | 1 | Bob
11| Another title | 1 | Bob
10| Title X | 2 | Alice
目標は、(最後のヒットに基づいて)Xか月間使用されていないリソースについて簡単にレポートできるようにすることです。リソースが人気がある場合、アクセスを容易にするためにリソースが保持される保持期間があります。18か月間使用されていないリソースは、他の場所で長期アーカイブ用にマークされています。
これは一般的な問題です。データセット間で何が新しい/同じ/削除されたかを判断するための汎用アルゴリズムがあるかどうか(dbと最新の抽出)